From 2b33d47d878334965aaf1c36d5b9c3caad9826b3 Mon Sep 17 00:00:00 2001 From: Pringled Date: Thu, 16 Apr 2026 12:25:31 +0200 Subject: [PATCH 01/19] Add more benchmarks --- benchmarks/annotations/axios.json | 78 +++ benchmarks/annotations/chi.json | 90 +++ benchmarks/annotations/click.json | 122 ++++ benchmarks/annotations/cobra.json | 90 +++ benchmarks/annotations/commons-lang.json | 90 +++ benchmarks/annotations/express.json | 90 +++ benchmarks/annotations/gin.json | 84 +++ benchmarks/annotations/gson.json | 90 +++ benchmarks/annotations/jackson-databind.json | 78 +++ benchmarks/annotations/laravel-framework.json | 90 +++ benchmarks/annotations/monolog.json | 72 +++ benchmarks/annotations/nlohmann-json.json | 122 ++++ benchmarks/annotations/phoenix.json | 122 ++++ benchmarks/annotations/rack.json | 78 +++ benchmarks/annotations/rails.json | 78 +++ benchmarks/annotations/redux.json | 90 +++ benchmarks/annotations/serde.json | 122 ++++ benchmarks/annotations/zod.json | 122 ++++ benchmarks/repos.json | 132 +++++ benchmarks/results/25f5751ef097.json | 550 ++++++++++++++++++ src/semble/index/file_walker.py | 2 + 21 files changed, 2392 insertions(+) create mode 100644 benchmarks/annotations/click.json create mode 100644 benchmarks/annotations/nlohmann-json.json create mode 100644 benchmarks/annotations/phoenix.json create mode 100644 benchmarks/annotations/serde.json create mode 100644 benchmarks/annotations/zod.json create mode 100644 benchmarks/results/25f5751ef097.json diff --git a/benchmarks/annotations/axios.json b/benchmarks/annotations/axios.json index 3466c21..301b3b4 100644 --- a/benchmarks/annotations/axios.json +++ b/benchmarks/annotations/axios.json @@ -42,5 +42,83 @@ "relevant": [{"path": "lib/core/mergeConfig.js", "start_line": 17, "end_line": 106}], "secondary": [], "category": "symbol" + }, + { + "query": "XHR browser adapter implementation", + "relevant": ["lib/adapters/xhr.js"], + "secondary": [], + "category": "semantic" + }, + { + "query": "request cancellation and abort controller support", + "relevant": ["lib/cancel/CancelToken.js"], + "secondary": [], + "category": "semantic" + }, + { + "query": "URL building and query parameter serialization", + "relevant": ["lib/helpers/buildURL.js"], + "secondary": [], + "category": "semantic" + }, + { + "query": "HTTP response settling and status code validation", + "relevant": ["lib/core/settle.js"], + "secondary": [], + "category": "semantic" + }, + { + "query": "axios default configuration and request/response transformers", + "relevant": ["lib/defaults/index.js"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how axios instances are created with custom base config", + "relevant": ["lib/core/Axios.js"], + "secondary": ["lib/axios.js"], + "category": "architecture" + }, + { + "query": "header management and case-insensitive normalization", + "relevant": ["lib/core/AxiosHeaders.js"], + "secondary": [], + "category": "semantic" + }, + { + "query": "error types and axios-specific error enrichment", + "relevant": ["lib/core/AxiosError.js"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how request and response data is transformed in the pipeline", + "relevant": ["lib/core/dispatchRequest.js"], + "secondary": ["lib/defaults/index.js"], + "category": "architecture" + }, + { + "query": "general utility functions for type checking and extending", + "relevant": ["lib/utils.js"], + "secondary": [], + "category": "semantic" + }, + { + "query": "CancelToken", + "relevant": ["lib/cancel/CancelToken.js"], + "secondary": [], + "category": "symbol" + }, + { + "query": "AxiosError", + "relevant": ["lib/core/AxiosError.js"], + "secondary": [], + "category": "symbol" + }, + { + "query": "AxiosHeaders", + "relevant": ["lib/core/AxiosHeaders.js"], + "secondary": [], + "category": "symbol" } ] diff --git a/benchmarks/annotations/chi.json b/benchmarks/annotations/chi.json index 38223b5..0c48182 100644 --- a/benchmarks/annotations/chi.json +++ b/benchmarks/annotations/chi.json @@ -28,5 +28,95 @@ "relevant": ["mux.go"], "secondary": [], "category": "symbol" + }, + { + "query": "panic recovery middleware", + "relevant": ["middleware/recoverer.go"], + "secondary": [], + "category": "semantic" + }, + { + "query": "CORS header handling middleware", + "relevant": ["middleware/cors.go"], + "secondary": [], + "category": "semantic" + }, + { + "query": "request timeout enforcement middleware", + "relevant": ["middleware/timeout.go"], + "secondary": [], + "category": "semantic" + }, + { + "query": "request throttling and concurrency limiting", + "relevant": ["middleware/throttle.go"], + "secondary": [], + "category": "semantic" + }, + { + "query": "gzip response compression middleware", + "relevant": ["middleware/compress.go"], + "secondary": [], + "category": "semantic" + }, + { + "query": "real IP extraction from forwarded headers", + "relevant": ["middleware/realip.go"], + "secondary": [], + "category": "semantic" + }, + { + "query": "URL path stripping and rewriting middleware", + "relevant": ["middleware/strip.go"], + "secondary": [], + "category": "semantic" + }, + { + "query": "HTTP redirect middleware", + "relevant": ["middleware/redirect.go"], + "secondary": [], + "category": "semantic" + }, + { + "query": "basic HTTP authentication middleware", + "relevant": ["middleware/basic_auth.go"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how middleware chains are composed and ordered", + "relevant": ["chain.go"], + "secondary": ["mux.go"], + "category": "architecture" + }, + { + "query": "route grouping with sub-routers", + "relevant": ["mux.go"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how URL parameters are extracted from path segments at request time", + "relevant": ["context.go"], + "secondary": ["tree.go"], + "category": "architecture" + }, + { + "query": "Router", + "relevant": ["mux.go"], + "secondary": [], + "category": "symbol" + }, + { + "query": "RouteContext", + "relevant": ["context.go"], + "secondary": [], + "category": "symbol" + }, + { + "query": "how chi resolves named URL parameters and wildcards during routing", + "relevant": ["tree.go"], + "secondary": ["context.go"], + "category": "architecture" } ] diff --git a/benchmarks/annotations/click.json b/benchmarks/annotations/click.json new file mode 100644 index 0000000..9f3a61a --- /dev/null +++ b/benchmarks/annotations/click.json @@ -0,0 +1,122 @@ +[ + { + "query": "how commands are structured and invoked", + "relevant": ["src/click/core.py"], + "secondary": [], + "category": "architecture" + }, + { + "query": "command group and subcommand dispatch", + "relevant": ["src/click/core.py"], + "secondary": [], + "category": "semantic" + }, + { + "query": "context management and nesting across commands", + "relevant": ["src/click/core.py"], + "secondary": [], + "category": "architecture" + }, + { + "query": "decorator API for defining commands, options, and arguments", + "relevant": ["src/click/decorators.py"], + "secondary": ["src/click/core.py"], + "category": "architecture" + }, + { + "query": "parameter type coercion and value validation", + "relevant": ["src/click/types.py"], + "secondary": [], + "category": "semantic" + }, + { + "query": "exception types for user errors and abort", + "relevant": ["src/click/exceptions.py"], + "secondary": [], + "category": "semantic" + }, + { + "query": "help text formatting and usage rendering", + "relevant": ["src/click/formatting.py"], + "secondary": [], + "category": "semantic" + }, + { + "query": "test runner for CLI commands in isolation", + "relevant": ["src/click/testing.py"], + "secondary": [], + "category": "semantic" + }, + { + "query": "terminal output, prompts, and progress bars", + "relevant": ["src/click/termui.py"], + "secondary": [], + "category": "semantic" + }, + { + "query": "global context stack and current context access", + "relevant": ["src/click/globals.py"], + "secondary": [], + "category": "semantic" + }, + { + "query": "option parser and long/short option resolution", + "relevant": ["src/click/parser.py"], + "secondary": [], + "category": "semantic" + }, + { + "query": "shell tab completion support", + "relevant": ["src/click/shell_completion.py"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how pass_context passes the Context as the first argument", + "relevant": ["src/click/decorators.py"], + "secondary": ["src/click/core.py"], + "category": "architecture" + }, + { + "query": "how multi-value options and nargs are handled", + "relevant": ["src/click/core.py"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how default values are resolved from environment variables", + "relevant": ["src/click/core.py"], + "secondary": [], + "category": "architecture" + }, + { + "query": "file and path parameter types", + "relevant": ["src/click/types.py"], + "secondary": [], + "category": "semantic" + }, + { + "query": "Command", + "relevant": ["src/click/core.py"], + "secondary": [], + "category": "symbol" + }, + { + "query": "Group", + "relevant": ["src/click/core.py"], + "secondary": [], + "category": "symbol" + }, + { + "query": "Context", + "relevant": ["src/click/core.py"], + "secondary": [], + "category": "symbol" + }, + { + "query": "CliRunner", + "relevant": ["src/click/testing.py"], + "secondary": [], + "category": "symbol" + } +] diff --git a/benchmarks/annotations/cobra.json b/benchmarks/annotations/cobra.json index c8d97a2..cbe2719 100644 --- a/benchmarks/annotations/cobra.json +++ b/benchmarks/annotations/cobra.json @@ -28,5 +28,95 @@ "relevant": ["command.go"], "secondary": [], "category": "symbol" + }, + { + "query": "help text generation and usage template formatting", + "relevant": ["help.go"], + "secondary": ["command.go"], + "category": "semantic" + }, + { + "query": "zsh shell completion generation", + "relevant": ["zsh_completions.go"], + "secondary": ["completions.go"], + "category": "semantic" + }, + { + "query": "fish shell completion generation", + "relevant": ["fish_completions.go"], + "secondary": ["completions.go"], + "category": "semantic" + }, + { + "query": "PowerShell completion generation", + "relevant": ["powershell_completions.go"], + "secondary": ["completions.go"], + "category": "semantic" + }, + { + "query": "how persistent flags are inherited by child commands", + "relevant": ["command.go"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how command suggestions work for mistyped input", + "relevant": ["command.go"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how the root command traverses the tree to find the active subcommand", + "relevant": ["command.go"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how command aliases are resolved during lookup", + "relevant": ["command.go"], + "secondary": [], + "category": "architecture" + }, + { + "query": "command hooks: PersistentPreRun, PreRun, PostRun lifecycle", + "relevant": ["command.go"], + "secondary": [], + "category": "semantic" + }, + { + "query": "error printing and exit code management", + "relevant": ["command.go"], + "secondary": [], + "category": "semantic" + }, + { + "query": "Args", + "relevant": ["args.go"], + "secondary": [], + "category": "symbol" + }, + { + "query": "CompletionOptions", + "relevant": ["completions.go"], + "secondary": [], + "category": "symbol" + }, + { + "query": "how cobra integrates pflags for typed flag values", + "relevant": ["command.go"], + "secondary": [], + "category": "architecture" + }, + { + "query": "required flags validation before command execution", + "relevant": ["command.go"], + "secondary": [], + "category": "semantic" + }, + { + "query": "documentation generation for man pages and markdown", + "relevant": ["doc/md_docs.go"], + "secondary": ["doc/man_docs.go"], + "category": "semantic" } ] diff --git a/benchmarks/annotations/commons-lang.json b/benchmarks/annotations/commons-lang.json index 9d51c0c..5002c0d 100644 --- a/benchmarks/annotations/commons-lang.json +++ b/benchmarks/annotations/commons-lang.json @@ -39,5 +39,95 @@ {"path": "src/main/java/org/apache/commons/lang3/builder/HashCodeBuilder.java", "start_line": 105, "end_line": 141}, {"path": "src/main/java/org/apache/commons/lang3/builder/IDKey.java", "start_line": 27, "end_line": 74} ] + }, + { + "query": "array utility operations and safe type conversion", + "relevant": ["src/main/java/org/apache/commons/lang3/ArrayUtils.java"], + "secondary": [], + "category": "semantic" + }, + { + "query": "null-safe object utility methods and identity helpers", + "relevant": ["src/main/java/org/apache/commons/lang3/ObjectUtils.java"], + "secondary": [], + "category": "semantic" + }, + { + "query": "boolean conversion and parsing helpers", + "relevant": ["src/main/java/org/apache/commons/lang3/BooleanUtils.java"], + "secondary": [], + "category": "semantic" + }, + { + "query": "number parsing with defaults and range checks", + "relevant": ["src/main/java/org/apache/commons/lang3/math/NumberUtils.java"], + "secondary": [], + "category": "semantic" + }, + { + "query": "exception cause chain traversal and stack trace utilities", + "relevant": ["src/main/java/org/apache/commons/lang3/exception/ExceptionUtils.java"], + "secondary": [], + "category": "semantic" + }, + { + "query": "toString builder for human-readable object descriptions", + "relevant": ["src/main/java/org/apache/commons/lang3/builder/ToStringBuilder.java"], + "secondary": [], + "category": "semantic" + }, + { + "query": "hash code builder for consistent hashCode implementation", + "relevant": ["src/main/java/org/apache/commons/lang3/builder/HashCodeBuilder.java"], + "secondary": [], + "category": "semantic" + }, + { + "query": "immutable pair container for two related values", + "relevant": ["src/main/java/org/apache/commons/lang3/tuple/Pair.java"], + "secondary": [], + "category": "semantic" + }, + { + "query": "triple container for three related values", + "relevant": ["src/main/java/org/apache/commons/lang3/tuple/Triple.java"], + "secondary": [], + "category": "semantic" + }, + { + "query": "Java runtime and OS system property helpers", + "relevant": ["src/main/java/org/apache/commons/lang3/SystemUtils.java"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how EqualsBuilder and HashCodeBuilder enforce value equality contracts", + "relevant": ["src/main/java/org/apache/commons/lang3/builder/EqualsBuilder.java"], + "secondary": ["src/main/java/org/apache/commons/lang3/builder/HashCodeBuilder.java"], + "category": "architecture" + }, + { + "query": "ArrayUtils", + "relevant": ["src/main/java/org/apache/commons/lang3/ArrayUtils.java"], + "secondary": [], + "category": "symbol" + }, + { + "query": "ExceptionUtils", + "relevant": ["src/main/java/org/apache/commons/lang3/exception/ExceptionUtils.java"], + "secondary": [], + "category": "symbol" + }, + { + "query": "ObjectUtils", + "relevant": ["src/main/java/org/apache/commons/lang3/ObjectUtils.java"], + "secondary": [], + "category": "symbol" + }, + { + "query": "class utility methods for reflection and package navigation", + "relevant": ["src/main/java/org/apache/commons/lang3/ClassUtils.java"], + "secondary": [], + "category": "semantic" } ] diff --git a/benchmarks/annotations/express.json b/benchmarks/annotations/express.json index dd82ccf..edc8ee2 100644 --- a/benchmarks/annotations/express.json +++ b/benchmarks/annotations/express.json @@ -28,5 +28,95 @@ "relevant": ["lib/response.js"], "secondary": [], "category": "symbol" + }, + { + "query": "router middleware registration and request dispatching", + "relevant": ["lib/router/index.js"], + "secondary": [], + "category": "architecture" + }, + { + "query": "individual route and its handler chain", + "relevant": ["lib/router/route.js"], + "secondary": [], + "category": "semantic" + }, + { + "query": "route layer path matching and URL parameter extraction", + "relevant": ["lib/router/layer.js"], + "secondary": [], + "category": "semantic" + }, + { + "query": "query string parsing middleware", + "relevant": ["lib/middleware/query.js"], + "secondary": [], + "category": "semantic" + }, + { + "query": "init middleware that attaches app and settings to req", + "relevant": ["lib/middleware/init.js"], + "secondary": [], + "category": "semantic" + }, + { + "query": "utility functions for content type detection and MIME handling", + "relevant": ["lib/utils.js"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how middleware is mounted and chained with use()", + "relevant": ["lib/application.js"], + "secondary": ["lib/router/index.js"], + "category": "architecture" + }, + { + "query": "error handling with next(err) and four-argument error middleware", + "relevant": ["lib/router/layer.js"], + "secondary": ["lib/router/index.js"], + "category": "architecture" + }, + { + "query": "how route params are decoded and populated on the request", + "relevant": ["lib/router/layer.js"], + "secondary": ["lib/router/route.js"], + "category": "architecture" + }, + { + "query": "how sub-applications are mounted with use() and path prefix stripping", + "relevant": ["lib/application.js"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how express creates the app function and attaches prototype methods", + "relevant": ["lib/express.js"], + "secondary": ["lib/application.js"], + "category": "architecture" + }, + { + "query": "Router", + "relevant": ["lib/router/index.js"], + "secondary": [], + "category": "symbol" + }, + { + "query": "Route", + "relevant": ["lib/router/route.js"], + "secondary": [], + "category": "symbol" + }, + { + "query": "application", + "relevant": ["lib/application.js"], + "secondary": [], + "category": "symbol" + }, + { + "query": "how the application inherits from the prototype router", + "relevant": ["lib/application.js"], + "secondary": ["lib/router/index.js"], + "category": "architecture" } ] diff --git a/benchmarks/annotations/gin.json b/benchmarks/annotations/gin.json index 2ba38bc..a826700 100644 --- a/benchmarks/annotations/gin.json +++ b/benchmarks/annotations/gin.json @@ -36,5 +36,89 @@ "category": "architecture", "seed": {"path": "gin.go", "line": 92}, "related": ["context.go", "routergroup.go"] + }, + { + "query": "logging middleware and access log format", + "relevant": ["logger.go"], + "secondary": [], + "category": "semantic" + }, + { + "query": "JSON response rendering", + "relevant": ["render/json.go"], + "secondary": [], + "category": "semantic" + }, + { + "query": "HTML template rendering", + "relevant": ["render/html.go"], + "secondary": [], + "category": "semantic" + }, + { + "query": "query parameter and URL path variable extraction", + "relevant": ["context.go"], + "secondary": [], + "category": "semantic" + }, + { + "query": "multipart form and file upload handling", + "relevant": ["context.go"], + "secondary": [], + "category": "semantic" + }, + { + "query": "error types and per-request error collection", + "relevant": ["errors.go"], + "secondary": [], + "category": "semantic" + }, + { + "query": "form data binding for URL-encoded requests", + "relevant": ["binding/form.go"], + "secondary": ["binding/default_validator.go"], + "category": "semantic" + }, + { + "query": "how validators are plugged in for struct binding", + "relevant": ["binding/default_validator.go"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how middleware is applied globally and to route groups", + "relevant": ["routergroup.go"], + "secondary": ["gin.go"], + "category": "architecture" + }, + { + "query": "utility helpers for path detection and content-type formatting", + "relevant": ["utils.go"], + "secondary": [], + "category": "semantic" + }, + { + "query": "Engine", + "relevant": ["gin.go"], + "secondary": [], + "category": "symbol" + }, + { + "query": "Context", + "relevant": ["context.go"], + "secondary": [], + "category": "symbol" + }, + { + "query": "RouterGroup", + "relevant": ["routergroup.go"], + "secondary": [], + "category": "symbol" + }, + { + "query": "how Abort and response writing prevent further handler execution", + "relevant": ["context.go"], + "secondary": [], + "category": "architecture" } ] diff --git a/benchmarks/annotations/gson.json b/benchmarks/annotations/gson.json index 46c2f5e..70b3fc8 100644 --- a/benchmarks/annotations/gson.json +++ b/benchmarks/annotations/gson.json @@ -28,5 +28,95 @@ "relevant": ["gson/src/main/java/com/google/gson/JsonParser.java"], "secondary": [], "category": "symbol" + }, + { + "query": "streaming JSON reader and token parsing", + "relevant": ["gson/src/main/java/com/google/gson/stream/JsonReader.java"], + "secondary": [], + "category": "semantic" + }, + { + "query": "streaming JSON writer and token generation", + "relevant": ["gson/src/main/java/com/google/gson/stream/JsonWriter.java"], + "secondary": [], + "category": "semantic" + }, + { + "query": "generic type token for parameterized types", + "relevant": ["gson/src/main/java/com/google/gson/reflect/TypeToken.java"], + "secondary": [], + "category": "semantic" + }, + { + "query": "serialization exclusion strategies for fields and classes", + "relevant": ["gson/src/main/java/com/google/gson/ExclusionStrategy.java"], + "secondary": ["gson/src/main/java/com/google/gson/GsonBuilder.java"], + "category": "semantic" + }, + { + "query": "field naming policy and key transformation", + "relevant": ["gson/src/main/java/com/google/gson/FieldNamingPolicy.java"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how custom serializers and deserializers are registered and resolved", + "relevant": ["gson/src/main/java/com/google/gson/GsonBuilder.java"], + "secondary": ["gson/src/main/java/com/google/gson/Gson.java"], + "category": "architecture" + }, + { + "query": "how null values are handled during serialization", + "relevant": ["gson/src/main/java/com/google/gson/Gson.java"], + "secondary": ["gson/src/main/java/com/google/gson/GsonBuilder.java"], + "category": "architecture" + }, + { + "query": "JSON element hierarchy and tree model", + "relevant": ["gson/src/main/java/com/google/gson/JsonElement.java"], + "secondary": [], + "category": "semantic" + }, + { + "query": "JSON array operations and element access", + "relevant": ["gson/src/main/java/com/google/gson/JsonArray.java"], + "secondary": [], + "category": "semantic" + }, + { + "query": "JSON object with named fields", + "relevant": ["gson/src/main/java/com/google/gson/JsonObject.java"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how type adapter factories are registered and selected for a given type", + "relevant": ["gson/src/main/java/com/google/gson/Gson.java"], + "secondary": ["gson/src/main/java/com/google/gson/GsonBuilder.java"], + "category": "architecture" + }, + { + "query": "GsonBuilder", + "relevant": ["gson/src/main/java/com/google/gson/GsonBuilder.java"], + "secondary": [], + "category": "symbol" + }, + { + "query": "TypeToken", + "relevant": ["gson/src/main/java/com/google/gson/reflect/TypeToken.java"], + "secondary": [], + "category": "symbol" + }, + { + "query": "JsonReader", + "relevant": ["gson/src/main/java/com/google/gson/stream/JsonReader.java"], + "secondary": [], + "category": "symbol" + }, + { + "query": "JsonObject", + "relevant": ["gson/src/main/java/com/google/gson/JsonObject.java"], + "secondary": [], + "category": "symbol" } ] diff --git a/benchmarks/annotations/jackson-databind.json b/benchmarks/annotations/jackson-databind.json index 079d2b6..c1cb71c 100644 --- a/benchmarks/annotations/jackson-databind.json +++ b/benchmarks/annotations/jackson-databind.json @@ -45,5 +45,83 @@ "relevant": [{"path": "src/main/java/tools/jackson/databind/node/ObjectNode.java", "start_line": 21, "end_line": 60}], "secondary": [], "category": "symbol" + }, + { + "query": "reading and deserializing JSON into Java objects with type control", + "relevant": ["src/main/java/tools/jackson/databind/ObjectReader.java"], + "secondary": [], + "category": "semantic" + }, + { + "query": "writing and serializing Java objects to JSON with configuration", + "relevant": ["src/main/java/tools/jackson/databind/ObjectWriter.java"], + "secondary": [], + "category": "semantic" + }, + { + "query": "bean deserialization from JSON properties", + "relevant": ["src/main/java/tools/jackson/databind/deser/BeanDeserializer.java"], + "secondary": [], + "category": "semantic" + }, + { + "query": "bean serialization of Java object fields to JSON", + "relevant": ["src/main/java/tools/jackson/databind/ser/BeanSerializer.java"], + "secondary": [], + "category": "semantic" + }, + { + "query": "type factory for parameterized and collection types", + "relevant": ["src/main/java/tools/jackson/databind/type/TypeFactory.java"], + "secondary": [], + "category": "semantic" + }, + { + "query": "deserialization context and error accumulation during parsing", + "relevant": ["src/main/java/tools/jackson/databind/DeserializationContext.java"], + "secondary": [], + "category": "architecture" + }, + { + "query": "mapper builder fluent configuration API", + "relevant": ["src/main/java/tools/jackson/databind/cfg/MapperBuilder.java"], + "secondary": ["src/main/java/tools/jackson/databind/ObjectMapper.java"], + "category": "architecture" + }, + { + "query": "deserialization feature flags and configuration options", + "relevant": ["src/main/java/tools/jackson/databind/DeserializationFeature.java"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how the mapper resolves a deserializer for a given Java type", + "relevant": ["src/main/java/tools/jackson/databind/ObjectMapper.java"], + "secondary": ["src/main/java/tools/jackson/databind/deser/BeanDeserializerFactory.java"], + "category": "architecture" + }, + { + "query": "ObjectReader", + "relevant": ["src/main/java/tools/jackson/databind/ObjectReader.java"], + "secondary": [], + "category": "symbol" + }, + { + "query": "ObjectWriter", + "relevant": ["src/main/java/tools/jackson/databind/ObjectWriter.java"], + "secondary": [], + "category": "symbol" + }, + { + "query": "TypeFactory", + "relevant": ["src/main/java/tools/jackson/databind/type/TypeFactory.java"], + "secondary": [], + "category": "symbol" + }, + { + "query": "JSON array node with indexed element access", + "relevant": ["src/main/java/tools/jackson/databind/node/ArrayNode.java"], + "secondary": [], + "category": "semantic" } ] diff --git a/benchmarks/annotations/laravel-framework.json b/benchmarks/annotations/laravel-framework.json index 376c82e..e0bfe82 100644 --- a/benchmarks/annotations/laravel-framework.json +++ b/benchmarks/annotations/laravel-framework.json @@ -28,5 +28,95 @@ "relevant": ["src/Illuminate/Queue/QueueManager.php"], "secondary": [], "category": "symbol" + }, + { + "query": "routing HTTP requests to controllers", + "relevant": ["src/Illuminate/Routing/Router.php"], + "secondary": [], + "category": "architecture" + }, + { + "query": "route parameter binding and model resolution", + "relevant": ["src/Illuminate/Routing/Route.php"], + "secondary": ["src/Illuminate/Routing/Router.php"], + "category": "semantic" + }, + { + "query": "HTTP request input and header access", + "relevant": ["src/Illuminate/Http/Request.php"], + "secondary": [], + "category": "semantic" + }, + { + "query": "HTTP response construction and headers", + "relevant": ["src/Illuminate/Http/Response.php"], + "secondary": [], + "category": "semantic" + }, + { + "query": "service container dependency injection and binding resolution", + "relevant": ["src/Illuminate/Container/Container.php"], + "secondary": [], + "category": "architecture" + }, + { + "query": "database query builder and fluent SQL interface", + "relevant": ["src/Illuminate/Database/Query/Builder.php"], + "secondary": [], + "category": "semantic" + }, + { + "query": "event dispatching and listener registration", + "relevant": ["src/Illuminate/Events/Dispatcher.php"], + "secondary": [], + "category": "semantic" + }, + { + "query": "cache store repository and driver abstraction", + "relevant": ["src/Illuminate/Cache/Repository.php"], + "secondary": [], + "category": "semantic" + }, + { + "query": "validation rules and error message collection", + "relevant": ["src/Illuminate/Validation/Validator.php"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how middleware is applied through the pipeline", + "relevant": ["src/Illuminate/Pipeline/Pipeline.php"], + "secondary": ["src/Illuminate/Routing/Router.php"], + "category": "architecture" + }, + { + "query": "how the application bootstraps and registers service providers", + "relevant": ["src/Illuminate/Foundation/Application.php"], + "secondary": [], + "category": "architecture" + }, + { + "query": "Router", + "relevant": ["src/Illuminate/Routing/Router.php"], + "secondary": [], + "category": "symbol" + }, + { + "query": "Container", + "relevant": ["src/Illuminate/Container/Container.php"], + "secondary": [], + "category": "symbol" + }, + { + "query": "Request", + "relevant": ["src/Illuminate/Http/Request.php"], + "secondary": [], + "category": "symbol" + }, + { + "query": "how Blade templates are compiled and rendered by the view factory", + "relevant": ["src/Illuminate/View/Factory.php"], + "secondary": [], + "category": "architecture" } ] diff --git a/benchmarks/annotations/monolog.json b/benchmarks/annotations/monolog.json index 5b53451..8905be4 100644 --- a/benchmarks/annotations/monolog.json +++ b/benchmarks/annotations/monolog.json @@ -48,5 +48,77 @@ "category": "architecture", "seed": {"path": "src/Monolog/Logger.php", "line": 207}, "related": ["src/Monolog/Handler/AbstractHandler.php", "src/Monolog/Handler/HandlerInterface.php"] + }, + { + "query": "rotating file handler for log rotation by date", + "relevant": ["src/Monolog/Handler/RotatingFileHandler.php"], + "secondary": ["src/Monolog/Handler/StreamHandler.php"], + "category": "semantic" + }, + { + "query": "syslog handler for system-level logging", + "relevant": ["src/Monolog/Handler/SyslogHandler.php"], + "secondary": [], + "category": "semantic" + }, + { + "query": "filter handler for level-based record filtering", + "relevant": ["src/Monolog/Handler/FilterHandler.php"], + "secondary": [], + "category": "semantic" + }, + { + "query": "group handler to broadcast log records to multiple handlers", + "relevant": ["src/Monolog/Handler/GroupHandler.php"], + "secondary": [], + "category": "semantic" + }, + { + "query": "PSR-3 log message placeholder processor", + "relevant": ["src/Monolog/Processor/PsrLogMessageProcessor.php"], + "secondary": [], + "category": "semantic" + }, + { + "query": "introspection processor adding caller class and method to records", + "relevant": ["src/Monolog/Processor/IntrospectionProcessor.php"], + "secondary": [], + "category": "semantic" + }, + { + "query": "normalizer formatter for converting complex values to arrays", + "relevant": ["src/Monolog/Formatter/NormalizerFormatter.php"], + "secondary": [], + "category": "semantic" + }, + { + "query": "abstract processing handler with formatting lifecycle", + "relevant": ["src/Monolog/Handler/AbstractProcessingHandler.php"], + "secondary": ["src/Monolog/Handler/AbstractHandler.php"], + "category": "architecture" + }, + { + "query": "how log records propagate through the handler bubble chain", + "relevant": ["src/Monolog/Logger.php"], + "secondary": ["src/Monolog/Handler/AbstractHandler.php"], + "category": "architecture" + }, + { + "query": "how formatters transform log records into output strings", + "relevant": ["src/Monolog/Formatter/LineFormatter.php"], + "secondary": ["src/Monolog/Formatter/NormalizerFormatter.php"], + "category": "architecture" + }, + { + "query": "RotatingFileHandler", + "relevant": ["src/Monolog/Handler/RotatingFileHandler.php"], + "secondary": [], + "category": "symbol" + }, + { + "query": "PsrLogMessageProcessor", + "relevant": ["src/Monolog/Processor/PsrLogMessageProcessor.php"], + "secondary": [], + "category": "symbol" } ] diff --git a/benchmarks/annotations/nlohmann-json.json b/benchmarks/annotations/nlohmann-json.json new file mode 100644 index 0000000..b46795f --- /dev/null +++ b/benchmarks/annotations/nlohmann-json.json @@ -0,0 +1,122 @@ +[ + { + "query": "how JSON values are stored as a discriminated union of types", + "relevant": ["include/nlohmann/json.hpp"], + "secondary": ["include/nlohmann/detail/value_t.hpp"], + "category": "architecture" + }, + { + "query": "JSON parser and tokenizer", + "relevant": ["include/nlohmann/detail/input/parser.hpp"], + "secondary": ["include/nlohmann/detail/input/lexer.hpp"], + "category": "architecture" + }, + { + "query": "JSON lexer and token scanning", + "relevant": ["include/nlohmann/detail/input/lexer.hpp"], + "secondary": [], + "category": "semantic" + }, + { + "query": "JSON serialization to string output", + "relevant": ["include/nlohmann/detail/output/serializer.hpp"], + "secondary": [], + "category": "semantic" + }, + { + "query": "ADL-based to_json and from_json conversion hooks for custom types", + "relevant": ["include/nlohmann/adl_serializer.hpp"], + "secondary": [], + "category": "architecture" + }, + { + "query": "exception types for parse and type errors", + "relevant": ["include/nlohmann/detail/exceptions.hpp"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how from_json populates a custom C++ type from JSON", + "relevant": ["include/nlohmann/detail/conversions/from_json.hpp"], + "secondary": ["include/nlohmann/adl_serializer.hpp"], + "category": "architecture" + }, + { + "query": "how to_json serializes a custom C++ type to JSON", + "relevant": ["include/nlohmann/detail/conversions/to_json.hpp"], + "secondary": ["include/nlohmann/adl_serializer.hpp"], + "category": "architecture" + }, + { + "query": "JSON Pointer (RFC 6901) for navigating nested values", + "relevant": ["include/nlohmann/json_pointer.hpp"], + "secondary": [], + "category": "semantic" + }, + { + "query": "ordered map for insertion-order-preserving JSON objects", + "relevant": ["include/nlohmann/ordered_map.hpp"], + "secondary": [], + "category": "semantic" + }, + { + "query": "type traits and SFINAE utilities for serialization detection", + "relevant": ["include/nlohmann/detail/meta/type_traits.hpp"], + "secondary": [], + "category": "semantic" + }, + { + "query": "SAX-style event-driven JSON parsing interface", + "relevant": ["include/nlohmann/detail/input/json_sax.hpp"], + "secondary": ["include/nlohmann/detail/input/parser.hpp"], + "category": "architecture" + }, + { + "query": "value type enum for JSON null, boolean, number, string, array, object", + "relevant": ["include/nlohmann/detail/value_t.hpp"], + "secondary": [], + "category": "semantic" + }, + { + "query": "binary format support for BSON, CBOR, and MessagePack", + "relevant": ["include/nlohmann/detail/output/binary_writer.hpp"], + "secondary": ["include/nlohmann/detail/input/binary_reader.hpp"], + "category": "semantic" + }, + { + "query": "how operator[] and at() access and create nested JSON values", + "relevant": ["include/nlohmann/json.hpp"], + "secondary": [], + "category": "architecture" + }, + { + "query": "JSON merge patch and diff operations", + "relevant": ["include/nlohmann/json.hpp"], + "secondary": [], + "category": "semantic" + }, + { + "query": "iterator implementation for JSON arrays and objects", + "relevant": ["include/nlohmann/detail/iterators/iter_impl.hpp"], + "secondary": [], + "category": "semantic" + }, + { + "query": "basic_json", + "relevant": ["include/nlohmann/json.hpp"], + "secondary": [], + "category": "symbol" + }, + { + "query": "json_pointer", + "relevant": ["include/nlohmann/json_pointer.hpp"], + "secondary": [], + "category": "symbol" + }, + { + "query": "adl_serializer", + "relevant": ["include/nlohmann/adl_serializer.hpp"], + "secondary": [], + "category": "symbol" + } +] diff --git a/benchmarks/annotations/phoenix.json b/benchmarks/annotations/phoenix.json new file mode 100644 index 0000000..fa5b8f7 --- /dev/null +++ b/benchmarks/annotations/phoenix.json @@ -0,0 +1,122 @@ +[ + { + "query": "how Phoenix routes are defined and dispatched to controller actions", + "relevant": ["lib/phoenix/router.ex"], + "secondary": [], + "category": "architecture" + }, + { + "query": "controller actions and request handling helpers", + "relevant": ["lib/phoenix/controller.ex"], + "secondary": [], + "category": "semantic" + }, + { + "query": "real-time channel messaging, topics, and join/leave", + "relevant": ["lib/phoenix/channel.ex"], + "secondary": [], + "category": "architecture" + }, + { + "query": "channel server process and message routing", + "relevant": ["lib/phoenix/channel/server.ex"], + "secondary": ["lib/phoenix/channel.ex"], + "category": "semantic" + }, + { + "query": "endpoint and plug pipeline configuration", + "relevant": ["lib/phoenix/endpoint.ex"], + "secondary": [], + "category": "architecture" + }, + { + "query": "WebSocket and long-poll socket transport", + "relevant": ["lib/phoenix/socket.ex"], + "secondary": [], + "category": "semantic" + }, + { + "query": "presence tracking, diffs, and broadcast", + "relevant": ["lib/phoenix/presence.ex"], + "secondary": [], + "category": "semantic" + }, + { + "query": "template rendering and assigns", + "relevant": ["lib/phoenix/template.ex"], + "secondary": [], + "category": "semantic" + }, + { + "query": "verified routes for compile-time URL validation", + "relevant": ["lib/phoenix/verified_routes.ex"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how Phoenix logs request and response lifecycle events", + "relevant": ["lib/phoenix/logger.ex"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how channels handle incoming messages and replies", + "relevant": ["lib/phoenix/channel.ex"], + "secondary": ["lib/phoenix/channel/server.ex"], + "category": "architecture" + }, + { + "query": "how the router matches path segments to controller/action", + "relevant": ["lib/phoenix/router.ex"], + "secondary": [], + "category": "architecture" + }, + { + "query": "named URL generation from route helpers", + "relevant": ["lib/phoenix/router.ex"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how controllers render views and JSON responses", + "relevant": ["lib/phoenix/controller.ex"], + "secondary": [], + "category": "architecture" + }, + { + "query": "Param protocol for extracting URL-safe IDs", + "relevant": ["lib/phoenix/param.ex"], + "secondary": [], + "category": "semantic" + }, + { + "query": "naming conventions for controllers and view modules", + "relevant": ["lib/phoenix/naming.ex"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how Phoenix Endpoint supervises and starts the HTTP server", + "relevant": ["lib/phoenix/endpoint.ex"], + "secondary": [], + "category": "architecture" + }, + { + "query": "Router", + "relevant": ["lib/phoenix/router.ex"], + "secondary": [], + "category": "symbol" + }, + { + "query": "Controller", + "relevant": ["lib/phoenix/controller.ex"], + "secondary": [], + "category": "symbol" + }, + { + "query": "Channel", + "relevant": ["lib/phoenix/channel.ex"], + "secondary": [], + "category": "symbol" + } +] diff --git a/benchmarks/annotations/rack.json b/benchmarks/annotations/rack.json index 037b6b1..51f8cc6 100644 --- a/benchmarks/annotations/rack.json +++ b/benchmarks/annotations/rack.json @@ -40,5 +40,83 @@ "relevant": [{"path": "lib/rack/builder.rb", "start_line": 36, "end_line": 80}], "secondary": [], "category": "symbol" + }, + { + "query": "ETag caching and conditional response headers", + "relevant": ["lib/rack/etag.rb"], + "secondary": [], + "category": "semantic" + }, + { + "query": "cookie-based session storage", + "relevant": ["lib/rack/session/cookie.rb"], + "secondary": ["lib/rack/session/abstract/id.rb"], + "category": "semantic" + }, + { + "query": "session abstraction and identity management", + "relevant": ["lib/rack/session/abstract/id.rb"], + "secondary": [], + "category": "architecture" + }, + { + "query": "static file serving middleware", + "relevant": ["lib/rack/static.rb"], + "secondary": [], + "category": "semantic" + }, + { + "query": "directory listing middleware", + "relevant": ["lib/rack/directory.rb"], + "secondary": [], + "category": "semantic" + }, + { + "query": "MIME type detection from file extensions", + "relevant": ["lib/rack/mime.rb"], + "secondary": [], + "category": "semantic" + }, + { + "query": "utility methods for parameter parsing and URL encoding", + "relevant": ["lib/rack/utils.rb"], + "secondary": [], + "category": "semantic" + }, + { + "query": "multipart form data parsing", + "relevant": ["lib/rack/multipart.rb"], + "secondary": [], + "category": "semantic" + }, + { + "query": "Rack spec conformance validator", + "relevant": ["lib/rack/lint.rb"], + "secondary": [], + "category": "semantic" + }, + { + "query": "deferred body proxy for lazy response bodies", + "relevant": ["lib/rack/body_proxy.rb"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how the Builder DSL assembles the middleware stack with use and run", + "relevant": ["lib/rack/builder.rb"], + "secondary": [], + "category": "architecture" + }, + { + "query": "Utils", + "relevant": ["lib/rack/utils.rb"], + "secondary": [], + "category": "symbol" + }, + { + "query": "Lint", + "relevant": ["lib/rack/lint.rb"], + "secondary": [], + "category": "symbol" } ] diff --git a/benchmarks/annotations/rails.json b/benchmarks/annotations/rails.json index 9b5d376..c4286c8 100644 --- a/benchmarks/annotations/rails.json +++ b/benchmarks/annotations/rails.json @@ -45,5 +45,83 @@ "relevant": ["railties/lib/rails/paths.rb"], "secondary": [], "category": "symbol" + }, + { + "query": "railtie extension point for Rails plugins", + "relevant": ["railties/lib/rails/railtie.rb"], + "secondary": [], + "category": "semantic" + }, + { + "query": "generator framework and base generator class", + "relevant": ["railties/lib/rails/generators/base.rb"], + "secondary": ["railties/lib/rails/generators.rb"], + "category": "architecture" + }, + { + "query": "application generator and default app scaffolding", + "relevant": ["railties/lib/rails/generators/rails/app/app_generator.rb"], + "secondary": [], + "category": "semantic" + }, + { + "query": "Rails command dispatch and subcommand routing", + "relevant": ["railties/lib/rails/command.rb"], + "secondary": [], + "category": "semantic" + }, + { + "query": "initializable module for ordered initialization steps", + "relevant": ["railties/lib/rails/initializable.rb"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how railties are sorted by initialization dependency", + "relevant": ["railties/lib/rails/railtie.rb"], + "secondary": ["railties/lib/rails/initializable.rb"], + "category": "architecture" + }, + { + "query": "default middleware stack configuration", + "relevant": ["railties/lib/rails/application/default_middleware_stack.rb"], + "secondary": [], + "category": "architecture" + }, + { + "query": "application routes reloader for development mode", + "relevant": ["railties/lib/rails/application/routes_reloader.rb"], + "secondary": [], + "category": "semantic" + }, + { + "query": "server command and rack handler configuration", + "relevant": ["railties/lib/rails/commands/server/server_command.rb"], + "secondary": [], + "category": "semantic" + }, + { + "query": "Railtie", + "relevant": ["railties/lib/rails/railtie.rb"], + "secondary": [], + "category": "symbol" + }, + { + "query": "how rake tasks are loaded and registered from railties", + "relevant": ["railties/lib/rails/railtie.rb"], + "secondary": [], + "category": "architecture" + }, + { + "query": "engine middleware insertion and plugin loading", + "relevant": ["railties/lib/rails/engine.rb"], + "secondary": ["railties/lib/rails/application/default_middleware_stack.rb"], + "category": "architecture" + }, + { + "query": "how generators are discovered and registered", + "relevant": ["railties/lib/rails/generators.rb"], + "secondary": ["railties/lib/rails/generators/base.rb"], + "category": "architecture" } ] diff --git a/benchmarks/annotations/redux.json b/benchmarks/annotations/redux.json index b551227..229f67c 100644 --- a/benchmarks/annotations/redux.json +++ b/benchmarks/annotations/redux.json @@ -28,5 +28,95 @@ "relevant": ["src/createStore.ts"], "secondary": [], "category": "symbol" + }, + { + "query": "action creator binding to a dispatch function", + "relevant": ["src/bindActionCreators.ts"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how listeners are subscribed and notified after state changes", + "relevant": ["src/createStore.ts"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how combineReducers validates reducer return values in development", + "relevant": ["src/combineReducers.ts"], + "secondary": [], + "category": "architecture" + }, + { + "query": "store type definition and dispatch overloads", + "relevant": ["src/types/store.ts"], + "secondary": [], + "category": "semantic" + }, + { + "query": "action and action creator type definitions", + "relevant": ["src/types/actions.ts"], + "secondary": [], + "category": "semantic" + }, + { + "query": "middleware type signature and API shape", + "relevant": ["src/types/middleware.ts"], + "secondary": [], + "category": "semantic" + }, + { + "query": "reducer type definition", + "relevant": ["src/types/reducers.ts"], + "secondary": [], + "category": "semantic" + }, + { + "query": "runtime type identification utility", + "relevant": ["src/utils/kindOf.ts"], + "secondary": [], + "category": "semantic" + }, + { + "query": "development-only warning helper", + "relevant": ["src/utils/warning.ts"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how replaceReducer swaps the root reducer at runtime", + "relevant": ["src/createStore.ts"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how applyMiddleware wraps getState and dispatch for the middleware chain", + "relevant": ["src/applyMiddleware.ts"], + "secondary": ["src/compose.ts"], + "category": "architecture" + }, + { + "query": "combineReducers", + "relevant": ["src/combineReducers.ts"], + "secondary": [], + "category": "symbol" + }, + { + "query": "applyMiddleware", + "relevant": ["src/applyMiddleware.ts"], + "secondary": [], + "category": "symbol" + }, + { + "query": "bindActionCreators", + "relevant": ["src/bindActionCreators.ts"], + "secondary": [], + "category": "symbol" + }, + { + "query": "Middleware", + "relevant": ["src/types/middleware.ts"], + "secondary": [], + "category": "symbol" } ] diff --git a/benchmarks/annotations/serde.json b/benchmarks/annotations/serde.json new file mode 100644 index 0000000..2eb2a51 --- /dev/null +++ b/benchmarks/annotations/serde.json @@ -0,0 +1,122 @@ +[ + { + "query": "Serialize and Serializer trait definitions", + "relevant": ["serde_core/src/ser/mod.rs"], + "secondary": [], + "category": "architecture" + }, + { + "query": "Deserialize and Deserializer trait definitions", + "relevant": ["serde_core/src/de/mod.rs"], + "secondary": [], + "category": "architecture" + }, + { + "query": "Visitor pattern for deserializer implementations", + "relevant": ["serde_core/src/de/mod.rs"], + "secondary": [], + "category": "architecture" + }, + { + "query": "standard library type Serialize implementations", + "relevant": ["serde_core/src/ser/impls.rs"], + "secondary": [], + "category": "semantic" + }, + { + "query": "standard library type Deserialize implementations", + "relevant": ["serde_core/src/de/impls.rs"], + "secondary": [], + "category": "semantic" + }, + { + "query": "value-based deserialization for self-describing formats", + "relevant": ["serde_core/src/de/value.rs"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how unknown and ignored fields are skipped during deserialization", + "relevant": ["serde_core/src/de/ignored_any.rs"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how derive macros generate Serialize code for structs and enums", + "relevant": ["serde_derive/src/ser.rs"], + "secondary": ["serde_derive/src/internals/ast.rs"], + "category": "architecture" + }, + { + "query": "how derive macros generate Deserialize code for structs and enums", + "relevant": ["serde_derive/src/de.rs"], + "secondary": ["serde_derive/src/internals/ast.rs"], + "category": "architecture" + }, + { + "query": "how derive macros parse and apply field-level serde attributes", + "relevant": ["serde_derive/src/internals/attr.rs"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how serde handles sequences and maps during serialization", + "relevant": ["serde_core/src/ser/mod.rs"], + "secondary": [], + "category": "architecture" + }, + { + "query": "MapAccess and SeqAccess for deserializing collections", + "relevant": ["serde_core/src/de/mod.rs"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how serde handles lifetime-bound deserialization and borrowed data", + "relevant": ["serde_core/src/de/mod.rs"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how EnumAccess and VariantAccess work for enum deserialization", + "relevant": ["serde_core/src/de/mod.rs"], + "secondary": [], + "category": "architecture" + }, + { + "query": "derive proc macro entry point and registered derives", + "relevant": ["serde_derive/src/lib.rs"], + "secondary": [], + "category": "semantic" + }, + { + "query": "serde AST representation of containers, variants, and fields", + "relevant": ["serde_derive/src/internals/ast.rs"], + "secondary": [], + "category": "semantic" + }, + { + "query": "Serialize", + "relevant": ["serde_core/src/ser/mod.rs"], + "secondary": [], + "category": "symbol" + }, + { + "query": "Deserialize", + "relevant": ["serde_core/src/de/mod.rs"], + "secondary": [], + "category": "symbol" + }, + { + "query": "Serializer", + "relevant": ["serde_core/src/ser/mod.rs"], + "secondary": [], + "category": "symbol" + }, + { + "query": "Visitor", + "relevant": ["serde_core/src/de/mod.rs"], + "secondary": [], + "category": "symbol" + } +] diff --git a/benchmarks/annotations/zod.json b/benchmarks/annotations/zod.json new file mode 100644 index 0000000..6ba85c1 --- /dev/null +++ b/benchmarks/annotations/zod.json @@ -0,0 +1,122 @@ +[ + { + "query": "how ZodType base class parses and validates input values", + "relevant": ["packages/zod/src/v4/core/schemas.ts"], + "secondary": [], + "category": "architecture" + }, + { + "query": "core public API functions for building schemas", + "relevant": ["packages/zod/src/v4/core/api.ts"], + "secondary": [], + "category": "architecture" + }, + { + "query": "ZodError structure and issue formatting", + "relevant": ["packages/zod/src/v4/core/errors.ts"], + "secondary": [], + "category": "semantic" + }, + { + "query": "ZodCheck and check execution pipeline for string min max and number range validations", + "relevant": ["packages/zod/src/v4/core/checks.ts"], + "secondary": [], + "category": "semantic" + }, + { + "query": "JSON Schema to Zod schema conversion", + "relevant": ["packages/zod/src/v4/classic/from-json-schema.ts"], + "secondary": [], + "category": "semantic" + }, + { + "query": "ZodObject shape definition and object schema", + "relevant": ["packages/zod/src/v4/classic/schemas.ts"], + "secondary": [], + "category": "semantic" + }, + { + "query": "union and discriminated union schema types", + "relevant": ["packages/zod/src/v4/core/api.ts"], + "secondary": ["packages/zod/src/v4/core/schemas.ts"], + "category": "semantic" + }, + { + "query": "optional and nullable type wrappers", + "relevant": ["packages/zod/src/v4/core/api.ts"], + "secondary": [], + "category": "semantic" + }, + { + "query": "z.transform and z.pipe for chaining Zod output transformations", + "relevant": ["packages/zod/src/v4/core/api.ts"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how safeParse returns a success/error result without throwing", + "relevant": ["packages/zod/src/v4/core/parse.ts"], + "secondary": ["packages/zod/src/v4/core/schemas.ts"], + "category": "architecture" + }, + { + "query": "how .refine and .superRefine add custom validation to a schema via the public API", + "relevant": ["packages/zod/src/v4/core/api.ts"], + "secondary": ["packages/zod/src/v4/core/checks.ts"], + "category": "architecture" + }, + { + "query": "classic Zod v4 array and tuple schema types", + "relevant": ["packages/zod/src/v4/classic/schemas.ts"], + "secondary": [], + "category": "semantic" + }, + { + "query": "classic Zod v4 string schema with built-in validations", + "relevant": ["packages/zod/src/v4/classic/schemas.ts"], + "secondary": ["packages/zod/src/v4/core/checks.ts"], + "category": "semantic" + }, + { + "query": "v3 compatibility error types and ZodError", + "relevant": ["packages/zod/src/v3/errors.ts"], + "secondary": [], + "category": "semantic" + }, + { + "query": "z.record and z.map schema builders for key-value types", + "relevant": ["packages/zod/src/v4/core/api.ts"], + "secondary": [], + "category": "semantic" + }, + { + "query": "ZodDefault and ZodCatch schema wrappers that supply fallback values on parse failure", + "relevant": ["packages/zod/src/v4/core/api.ts"], + "secondary": [], + "category": "semantic" + }, + { + "query": "enum schema types for literal value sets", + "relevant": ["packages/zod/src/v4/core/api.ts"], + "secondary": [], + "category": "semantic" + }, + { + "query": "ZodType", + "relevant": ["packages/zod/src/v4/core/schemas.ts"], + "secondary": [], + "category": "symbol" + }, + { + "query": "ZodError", + "relevant": ["packages/zod/src/v4/core/errors.ts"], + "secondary": [], + "category": "symbol" + }, + { + "query": "ZodObject", + "relevant": ["packages/zod/src/v4/classic/schemas.ts"], + "secondary": [], + "category": "symbol" + } +] diff --git a/benchmarks/repos.json b/benchmarks/repos.json index 56e36e2..e8aed36 100644 --- a/benchmarks/repos.json +++ b/benchmarks/repos.json @@ -198,5 +198,137 @@ "url": "https://github.com/Alamofire/Alamofire.git", "revision": "e938f8c66708e7352fc7e3512647fa54255b267a", "benchmark_root": "Source" + }, + { + "name": "click", + "language": "python", + "url": "https://github.com/pallets/click.git", + "revision": "04ef3a6f473deb2499721a8d11f92a7d2c0912f2", + "benchmark_root": "src/click" + }, + { + "name": "serde", + "language": "rust", + "url": "https://github.com/serde-rs/serde.git", + "revision": "fa7da4a93567ed347ad0735c28e439fca688ef26" + }, + { + "name": "zod", + "language": "typescript", + "url": "https://github.com/colinhacks/zod.git", + "revision": "c7805073fef5b6b8857307c3d4b3597a70613bc2", + "benchmark_root": "packages/zod/src" + }, + { + "name": "nlohmann-json", + "language": "cpp", + "url": "https://github.com/nlohmann/json.git", + "revision": "3946872265598aed5a7aea68cad4d9d1f168bd4b", + "benchmark_root": "include/nlohmann" + }, + { + "name": "phoenix", + "language": "elixir", + "url": "https://github.com/phoenixframework/phoenix.git", + "revision": "c88da921ef8009e0aca8643d5334585cd35d5573", + "benchmark_root": "lib" + }, + { + "name": "axum", + "language": "rust", + "url": "https://github.com/tokio-rs/axum.git", + "revision": "309d1bd9530eec2217134cb262760af1df42ee3b", + "benchmark_root": "axum/src" + }, + { + "name": "vitest", + "language": "typescript", + "url": "https://github.com/vitest-dev/vitest.git", + "revision": "596f73986abe2161a9a06f0ca03df68e82690b21", + "benchmark_root": "packages/vitest/src" + }, + { + "name": "newtonsoft-json", + "language": "csharp", + "url": "https://github.com/JamesNK/Newtonsoft.Json.git", + "revision": "4f73e74372445108d2c1bda37b36e6f5e43402e0", + "benchmark_root": "Src/Newtonsoft.Json" + }, + { + "name": "dapper", + "language": "csharp", + "url": "https://github.com/DapperLib/Dapper.git", + "revision": "288730e69b05c32cac898d9b55ebea219ea8a2d1", + "benchmark_root": "Dapper" + }, + { + "name": "kotlinx-coroutines", + "language": "kotlin", + "url": "https://github.com/Kotlin/kotlinx.coroutines.git", + "revision": "643c1aa554139a82f60724a59e79b801f303fdfe", + "benchmark_root": "kotlinx-coroutines-core/common/src" + }, + { + "name": "exposed", + "language": "kotlin", + "url": "https://github.com/JetBrains/Exposed.git", + "revision": "7c80ed943b529f293b33ee7e0facdfd880cf4aec", + "benchmark_root": "exposed-core/src/main/kotlin" + }, + { + "name": "circe", + "language": "scala", + "url": "https://github.com/circe/circe.git", + "revision": "cd16ce270257daec47f4a011163a03da5df9a630", + "benchmark_root": "modules/core/shared/src/main/scala" + }, + { + "name": "http4s", + "language": "scala", + "url": "https://github.com/http4s/http4s.git", + "revision": "9f17a8e727d22692e637b5f01de15a222fb66092", + "benchmark_root": "core/src/main/scala" + }, + { + "name": "vapor", + "language": "swift", + "url": "https://github.com/vapor/vapor.git", + "revision": "cfd8f434843ac7850e2d97f46c1aa5ddb906cf1c", + "benchmark_root": "Sources/Vapor" + }, + { + "name": "rxswift", + "language": "swift", + "url": "https://github.com/ReactiveX/RxSwift.git", + "revision": "132aea4f236ccadc51590b38af0357a331d51fa2", + "benchmark_root": "Sources/RxSwift" + }, + { + "name": "plug", + "language": "elixir", + "url": "https://github.com/elixir-plug/plug.git", + "revision": "47649aa7bb910f481b66cc3e98c14b2c3b761c3c", + "benchmark_root": "lib/plug" + }, + { + "name": "ecto", + "language": "elixir", + "url": "https://github.com/elixir-ecto/ecto.git", + "revision": "cf3a5b7219a552c24aae24bf5eef7354c1184b8a", + "benchmark_root": "lib/ecto" + }, + { + "name": "abseil-cpp", + "language": "cpp", + "url": "https://github.com/abseil/abseil-cpp.git", + "revision": "b9536c952c6f6bbcb37a5edb4fa88ee62d27cd7e", + "benchmark_root": "absl" + }, + { + "name": "fmtlib", + "language": "cpp", + "url": "https://github.com/fmtlib/fmt.git", + "revision": "382609a920d2c43c00f2951233bc0d578a783982", + "benchmark_root": "include/fmt" } ] diff --git a/benchmarks/results/25f5751ef097.json b/benchmarks/results/25f5751ef097.json new file mode 100644 index 0000000..5da6591 --- /dev/null +++ b/benchmarks/results/25f5751ef097.json @@ -0,0 +1,550 @@ +{ + "sha": "25f5751ef097b10186a19c8647501dad6a698201", + "model": "minishlab/potion-code-16M", + "summary": { + "ndcg10": 0.8029, + "p50_ms": 0.686, + "p90_ms": 4.486, + "p95_ms": 5.117, + "p99_ms": 5.432, + "index_ms": 337.1 + }, + "by_language": { + "cpp": { + "repos": 1, + "ndcg10": 0.6606, + "p50_ms": 0.595, + "p90_ms": 4.308, + "p95_ms": 4.552, + "p99_ms": 4.944, + "index_ms": 310.6 + }, + "csharp": { + "repos": 1, + "ndcg10": 0.8263, + "p50_ms": 0.945, + "p90_ms": 5.234, + "p95_ms": 5.39, + "p99_ms": 5.805, + "index_ms": 467.5 + }, + "elixir": { + "repos": 1, + "ndcg10": 0.7136, + "p50_ms": 0.592, + "p90_ms": 4.125, + "p95_ms": 4.307, + "p99_ms": 5.224, + "index_ms": 211.2 + }, + "go": { + "repos": 3, + "ndcg10": 0.8633, + "p50_ms": 0.588, + "p90_ms": 3.27, + "p95_ms": 3.839, + "p99_ms": 4.014, + "index_ms": 161.1 + }, + "java": { + "repos": 3, + "ndcg10": 0.7717, + "p50_ms": 1.124, + "p90_ms": 9.255, + "p95_ms": 12.888, + "p99_ms": 13.124, + "index_ms": 959.8 + }, + "javascript": { + "repos": 3, + "ndcg10": 0.7665, + "p50_ms": 0.432, + "p90_ms": 1.628, + "p95_ms": 2.226, + "p99_ms": 2.237, + "index_ms": 36.7 + }, + "kotlin": { + "repos": 1, + "ndcg10": 0.7631, + "p50_ms": 0.893, + "p90_ms": 4.78, + "p95_ms": 4.923, + "p99_ms": 5.088, + "index_ms": 171.1 + }, + "php": { + "repos": 3, + "ndcg10": 0.7799, + "p50_ms": 0.875, + "p90_ms": 6.871, + "p95_ms": 6.976, + "p99_ms": 7.627, + "index_ms": 718.4 + }, + "python": { + "repos": 9, + "ndcg10": 0.8389, + "p50_ms": 0.505, + "p90_ms": 3.234, + "p95_ms": 3.379, + "p99_ms": 3.615, + "index_ms": 156.5 + }, + "ruby": { + "repos": 3, + "ndcg10": 0.8573, + "p50_ms": 0.576, + "p90_ms": 4.227, + "p95_ms": 5.27, + "p99_ms": 5.693, + "index_ms": 99.8 + }, + "rust": { + "repos": 2, + "ndcg10": 0.7544, + "p50_ms": 0.869, + "p90_ms": 5.701, + "p95_ms": 5.987, + "p99_ms": 6.167, + "index_ms": 663.5 + }, + "scala": { + "repos": 1, + "ndcg10": 0.8415, + "p50_ms": 0.94, + "p90_ms": 4.613, + "p95_ms": 4.99, + "p99_ms": 5.02, + "index_ms": 641.2 + }, + "swift": { + "repos": 1, + "ndcg10": 0.9316, + "p50_ms": 0.554, + "p90_ms": 4.009, + "p95_ms": 4.484, + "p99_ms": 5.724, + "index_ms": 227.5 + }, + "typescript": { + "repos": 2, + "ndcg10": 0.6932, + "p50_ms": 0.863, + "p90_ms": 4.59, + "p95_ms": 4.667, + "p99_ms": 4.959, + "index_ms": 384.9 + } + }, + "repos": [ + { + "repo": "aiohttp", + "language": "python", + "chunks": 756, + "ndcg5": 0.7132626857513019, + "ndcg10": 0.7821229638714016, + "p50_ms": 0.6123749917605892, + "p90_ms": 3.8724999903934076, + "p95_ms": 4.120375000638887, + "p99_ms": 4.553908604430035, + "index_ms": 262.2472079965519 + }, + { + "repo": "alamofire", + "language": "swift", + "chunks": 649, + "ndcg5": 0.900172569211564, + "ndcg10": 0.9315768229529695, + "p50_ms": 0.5536660028155893, + "p90_ms": 4.0093664021696895, + "p95_ms": 4.4843586074421165, + "p99_ms": 5.723771723569371, + "index_ms": 227.4804999906337 + }, + { + "repo": "axios", + "language": "javascript", + "chunks": 166, + "ndcg5": 0.8788319645532834, + "ndcg10": 0.8885032847341471, + "p50_ms": 0.5864790073246695, + "p90_ms": 2.4867669970262796, + "p95_ms": 2.5793482578592375, + "p99_ms": 2.6049032533774152, + "index_ms": 63.84266700479202 + }, + { + "repo": "cats", + "language": "scala", + "chunks": 1254, + "ndcg5": 0.8157722039023972, + "ndcg10": 0.8414671964692401, + "p50_ms": 0.9402910072822124, + "p90_ms": 4.613399598747492, + "p95_ms": 4.990466596791521, + "p99_ms": 5.019959729397669, + "index_ms": 641.1550829943735 + }, + { + "repo": "chi", + "language": "go", + "chunks": 262, + "ndcg5": 0.7967564632754967, + "ndcg10": 0.805985248114475, + "p50_ms": 0.6649790011579171, + "p90_ms": 2.829720899171662, + "p95_ms": 3.0183152033714578, + "p99_ms": 3.067429449292831, + "index_ms": 104.31049999897368 + }, + { + "repo": "click", + "language": "python", + "chunks": 315, + "ndcg5": 0.967519867361079, + "ndcg10": 0.967519867361079, + "p50_ms": 0.41497899655951187, + "p90_ms": 3.2158167072338983, + "p95_ms": 3.223808641632786, + "p99_ms": 3.319061730726389, + "index_ms": 106.108583000605 + }, + { + "repo": "cobra", + "language": "go", + "chunks": 394, + "ndcg5": 0.9291287872272751, + "ndcg10": 0.9291287872272751, + "p50_ms": 0.5306250022840686, + "p90_ms": 3.4453628060873616, + "p95_ms": 4.685064550722018, + "p99_ms": 4.93114570970647, + "index_ms": 151.899875010713 + }, + { + "repo": "commons-lang", + "language": "java", + "chunks": 3152, + "ndcg5": 0.8303573023787708, + "ndcg10": 0.8566306723859848, + "p50_ms": 0.9894999966491014, + "p90_ms": 8.79549999081064, + "p95_ms": 18.890666993684135, + "p99_ms": 18.91243339923676, + "index_ms": 1044.4991670083255 + }, + { + "repo": "express", + "language": "javascript", + "chunks": 52, + "ndcg5": 0.5213932929028847, + "ndcg10": 0.5213932929028847, + "p50_ms": 0.29550000181188807, + "p90_ms": 0.5137291955179561, + "p95_ms": 2.184350295283366, + "p99_ms": 2.1871364596881904, + "index_ms": 23.6177500046324 + }, + { + "repo": "fastapi", + "language": "python", + "chunks": 597, + "ndcg5": 0.7274224843886101, + "ndcg10": 0.7656623902466776, + "p50_ms": 0.4795205022674054, + "p90_ms": 3.4083958016708493, + "p95_ms": 3.4897850957349874, + "p99_ms": 3.595457021438051, + "index_ms": 197.85016700916458 + }, + { + "repo": "flask", + "language": "python", + "chunks": 291, + "ndcg5": 0.8570900833760776, + "ndcg10": 0.8767012186349079, + "p50_ms": 0.447915997938253, + "p90_ms": 2.793999999994412, + "p95_ms": 2.7948330098297447, + "p99_ms": 3.3672330027911817, + "index_ms": 93.78604100493249 + }, + { + "repo": "gin", + "language": "go", + "chunks": 576, + "ndcg5": 0.8374038902637901, + "ndcg10": 0.8548965225450329, + "p50_ms": 0.5679790046997368, + "p90_ms": 3.533736901590601, + "p95_ms": 3.8149708045239095, + "p99_ms": 4.044426958571421, + "index_ms": 227.11720800725743 + }, + { + "repo": "gson", + "language": "java", + "chunks": 1460, + "ndcg5": 0.7990637329553106, + "ndcg10": 0.8168740923107117, + "p50_ms": 0.9702914976514876, + "p90_ms": 5.926683300640435, + "p95_ms": 6.5977121601463296, + "p99_ms": 7.059475241985637, + "index_ms": 478.3598340000026 + }, + { + "repo": "guzzle", + "language": "php", + "chunks": 206, + "ndcg5": 0.8326908338735671, + "ndcg10": 0.844506786325837, + "p50_ms": 0.5779159982921556, + "p90_ms": 2.884983198600821, + "p95_ms": 2.914312396023888, + "p99_ms": 2.9578288752236404, + "index_ms": 67.16033299744595 + }, + { + "repo": "httpx", + "language": "python", + "chunks": 248, + "ndcg5": 0.8519694264932337, + "ndcg10": 0.871159099521697, + "p50_ms": 0.4673749936046079, + "p90_ms": 2.534915998694487, + "p95_ms": 2.9966670117573813, + "p99_ms": 3.0396661983104423, + "index_ms": 84.10337500390597 + }, + { + "repo": "jackson-databind", + "language": "java", + "chunks": 4570, + "ndcg5": 0.5995814171722698, + "ndcg10": 0.6416926478590864, + "p50_ms": 1.4109585026744753, + "p90_ms": 13.044237793656066, + "p95_ms": 13.175612493796507, + "p99_ms": 13.40152249977109, + "index_ms": 1356.5418329962995 + }, + { + "repo": "ktor", + "language": "kotlin", + "chunks": 425, + "ndcg5": 0.726275662513606, + "ndcg10": 0.7630927329648237, + "p50_ms": 0.893062497198116, + "p90_ms": 4.7803755005588755, + "p95_ms": 4.923448246699991, + "p99_ms": 5.088122442975873, + "index_ms": 171.11970800033305 + }, + { + "repo": "laravel-framework", + "language": "php", + "chunks": 6197, + "ndcg5": 0.6126770146137568, + "ndcg10": 0.6562294678265145, + "p50_ms": 1.1269794922554865, + "p90_ms": 14.119775003928225, + "p95_ms": 14.312191658245867, + "p99_ms": 16.156204736616925, + "index_ms": 1955.0122910004575 + }, + { + "repo": "messagepack-csharp", + "language": "csharp", + "chunks": 1125, + "ndcg5": 0.8164536328001585, + "ndcg10": 0.8262866007393468, + "p50_ms": 0.9447079937672243, + "p90_ms": 5.23395880300086, + "p95_ms": 5.389525595819577, + "p99_ms": 5.804938714718446, + "index_ms": 467.47879100439604 + }, + { + "repo": "model2vec", + "language": "python", + "chunks": 107, + "ndcg5": 0.6593701861221591, + "ndcg10": 0.695271294655741, + "p50_ms": 0.44833299762103707, + "p90_ms": 2.160079192253761, + "p95_ms": 2.2111357378889807, + "p99_ms": 2.258160742057953, + "index_ms": 40.73749999224674 + }, + { + "repo": "monolog", + "language": "php", + "chunks": 417, + "ndcg5": 0.8301283460390589, + "ndcg10": 0.8389903103782611, + "p50_ms": 0.9215209938702174, + "p90_ms": 3.6084005929296836, + "p95_ms": 3.702110399171943, + "p99_ms": 3.7664884743571747, + "index_ms": 133.03008399088867 + }, + { + "repo": "nlohmann-json", + "language": "cpp", + "chunks": 791, + "ndcg5": 0.6297896285293605, + "ndcg10": 0.6606004404305565, + "p50_ms": 0.5946245000814088, + "p90_ms": 4.307912492367905, + "p95_ms": 4.552268743282184, + "p99_ms": 4.943953739712014, + "index_ms": 310.64216600498185 + }, + { + "repo": "phoenix", + "language": "elixir", + "chunks": 546, + "ndcg5": 0.6800650542719645, + "ndcg10": 0.7136486574666521, + "p50_ms": 0.5916664958931506, + "p90_ms": 4.124641108501237, + "p95_ms": 4.307360701204744, + "p99_ms": 5.224204940896014, + "index_ms": 211.21300000231713 + }, + { + "repo": "pydantic", + "language": "python", + "chunks": 1518, + "ndcg5": 0.6795591269045096, + "ndcg10": 0.7070408064407742, + "p50_ms": 0.7077085028868169, + "p90_ms": 5.419328800053336, + "p95_ms": 5.460736850363901, + "p99_ms": 5.8342137692670795, + "index_ms": 490.06295901199337 + }, + { + "repo": "rack", + "language": "ruby", + "chunks": 249, + "ndcg5": 0.8630929753571458, + "ndcg10": 0.8630929753571458, + "p50_ms": 0.5508545000338927, + "p90_ms": 3.297654104244432, + "p95_ms": 4.897278542921414, + "p99_ms": 5.900289301353039, + "index_ms": 95.28016700642183 + }, + { + "repo": "rails", + "language": "ruby", + "chunks": 465, + "ndcg5": 0.8282867981913646, + "ndcg10": 0.8700179819334688, + "p50_ms": 0.8398539939662442, + "p90_ms": 4.356175306020307, + "p95_ms": 5.806233348994283, + "p99_ms": 5.957980260573095, + "index_ms": 173.15866700664628 + }, + { + "repo": "redux", + "language": "javascript", + "chunks": 53, + "ndcg5": 0.880657359638273, + "ndcg10": 0.8895193239774752, + "p50_ms": 0.41520850209053606, + "p90_ms": 1.88317499414552, + "p95_ms": 1.9154395515215583, + "p99_ms": 1.9202207089983858, + "index_ms": 22.507082991069183 + }, + { + "repo": "requests", + "language": "python", + "chunks": 169, + "ndcg5": 0.9550842629661954, + "ndcg10": 0.9550842629661954, + "p50_ms": 0.42218700400553644, + "p90_ms": 2.8600951874977913, + "p95_ms": 3.1725433909741696, + "p99_ms": 3.228941471752478, + "index_ms": 55.13016700570006 + }, + { + "repo": "serde", + "language": "rust", + "chunks": 1164, + "ndcg5": 0.555271503124185, + "ndcg10": 0.6210447469634717, + "p50_ms": 0.9351045009680092, + "p90_ms": 4.1320622083731005, + "p95_ms": 4.591564539441606, + "p99_ms": 4.602045707142679, + "index_ms": 395.6614999915473 + }, + { + "repo": "sinatra", + "language": "ruby", + "chunks": 68, + "ndcg5": 0.8387325493217617, + "ndcg10": 0.8387325493217617, + "p50_ms": 0.33872900530695915, + "p90_ms": 5.028229003073648, + "p95_ms": 5.107187251269352, + "p99_ms": 5.219637449772563, + "index_ms": 30.97937499114778 + }, + { + "repo": "starlette", + "language": "python", + "chunks": 213, + "ndcg5": 0.9058681185722455, + "ndcg10": 0.9294136613951622, + "p50_ms": 0.548916999832727, + "p90_ms": 2.8445420030038804, + "p95_ms": 2.939458005130291, + "p99_ms": 3.3380588050931697, + "index_ms": 78.91612499952316 + }, + { + "repo": "tokio", + "language": "rust", + "chunks": 2730, + "ndcg5": 0.8750003941122573, + "ndcg10": 0.8878478903956787, + "p50_ms": 0.8020000095712021, + "p90_ms": 7.26980039908085, + "p95_ms": 7.38200000487268, + "p99_ms": 7.732800003141165, + "index_ms": 931.3874170038616 + }, + { + "repo": "trpc", + "language": "typescript", + "chunks": 362, + "ndcg5": 0.6949834508995433, + "ndcg10": 0.7431267778412411, + "p50_ms": 0.8801670046523213, + "p90_ms": 3.3073160040657967, + "p95_ms": 3.3417246013414115, + "p99_ms": 3.3911121252458543, + "index_ms": 120.87112499284558 + }, + { + "repo": "zod", + "language": "typescript", + "chunks": 1777, + "ndcg5": 0.5978935011565394, + "ndcg10": 0.6432908990195153, + "p50_ms": 0.845311995362863, + "p90_ms": 5.873450005310588, + "p95_ms": 5.99258959045983, + "p99_ms": 6.527851524733705, + "index_ms": 648.9440000004834 + } + ] +} diff --git a/src/semble/index/file_walker.py b/src/semble/index/file_walker.py index ecb7d0b..ea7254d 100644 --- a/src/semble/index/file_walker.py +++ b/src/semble/index/file_walker.py @@ -39,6 +39,8 @@ class FileType: ".swift": FileType("swift", FileTypeType.CODE), ".scala": FileType("scala", FileTypeType.CODE), ".sbt": FileType("scala", FileTypeType.CODE), + ".ex": FileType("elixir", FileTypeType.CODE), + ".exs": FileType("elixir", FileTypeType.CODE), ".dart": FileType("dart", FileTypeType.CODE), ".lua": FileType("lua", FileTypeType.CODE), ".sql": FileType("sql", FileTypeType.CODE), From 2c6e4c28186549a90690e478bd57177f0fc3f8b8 Mon Sep 17 00:00:00 2001 From: Pringled Date: Thu, 16 Apr 2026 13:00:34 +0200 Subject: [PATCH 02/19] Add more benchmarks --- benchmarks/annotations/abseil-cpp.json | 122 +++ benchmarks/annotations/axum.json | 122 +++ benchmarks/annotations/circe.json | 122 +++ benchmarks/annotations/dapper.json | 122 +++ benchmarks/annotations/ecto.json | 122 +++ benchmarks/annotations/exposed.json | 122 +++ benchmarks/annotations/fmtlib.json | 122 +++ benchmarks/annotations/http4s.json | 122 +++ .../annotations/kotlinx-coroutines.json | 122 +++ benchmarks/annotations/newtonsoft-json.json | 122 +++ benchmarks/annotations/plug.json | 122 +++ benchmarks/annotations/rxswift.json | 122 +++ benchmarks/annotations/vapor.json | 122 +++ benchmarks/annotations/vitest.json | 122 +++ benchmarks/repos.json | 2 +- benchmarks/results/2b33d47d8783.json | 718 ++++++++++++++++++ 16 files changed, 2427 insertions(+), 1 deletion(-) create mode 100644 benchmarks/annotations/abseil-cpp.json create mode 100644 benchmarks/annotations/axum.json create mode 100644 benchmarks/annotations/circe.json create mode 100644 benchmarks/annotations/dapper.json create mode 100644 benchmarks/annotations/ecto.json create mode 100644 benchmarks/annotations/exposed.json create mode 100644 benchmarks/annotations/fmtlib.json create mode 100644 benchmarks/annotations/http4s.json create mode 100644 benchmarks/annotations/kotlinx-coroutines.json create mode 100644 benchmarks/annotations/newtonsoft-json.json create mode 100644 benchmarks/annotations/plug.json create mode 100644 benchmarks/annotations/rxswift.json create mode 100644 benchmarks/annotations/vapor.json create mode 100644 benchmarks/annotations/vitest.json create mode 100644 benchmarks/results/2b33d47d8783.json diff --git a/benchmarks/annotations/abseil-cpp.json b/benchmarks/annotations/abseil-cpp.json new file mode 100644 index 0000000..3cc1f3c --- /dev/null +++ b/benchmarks/annotations/abseil-cpp.json @@ -0,0 +1,122 @@ +[ + { + "query": "absl::flat_hash_map and flat_hash_set hash table containers", + "relevant": ["absl/container/flat_hash_map.h"], + "secondary": ["absl/container/flat_hash_set.h"], + "category": "semantic" + }, + { + "query": "how absl hash tables implement open addressing and SIMD probing", + "relevant": ["absl/container/internal/raw_hash_set.h"], + "secondary": [], + "category": "architecture" + }, + { + "query": "absl::string_view for non-owning string references", + "relevant": ["absl/strings/string_view.h"], + "secondary": [], + "category": "semantic" + }, + { + "query": "absl::StrCat and StrAppend for efficient string concatenation", + "relevant": ["absl/strings/str_cat.h"], + "secondary": [], + "category": "semantic" + }, + { + "query": "absl::StrSplit and StrJoin for string splitting and joining", + "relevant": ["absl/strings/str_split.h"], + "secondary": [], + "category": "semantic" + }, + { + "query": "absl::Status and StatusOr for error propagation", + "relevant": ["absl/status/status.h"], + "secondary": ["absl/status/statusor.h"], + "category": "semantic" + }, + { + "query": "absl::Time and absl::Duration for time representation", + "relevant": ["absl/time/time.h"], + "secondary": [], + "category": "semantic" + }, + { + "query": "absl::optional and absl::variant for vocabulary types", + "relevant": ["absl/types/optional.h"], + "secondary": ["absl/types/variant.h"], + "category": "semantic" + }, + { + "query": "absl::Mutex and MutexLock for synchronization", + "relevant": ["absl/synchronization/mutex.h"], + "secondary": [], + "category": "semantic" + }, + { + "query": "absl logging macros ABSL_LOG and ABSL_CHECK", + "relevant": ["absl/log/log.h"], + "secondary": [], + "category": "semantic" + }, + { + "query": "absl::Span for non-owning sequence view", + "relevant": ["absl/types/span.h"], + "secondary": [], + "category": "semantic" + }, + { + "query": "absl::node_hash_map for pointer-stable hash map", + "relevant": ["absl/container/node_hash_map.h"], + "secondary": [], + "category": "semantic" + }, + { + "query": "absl::Hash and the Abseil hashing framework", + "relevant": ["absl/hash/hash.h"], + "secondary": [], + "category": "architecture" + }, + { + "query": "absl::Notification for one-time event signaling between threads", + "relevant": ["absl/synchronization/notification.h"], + "secondary": [], + "category": "semantic" + }, + { + "query": "absl::AnyInvocable for move-only callable wrapper", + "relevant": ["absl/functional/any_invocable.h"], + "secondary": [], + "category": "semantic" + }, + { + "query": "absl::btree_map and btree_set sorted containers", + "relevant": ["absl/container/btree_map.h"], + "secondary": [], + "category": "semantic" + }, + { + "query": "absl::StrFormat and string formatting API", + "relevant": ["absl/strings/str_format.h"], + "secondary": [], + "category": "semantic" + }, + { + "query": "flat_hash_map", + "relevant": ["absl/container/flat_hash_map.h"], + "secondary": [], + "category": "symbol" + }, + { + "query": "Status", + "relevant": ["absl/status/status.h"], + "secondary": [], + "category": "symbol" + }, + { + "query": "Mutex", + "relevant": ["absl/synchronization/mutex.h"], + "secondary": [], + "category": "symbol" + } +] diff --git a/benchmarks/annotations/axum.json b/benchmarks/annotations/axum.json new file mode 100644 index 0000000..aa74902 --- /dev/null +++ b/benchmarks/annotations/axum.json @@ -0,0 +1,122 @@ +[ + { + "query": "how axum routes requests to handler functions", + "relevant": ["axum/src/routing/mod.rs"], + "secondary": [], + "category": "architecture" + }, + { + "query": "Router builder for adding routes and middleware", + "relevant": ["axum/src/routing/mod.rs"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how extractors implement FromRequest and FromRequestParts", + "relevant": ["axum/src/extract/mod.rs"], + "secondary": [], + "category": "architecture" + }, + { + "query": "Path extractor for capturing URL path parameters", + "relevant": ["axum/src/extract/path.rs"], + "secondary": [], + "category": "semantic" + }, + { + "query": "State extractor for sharing application state across handlers", + "relevant": ["axum/src/extract/state.rs"], + "secondary": [], + "category": "semantic" + }, + { + "query": "Json extractor and response for deserializing and serializing JSON bodies", + "relevant": ["axum/src/json.rs"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how IntoResponse converts handler return values to HTTP responses", + "relevant": ["axum/src/response/mod.rs"], + "secondary": [], + "category": "architecture" + }, + { + "query": "middleware layers and how Tower services integrate with axum", + "relevant": ["axum/src/middleware/mod.rs"], + "secondary": [], + "category": "architecture" + }, + { + "query": "from_fn middleware for wrapping handlers with async functions", + "relevant": ["axum/src/middleware/from_fn.rs"], + "secondary": [], + "category": "semantic" + }, + { + "query": "error handling and how errors are converted to responses", + "relevant": ["axum/src/error_handling/mod.rs"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how axum nests routers and merges router trees", + "relevant": ["axum/src/routing/mod.rs"], + "secondary": [], + "category": "architecture" + }, + { + "query": "Form extractor for parsing URL-encoded request bodies", + "relevant": ["axum/src/form.rs"], + "secondary": [], + "category": "semantic" + }, + { + "query": "WebSocket upgrade and handler", + "relevant": ["axum/src/extract/ws.rs"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how MethodRouter dispatches GET POST PUT DELETE by HTTP method", + "relevant": ["axum/src/routing/method_routing.rs"], + "secondary": [], + "category": "architecture" + }, + { + "query": "BoxedIntoRoute and type-erased route storage", + "relevant": ["axum/src/routing/route.rs"], + "secondary": [], + "category": "semantic" + }, + { + "query": "multipart form data extraction", + "relevant": ["axum/src/extract/multipart.rs"], + "secondary": [], + "category": "semantic" + }, + { + "query": "typed header extraction from HTTP requests", + "relevant": ["axum/src/extract/mod.rs"], + "secondary": [], + "category": "semantic" + }, + { + "query": "Router", + "relevant": ["axum/src/routing/mod.rs"], + "secondary": [], + "category": "symbol" + }, + { + "query": "IntoResponse", + "relevant": ["axum/src/response/mod.rs"], + "secondary": [], + "category": "symbol" + }, + { + "query": "FromRequest", + "relevant": ["axum/src/extract/mod.rs"], + "secondary": [], + "category": "symbol" + } +] diff --git a/benchmarks/annotations/circe.json b/benchmarks/annotations/circe.json new file mode 100644 index 0000000..d054b3c --- /dev/null +++ b/benchmarks/annotations/circe.json @@ -0,0 +1,122 @@ +[ + { + "query": "how Encoder typeclass converts Scala values to JSON", + "relevant": ["modules/core/shared/src/main/scala/io/circe/Encoder.scala"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how Decoder typeclass parses JSON into Scala values", + "relevant": ["modules/core/shared/src/main/scala/io/circe/Decoder.scala"], + "secondary": [], + "category": "architecture" + }, + { + "query": "Json ADT representing JSON values null boolean number string array object", + "relevant": ["modules/core/shared/src/main/scala/io/circe/Json.scala"], + "secondary": [], + "category": "semantic" + }, + { + "query": "Codec combining Encoder and Decoder for bidirectional conversion", + "relevant": ["modules/core/shared/src/main/scala/io/circe/Codec.scala"], + "secondary": [], + "category": "semantic" + }, + { + "query": "HCursor and cursor navigation for traversing JSON trees", + "relevant": ["modules/core/shared/src/main/scala/io/circe/HCursor.scala"], + "secondary": [], + "category": "architecture" + }, + { + "query": "ACursor abstract cursor for JSON traversal with error accumulation", + "relevant": ["modules/core/shared/src/main/scala/io/circe/ACursor.scala"], + "secondary": [], + "category": "semantic" + }, + { + "query": "DecodingFailure and circe error types", + "relevant": ["modules/core/shared/src/main/scala/io/circe/DecodingFailure.scala"], + "secondary": [], + "category": "semantic" + }, + { + "query": "JsonObject for key-value JSON object representation", + "relevant": ["modules/core/shared/src/main/scala/io/circe/JsonObject.scala"], + "secondary": [], + "category": "semantic" + }, + { + "query": "JsonNumber representation for precise numeric values", + "relevant": ["modules/core/shared/src/main/scala/io/circe/JsonNumber.scala"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how circe derives Encoder and Decoder instances for case classes", + "relevant": ["modules/core/shared/src/main/scala/io/circe/Encoder.scala"], + "secondary": [], + "category": "architecture" + }, + { + "query": "Printer for controlling JSON serialization formatting", + "relevant": ["modules/core/shared/src/main/scala/io/circe/Printer.scala"], + "secondary": [], + "category": "semantic" + }, + { + "query": "accumulating decoder errors with andAccumulating", + "relevant": ["modules/core/shared/src/main/scala/io/circe/Decoder.scala"], + "secondary": [], + "category": "semantic" + }, + { + "query": "emap and flatMap on Decoder for validation and transformation", + "relevant": ["modules/core/shared/src/main/scala/io/circe/Decoder.scala"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how circe parses a JSON string into a Json value", + "relevant": ["modules/core/shared/src/main/scala/io/circe/Parser.scala"], + "secondary": [], + "category": "architecture" + }, + { + "query": "KeyEncoder and KeyDecoder for Map key serialization", + "relevant": ["modules/core/shared/src/main/scala/io/circe/KeyEncoder.scala"], + "secondary": [], + "category": "semantic" + }, + { + "query": "circe generic auto and semi-auto derivation configuration", + "relevant": ["modules/core/shared/src/main/scala/io/circe/Decoder.scala"], + "secondary": [], + "category": "semantic" + }, + { + "query": "down field and array index cursor operations", + "relevant": ["modules/core/shared/src/main/scala/io/circe/HCursor.scala"], + "secondary": [], + "category": "semantic" + }, + { + "query": "Encoder", + "relevant": ["modules/core/shared/src/main/scala/io/circe/Encoder.scala"], + "secondary": [], + "category": "symbol" + }, + { + "query": "Decoder", + "relevant": ["modules/core/shared/src/main/scala/io/circe/Decoder.scala"], + "secondary": [], + "category": "symbol" + }, + { + "query": "Json", + "relevant": ["modules/core/shared/src/main/scala/io/circe/Json.scala"], + "secondary": [], + "category": "symbol" + } +] diff --git a/benchmarks/annotations/dapper.json b/benchmarks/annotations/dapper.json new file mode 100644 index 0000000..a88bd52 --- /dev/null +++ b/benchmarks/annotations/dapper.json @@ -0,0 +1,122 @@ +[ + { + "query": "how Dapper Query maps SQL results to typed objects", + "relevant": ["Dapper/SqlMapper.cs"], + "secondary": [], + "category": "architecture" + }, + { + "query": "Execute and ExecuteScalar for running SQL commands", + "relevant": ["Dapper/SqlMapper.cs"], + "secondary": [], + "category": "semantic" + }, + { + "query": "async Query and Execute methods for database operations", + "relevant": ["Dapper/SqlMapper.Async.cs"], + "secondary": [], + "category": "semantic" + }, + { + "query": "DynamicParameters for passing dynamic SQL parameters", + "relevant": ["Dapper/DynamicParameters.cs"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how Dapper maps columns to object properties by name", + "relevant": ["Dapper/SqlMapper.cs"], + "secondary": [], + "category": "architecture" + }, + { + "query": "multi-mapping QueryMultiple for reading multiple result sets", + "relevant": ["Dapper/SqlMapper.cs"], + "secondary": [], + "category": "semantic" + }, + { + "query": "CommandDefinition for parameterized command configuration", + "relevant": ["Dapper/CommandDefinition.cs"], + "secondary": [], + "category": "semantic" + }, + { + "query": "DbString for specifying varchar vs nvarchar parameters", + "relevant": ["Dapper/DbString.cs"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how Dapper caches parameter and deserializer IL", + "relevant": ["Dapper/SqlMapper.cs"], + "secondary": [], + "category": "architecture" + }, + { + "query": "TypeHandler and custom type mapping", + "relevant": ["Dapper/SqlMapper.cs"], + "secondary": [], + "category": "semantic" + }, + { + "query": "split-on multi-mapping for joining related objects", + "relevant": ["Dapper/SqlMapper.cs"], + "secondary": [], + "category": "semantic" + }, + { + "query": "table-valued parameter support", + "relevant": ["Dapper/TableValuedParameter.cs"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how IDataReader is consumed and results materialized", + "relevant": ["Dapper/SqlMapper.cs"], + "secondary": [], + "category": "architecture" + }, + { + "query": "QueryFirst and QuerySingle for single-row queries", + "relevant": ["Dapper/SqlMapper.cs"], + "secondary": [], + "category": "semantic" + }, + { + "query": "transaction support in Dapper queries", + "relevant": ["Dapper/SqlMapper.cs"], + "secondary": [], + "category": "semantic" + }, + { + "query": "FeatureSupport and database dialect detection", + "relevant": ["Dapper/FeatureSupport.cs"], + "secondary": [], + "category": "semantic" + }, + { + "query": "wrapping IDbConnection extension methods", + "relevant": ["Dapper/SqlMapper.cs"], + "secondary": [], + "category": "semantic" + }, + { + "query": "SqlMapper", + "relevant": ["Dapper/SqlMapper.cs"], + "secondary": [], + "category": "symbol" + }, + { + "query": "DynamicParameters", + "relevant": ["Dapper/DynamicParameters.cs"], + "secondary": [], + "category": "symbol" + }, + { + "query": "CommandDefinition", + "relevant": ["Dapper/CommandDefinition.cs"], + "secondary": [], + "category": "symbol" + } +] diff --git a/benchmarks/annotations/ecto.json b/benchmarks/annotations/ecto.json new file mode 100644 index 0000000..709ae29 --- /dev/null +++ b/benchmarks/annotations/ecto.json @@ -0,0 +1,122 @@ +[ + { + "query": "how Ecto.Schema defines database-backed structs and associations", + "relevant": ["lib/ecto/schema.ex"], + "secondary": [], + "category": "architecture" + }, + { + "query": "Ecto.Changeset for validating and transforming data", + "relevant": ["lib/ecto/changeset.ex"], + "secondary": [], + "category": "architecture" + }, + { + "query": "Ecto.Query DSL for composing SQL queries", + "relevant": ["lib/ecto/query.ex"], + "secondary": [], + "category": "semantic" + }, + { + "query": "Ecto.Repo behaviour for database interactions", + "relevant": ["lib/ecto/repo.ex"], + "secondary": [], + "category": "architecture" + }, + { + "query": "cast and validate_required in changesets", + "relevant": ["lib/ecto/changeset.ex"], + "secondary": [], + "category": "semantic" + }, + { + "query": "has_many belongs_to and many-to-many association definitions", + "relevant": ["lib/ecto/schema.ex"], + "secondary": [], + "category": "semantic" + }, + { + "query": "Ecto.Migration for defining database migrations", + "relevant": ["lib/ecto/migration.ex"], + "secondary": [], + "category": "semantic" + }, + { + "query": "from where select and order_by query expressions", + "relevant": ["lib/ecto/query.ex"], + "secondary": [], + "category": "semantic" + }, + { + "query": "preload for loading associations eagerly", + "relevant": ["lib/ecto/query.ex"], + "secondary": [], + "category": "semantic" + }, + { + "query": "Ecto.Type for custom field type definitions", + "relevant": ["lib/ecto/type.ex"], + "secondary": [], + "category": "semantic" + }, + { + "query": "insert update delete and transaction repo callbacks", + "relevant": ["lib/ecto/repo.ex"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how Ecto handles embedded schemas", + "relevant": ["lib/ecto/schema.ex"], + "secondary": [], + "category": "semantic" + }, + { + "query": "validate_format validate_length and constraint validators", + "relevant": ["lib/ecto/changeset.ex"], + "secondary": [], + "category": "semantic" + }, + { + "query": "Ecto.Queryable protocol for query composition", + "relevant": ["lib/ecto/queryable.ex"], + "secondary": [], + "category": "semantic" + }, + { + "query": "Multi for composing multiple database operations in a transaction", + "relevant": ["lib/ecto/multi.ex"], + "secondary": [], + "category": "semantic" + }, + { + "query": "optimistic locking with lock_version in changesets", + "relevant": ["lib/ecto/changeset.ex"], + "secondary": [], + "category": "semantic" + }, + { + "query": "association and embeds_many embeds_one for nested data", + "relevant": ["lib/ecto/schema.ex"], + "secondary": [], + "category": "semantic" + }, + { + "query": "Schema", + "relevant": ["lib/ecto/schema.ex"], + "secondary": [], + "category": "symbol" + }, + { + "query": "Changeset", + "relevant": ["lib/ecto/changeset.ex"], + "secondary": [], + "category": "symbol" + }, + { + "query": "Query", + "relevant": ["lib/ecto/query.ex"], + "secondary": [], + "category": "symbol" + } +] diff --git a/benchmarks/annotations/exposed.json b/benchmarks/annotations/exposed.json new file mode 100644 index 0000000..9478cfc --- /dev/null +++ b/benchmarks/annotations/exposed.json @@ -0,0 +1,122 @@ +[ + { + "query": "how Table defines columns and constraints in Exposed DSL", + "relevant": ["exposed-core/src/main/kotlin/org/jetbrains/exposed/v1/core/Table.kt"], + "secondary": [], + "category": "architecture" + }, + { + "query": "Column definition and column types in Exposed", + "relevant": ["exposed-core/src/main/kotlin/org/jetbrains/exposed/v1/core/Column.kt"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how SQL queries are built with the Exposed query DSL", + "relevant": ["exposed-core/src/main/kotlin/org/jetbrains/exposed/v1/core/AbstractQuery.kt"], + "secondary": [], + "category": "architecture" + }, + { + "query": "Transaction block and database session management", + "relevant": ["exposed-core/src/main/kotlin/org/jetbrains/exposed/v1/core/Transaction.kt"], + "secondary": [], + "category": "semantic" + }, + { + "query": "Database connection configuration and dialect selection", + "relevant": ["exposed-core/src/main/kotlin/org/jetbrains/exposed/v1/core/DatabaseApi.kt"], + "secondary": [], + "category": "semantic" + }, + { + "query": "insert insertAndGetId and batch insert operations", + "relevant": ["exposed-core/src/main/kotlin/org/jetbrains/exposed/v1/core/statements/InsertStatement.kt"], + "secondary": [], + "category": "semantic" + }, + { + "query": "update and delete statement builders", + "relevant": ["exposed-core/src/main/kotlin/org/jetbrains/exposed/v1/core/statements/UpdateStatement.kt"], + "secondary": ["exposed-core/src/main/kotlin/org/jetbrains/exposed/v1/core/statements/DeleteStatement.kt"], + "category": "semantic" + }, + { + "query": "Op and SqlExpressionBuilder for composing WHERE conditions", + "relevant": ["exposed-core/src/main/kotlin/org/jetbrains/exposed/v1/core/Op.kt"], + "secondary": [], + "category": "semantic" + }, + { + "query": "aggregate functions sum count avg and groupBy", + "relevant": ["exposed-core/src/main/kotlin/org/jetbrains/exposed/v1/core/Function.kt"], + "secondary": [], + "category": "semantic" + }, + { + "query": "SchemaUtils for creating and dropping database tables", + "relevant": ["exposed-core/src/main/kotlin/org/jetbrains/exposed/v1/core/SchemaUtilityApi.kt"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how expressions and SQL operators are composed in Exposed", + "relevant": ["exposed-core/src/main/kotlin/org/jetbrains/exposed/v1/core/Expression.kt"], + "secondary": [], + "category": "architecture" + }, + { + "query": "vendor-specific SQL generation and database dialect interface", + "relevant": ["exposed-core/src/main/kotlin/org/jetbrains/exposed/v1/core/vendors/DatabaseDialect.kt"], + "secondary": [], + "category": "semantic" + }, + { + "query": "ResultRow and how query results are read by column", + "relevant": ["exposed-core/src/main/kotlin/org/jetbrains/exposed/v1/core/ResultRow.kt"], + "secondary": [], + "category": "semantic" + }, + { + "query": "index and unique constraint definition on tables", + "relevant": ["exposed-core/src/main/kotlin/org/jetbrains/exposed/v1/core/Constraints.kt"], + "secondary": [], + "category": "semantic" + }, + { + "query": "ColumnType mapping between Kotlin types and SQL types", + "relevant": ["exposed-core/src/main/kotlin/org/jetbrains/exposed/v1/core/ColumnType.kt"], + "secondary": [], + "category": "semantic" + }, + { + "query": "upsert and batch upsert statement for insert-or-update", + "relevant": ["exposed-core/src/main/kotlin/org/jetbrains/exposed/v1/core/statements/UpsertStatement.kt"], + "secondary": [], + "category": "semantic" + }, + { + "query": "database exceptions and error handling in Exposed", + "relevant": ["exposed-core/src/main/kotlin/org/jetbrains/exposed/v1/core/Exceptions.kt"], + "secondary": [], + "category": "semantic" + }, + { + "query": "Table", + "relevant": ["exposed-core/src/main/kotlin/org/jetbrains/exposed/v1/core/Table.kt"], + "secondary": [], + "category": "symbol" + }, + { + "query": "Transaction", + "relevant": ["exposed-core/src/main/kotlin/org/jetbrains/exposed/v1/core/Transaction.kt"], + "secondary": [], + "category": "symbol" + }, + { + "query": "ResultRow", + "relevant": ["exposed-core/src/main/kotlin/org/jetbrains/exposed/v1/core/ResultRow.kt"], + "secondary": [], + "category": "symbol" + } +] diff --git a/benchmarks/annotations/fmtlib.json b/benchmarks/annotations/fmtlib.json new file mode 100644 index 0000000..70a1385 --- /dev/null +++ b/benchmarks/annotations/fmtlib.json @@ -0,0 +1,122 @@ +[ + { + "query": "how fmt::format and fmt::print format strings at runtime", + "relevant": ["include/fmt/format.h"], + "secondary": [], + "category": "architecture" + }, + { + "query": "core format_arg and basic_format_args argument storage", + "relevant": ["include/fmt/core.h"], + "secondary": [], + "category": "architecture" + }, + { + "query": "formatter specialization for custom type formatting", + "relevant": ["include/fmt/format.h"], + "secondary": [], + "category": "semantic" + }, + { + "query": "compile-time format string checking with FMT_STRING", + "relevant": ["include/fmt/core.h"], + "secondary": [], + "category": "semantic" + }, + { + "query": "color and text style formatting for terminal output", + "relevant": ["include/fmt/color.h"], + "secondary": [], + "category": "semantic" + }, + { + "query": "formatting ranges containers and tuples", + "relevant": ["include/fmt/ranges.h"], + "secondary": [], + "category": "semantic" + }, + { + "query": "chrono duration and time point formatting", + "relevant": ["include/fmt/chrono.h"], + "secondary": [], + "category": "semantic" + }, + { + "query": "ostream integration for writing to std::ostream", + "relevant": ["include/fmt/ostream.h"], + "secondary": [], + "category": "semantic" + }, + { + "query": "printf-compatible formatting with fmt::printf and fmt::sprintf", + "relevant": ["include/fmt/printf.h"], + "secondary": [], + "category": "semantic" + }, + { + "query": "format_to and back_insert_iterator output adapters", + "relevant": ["include/fmt/format.h"], + "secondary": [], + "category": "semantic" + }, + { + "query": "memory buffer and basic_memory_buffer for efficient allocation", + "relevant": ["include/fmt/format.h"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how dynamic format arguments are stored and accessed", + "relevant": ["include/fmt/core.h"], + "secondary": [], + "category": "architecture" + }, + { + "query": "std::filesystem path formatting support", + "relevant": ["include/fmt/std.h"], + "secondary": [], + "category": "semantic" + }, + { + "query": "format_error exception for invalid format strings", + "relevant": ["include/fmt/core.h"], + "secondary": [], + "category": "semantic" + }, + { + "query": "width precision fill and alignment format specifiers", + "relevant": ["include/fmt/format.h"], + "secondary": [], + "category": "semantic" + }, + { + "query": "named arguments in format strings with fmt::arg", + "relevant": ["include/fmt/core.h"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how fmt handles integer floating point and string formatting", + "relevant": ["include/fmt/format.h"], + "secondary": [], + "category": "semantic" + }, + { + "query": "formatter", + "relevant": ["include/fmt/format.h"], + "secondary": [], + "category": "symbol" + }, + { + "query": "basic_format_args", + "relevant": ["include/fmt/core.h"], + "secondary": [], + "category": "symbol" + }, + { + "query": "basic_memory_buffer", + "relevant": ["include/fmt/format.h"], + "secondary": [], + "category": "symbol" + } +] diff --git a/benchmarks/annotations/http4s.json b/benchmarks/annotations/http4s.json new file mode 100644 index 0000000..b6e08d9 --- /dev/null +++ b/benchmarks/annotations/http4s.json @@ -0,0 +1,122 @@ +[ + { + "query": "how HttpRoutes define pattern-matched HTTP request handlers", + "relevant": ["core/shared/src/main/scala/org/http4s/HttpRoutes.scala"], + "secondary": [], + "category": "architecture" + }, + { + "query": "Message Request and Response HTTP message representation", + "relevant": ["core/shared/src/main/scala/org/http4s/Message.scala"], + "secondary": [], + "category": "semantic" + }, + { + "query": "EntityDecoder for parsing request bodies", + "relevant": ["core/shared/src/main/scala/org/http4s/EntityDecoder.scala"], + "secondary": [], + "category": "semantic" + }, + { + "query": "EntityEncoder for serializing response bodies", + "relevant": ["core/shared/src/main/scala/org/http4s/EntityEncoder.scala"], + "secondary": [], + "category": "semantic" + }, + { + "query": "Headers and individual Header types", + "relevant": ["core/shared/src/main/scala/org/http4s/Headers.scala"], + "secondary": [], + "category": "semantic" + }, + { + "query": "Uri parsing and construction", + "relevant": ["core/shared/src/main/scala/org/http4s/Uri.scala"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how Kleisli and OptionT power the Http and HttpRoutes algebra", + "relevant": ["core/shared/src/main/scala/org/http4s/Http.scala"], + "secondary": ["core/shared/src/main/scala/org/http4s/HttpRoutes.scala"], + "category": "architecture" + }, + { + "query": "Status codes and HTTP response status", + "relevant": ["core/shared/src/main/scala/org/http4s/Status.scala"], + "secondary": [], + "category": "semantic" + }, + { + "query": "Method HTTP verb enumeration", + "relevant": ["core/shared/src/main/scala/org/http4s/Method.scala"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how query parameters are extracted and decoded from URIs", + "relevant": ["core/shared/src/main/scala/org/http4s/QueryParam.scala"], + "secondary": [], + "category": "semantic" + }, + { + "query": "StaticFile for serving static assets", + "relevant": ["core/shared/src/main/scala/org/http4s/StaticFile.scala"], + "secondary": [], + "category": "semantic" + }, + { + "query": "Media type and content type handling", + "relevant": ["core/shared/src/main/scala/org/http4s/MediaType.scala"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how http4s HttpApp lifts routes to a cats-effect IO application", + "relevant": ["core/shared/src/main/scala/org/http4s/HttpApp.scala"], + "secondary": [], + "category": "architecture" + }, + { + "query": "cookie parsing and Set-Cookie header handling", + "relevant": ["core/shared/src/main/scala/org/http4s/headers/Set-Cookie.scala"], + "secondary": [], + "category": "semantic" + }, + { + "query": "MessageFailure and http4s error types", + "relevant": ["core/shared/src/main/scala/org/http4s/MessageFailure.scala"], + "secondary": [], + "category": "semantic" + }, + { + "query": "Entity body representation and streaming", + "relevant": ["core/shared/src/main/scala/org/http4s/Entity.scala"], + "secondary": [], + "category": "semantic" + }, + { + "query": "FormDataDecoder for parsing URL-encoded form bodies", + "relevant": ["core/shared/src/main/scala/org/http4s/FormDataDecoder.scala"], + "secondary": [], + "category": "semantic" + }, + { + "query": "HttpRoutes", + "relevant": ["core/shared/src/main/scala/org/http4s/HttpRoutes.scala"], + "secondary": [], + "category": "symbol" + }, + { + "query": "EntityDecoder", + "relevant": ["core/shared/src/main/scala/org/http4s/EntityDecoder.scala"], + "secondary": [], + "category": "symbol" + }, + { + "query": "Uri", + "relevant": ["core/shared/src/main/scala/org/http4s/Uri.scala"], + "secondary": [], + "category": "symbol" + } +] diff --git a/benchmarks/annotations/kotlinx-coroutines.json b/benchmarks/annotations/kotlinx-coroutines.json new file mode 100644 index 0000000..bec4906 --- /dev/null +++ b/benchmarks/annotations/kotlinx-coroutines.json @@ -0,0 +1,122 @@ +[ + { + "query": "how launch and async coroutine builders start coroutines", + "relevant": ["kotlinx-coroutines-core/common/src/Builders.common.kt"], + "secondary": [], + "category": "architecture" + }, + { + "query": "Deferred and await for async result computation", + "relevant": ["kotlinx-coroutines-core/common/src/Deferred.kt"], + "secondary": [], + "category": "semantic" + }, + { + "query": "Job interface and coroutine lifecycle management", + "relevant": ["kotlinx-coroutines-core/common/src/Job.kt"], + "secondary": [], + "category": "semantic" + }, + { + "query": "CoroutineScope and structured concurrency", + "relevant": ["kotlinx-coroutines-core/common/src/CoroutineScope.kt"], + "secondary": [], + "category": "architecture" + }, + { + "query": "CoroutineContext and coroutine context elements", + "relevant": ["kotlinx-coroutines-core/common/src/CoroutineContext.kt"], + "secondary": [], + "category": "semantic" + }, + { + "query": "Flow interface and cold stream definition", + "relevant": ["kotlinx-coroutines-core/common/src/flow/Flow.kt"], + "secondary": [], + "category": "semantic" + }, + { + "query": "flow builder and how cold flows are created", + "relevant": ["kotlinx-coroutines-core/common/src/flow/Builders.kt"], + "secondary": [], + "category": "semantic" + }, + { + "query": "flow operators map filter transform and collect", + "relevant": ["kotlinx-coroutines-core/common/src/flow/operators/Transform.kt"], + "secondary": [], + "category": "semantic" + }, + { + "query": "Channel for sending and receiving values between coroutines", + "relevant": ["kotlinx-coroutines-core/common/src/channels/Channel.kt"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how select expression waits on multiple suspending operations", + "relevant": ["kotlinx-coroutines-core/common/src/selects/Select.kt"], + "secondary": [], + "category": "architecture" + }, + { + "query": "Mutex and Semaphore for coroutine synchronization", + "relevant": ["kotlinx-coroutines-core/common/src/sync/Mutex.kt"], + "secondary": [], + "category": "semantic" + }, + { + "query": "withContext for switching coroutine dispatcher context", + "relevant": ["kotlinx-coroutines-core/common/src/Builders.common.kt"], + "secondary": [], + "category": "semantic" + }, + { + "query": "CoroutineDispatcher and dispatching coroutines to threads", + "relevant": ["kotlinx-coroutines-core/common/src/CoroutineDispatcher.kt"], + "secondary": [], + "category": "semantic" + }, + { + "query": "StateFlow and SharedFlow for hot reactive state", + "relevant": ["kotlinx-coroutines-core/common/src/flow/StateFlow.kt"], + "secondary": [], + "category": "semantic" + }, + { + "query": "coroutine exception handling and CoroutineExceptionHandler", + "relevant": ["kotlinx-coroutines-core/common/src/CoroutineExceptionHandler.kt"], + "secondary": [], + "category": "semantic" + }, + { + "query": "SupervisorJob and supervisor scope for isolated failure handling", + "relevant": ["kotlinx-coroutines-core/common/src/Supervisor.kt"], + "secondary": [], + "category": "semantic" + }, + { + "query": "delay and withTimeout suspending time functions", + "relevant": ["kotlinx-coroutines-core/common/src/Delay.kt"], + "secondary": [], + "category": "semantic" + }, + { + "query": "Job", + "relevant": ["kotlinx-coroutines-core/common/src/Job.kt"], + "secondary": [], + "category": "symbol" + }, + { + "query": "Flow", + "relevant": ["kotlinx-coroutines-core/common/src/flow/Flow.kt"], + "secondary": [], + "category": "symbol" + }, + { + "query": "Channel", + "relevant": ["kotlinx-coroutines-core/common/src/channels/Channel.kt"], + "secondary": [], + "category": "symbol" + } +] diff --git a/benchmarks/annotations/newtonsoft-json.json b/benchmarks/annotations/newtonsoft-json.json new file mode 100644 index 0000000..3931dad --- /dev/null +++ b/benchmarks/annotations/newtonsoft-json.json @@ -0,0 +1,122 @@ +[ + { + "query": "how JsonConvert serializes and deserializes objects", + "relevant": ["Src/Newtonsoft.Json/JsonConvert.cs"], + "secondary": [], + "category": "architecture" + }, + { + "query": "JsonSerializer core serialization and deserialization engine", + "relevant": ["Src/Newtonsoft.Json/JsonSerializer.cs"], + "secondary": [], + "category": "architecture" + }, + { + "query": "JsonReader base class and token reading API", + "relevant": ["Src/Newtonsoft.Json/JsonReader.cs"], + "secondary": [], + "category": "semantic" + }, + { + "query": "JsonWriter base class and token writing API", + "relevant": ["Src/Newtonsoft.Json/JsonWriter.cs"], + "secondary": [], + "category": "semantic" + }, + { + "query": "JsonTextReader for reading JSON from text input", + "relevant": ["Src/Newtonsoft.Json/JsonTextReader.cs"], + "secondary": [], + "category": "semantic" + }, + { + "query": "JsonTextWriter for writing JSON to text output", + "relevant": ["Src/Newtonsoft.Json/JsonTextWriter.cs"], + "secondary": [], + "category": "semantic" + }, + { + "query": "JToken JObject JArray LINQ to JSON object model", + "relevant": ["Src/Newtonsoft.Json/Linq/JToken.cs"], + "secondary": ["Src/Newtonsoft.Json/Linq/JObject.cs"], + "category": "architecture" + }, + { + "query": "JObject for dynamic JSON object manipulation", + "relevant": ["Src/Newtonsoft.Json/Linq/JObject.cs"], + "secondary": [], + "category": "semantic" + }, + { + "query": "JsonConverter abstract class for custom type conversion", + "relevant": ["Src/Newtonsoft.Json/JsonConverter.cs"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how JsonSerializerSettings configures serializer behavior", + "relevant": ["Src/Newtonsoft.Json/JsonSerializerSettings.cs"], + "secondary": [], + "category": "semantic" + }, + { + "query": "contract resolver and how JSON property names are determined", + "relevant": ["Src/Newtonsoft.Json/Serialization/DefaultContractResolver.cs"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how the internal serializer writer maps .NET objects to JSON tokens", + "relevant": ["Src/Newtonsoft.Json/Serialization/JsonSerializerInternalWriter.cs"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how the internal serializer reader maps JSON tokens to .NET objects", + "relevant": ["Src/Newtonsoft.Json/Serialization/JsonSerializerInternalReader.cs"], + "secondary": [], + "category": "architecture" + }, + { + "query": "NullValueHandling and reference loop handling settings", + "relevant": ["Src/Newtonsoft.Json/JsonSerializerSettings.cs"], + "secondary": [], + "category": "semantic" + }, + { + "query": "JsonProperty and JsonObject attribute for controlling serialization", + "relevant": ["Src/Newtonsoft.Json/JsonPropertyAttribute.cs"], + "secondary": [], + "category": "semantic" + }, + { + "query": "JsonException and JSON error types", + "relevant": ["Src/Newtonsoft.Json/JsonException.cs"], + "secondary": [], + "category": "semantic" + }, + { + "query": "date handling and ISO 8601 parsing in Newtonsoft.Json", + "relevant": ["Src/Newtonsoft.Json/Utilities/DateTimeUtils.cs"], + "secondary": [], + "category": "semantic" + }, + { + "query": "JsonConvert", + "relevant": ["Src/Newtonsoft.Json/JsonConvert.cs"], + "secondary": [], + "category": "symbol" + }, + { + "query": "JToken", + "relevant": ["Src/Newtonsoft.Json/Linq/JToken.cs"], + "secondary": [], + "category": "symbol" + }, + { + "query": "JsonConverter", + "relevant": ["Src/Newtonsoft.Json/JsonConverter.cs"], + "secondary": [], + "category": "symbol" + } +] diff --git a/benchmarks/annotations/plug.json b/benchmarks/annotations/plug.json new file mode 100644 index 0000000..466e411 --- /dev/null +++ b/benchmarks/annotations/plug.json @@ -0,0 +1,122 @@ +[ + { + "query": "Plug.Conn struct and HTTP connection representation", + "relevant": ["lib/plug/conn.ex"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how the Plug behaviour defines call/2 for composable middleware", + "relevant": ["lib/plug/builder.ex"], + "secondary": [], + "category": "architecture" + }, + { + "query": "Plug.Router for pattern-matched route dispatch", + "relevant": ["lib/plug/router.ex"], + "secondary": [], + "category": "semantic" + }, + { + "query": "Plug.Parsers for parsing request body content types", + "relevant": ["lib/plug/parsers.ex"], + "secondary": [], + "category": "semantic" + }, + { + "query": "JSON body parser plug", + "relevant": ["lib/plug/parsers/json.ex"], + "secondary": [], + "category": "semantic" + }, + { + "query": "URL-encoded form body parser", + "relevant": ["lib/plug/parsers/urlencoded.ex"], + "secondary": [], + "category": "semantic" + }, + { + "query": "multipart body parser and file upload handling", + "relevant": ["lib/plug/parsers/multipart.ex"], + "secondary": [], + "category": "semantic" + }, + { + "query": "Plug.Session for cookie and server-side session management", + "relevant": ["lib/plug/session.ex"], + "secondary": [], + "category": "semantic" + }, + { + "query": "cookie store for Plug.Session", + "relevant": ["lib/plug/session/cookie.ex"], + "secondary": [], + "category": "semantic" + }, + { + "query": "CSRF protection plug", + "relevant": ["lib/plug/csrf_protection.ex"], + "secondary": [], + "category": "semantic" + }, + { + "query": "Plug.Static for serving static files", + "relevant": ["lib/plug/static.ex"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how Plug.Builder pipelines multiple plugs together", + "relevant": ["lib/plug/builder.ex"], + "secondary": [], + "category": "architecture" + }, + { + "query": "request path and query string helpers on Plug.Conn", + "relevant": ["lib/plug/conn.ex"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how halt stops a plug pipeline from continuing", + "relevant": ["lib/plug/conn.ex"], + "secondary": [], + "category": "semantic" + }, + { + "query": "sending responses and setting response status in Plug", + "relevant": ["lib/plug/conn.ex"], + "secondary": [], + "category": "semantic" + }, + { + "query": "Plug.SSL for HTTPS enforcement and HSTS headers", + "relevant": ["lib/plug/ssl.ex"], + "secondary": [], + "category": "semantic" + }, + { + "query": "request path parameter extraction in Plug.Router", + "relevant": ["lib/plug/router/utils.ex"], + "secondary": [], + "category": "semantic" + }, + { + "query": "Conn", + "relevant": ["lib/plug/conn.ex"], + "secondary": [], + "category": "symbol" + }, + { + "query": "Router", + "relevant": ["lib/plug/router.ex"], + "secondary": [], + "category": "symbol" + }, + { + "query": "Builder", + "relevant": ["lib/plug/builder.ex"], + "secondary": [], + "category": "symbol" + } +] diff --git a/benchmarks/annotations/rxswift.json b/benchmarks/annotations/rxswift.json new file mode 100644 index 0000000..11f9ce6 --- /dev/null +++ b/benchmarks/annotations/rxswift.json @@ -0,0 +1,122 @@ +[ + { + "query": "how Observable represents an asynchronous sequence of events", + "relevant": ["Sources/RxSwift/Observable.swift"], + "secondary": [], + "category": "architecture" + }, + { + "query": "ObserverType protocol and event delivery contract", + "relevant": ["Sources/RxSwift/ObserverType.swift"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how subscribe attaches an observer to an observable sequence", + "relevant": ["Sources/RxSwift/ObservableType+Extensions.swift"], + "secondary": [], + "category": "architecture" + }, + { + "query": "Disposable and CompositeDisposable for subscription management", + "relevant": ["Sources/RxSwift/Disposable.swift"], + "secondary": ["Sources/RxSwift/CompositeDisposable.swift"], + "category": "semantic" + }, + { + "query": "PublishSubject for broadcasting events to multiple observers", + "relevant": ["Sources/RxSwift/PublishSubject.swift"], + "secondary": [], + "category": "semantic" + }, + { + "query": "BehaviorSubject for holding and replaying the latest value", + "relevant": ["Sources/RxSwift/BehaviorSubject.swift"], + "secondary": [], + "category": "semantic" + }, + { + "query": "ReplaySubject for buffering and replaying past events", + "relevant": ["Sources/RxSwift/ReplaySubject.swift"], + "secondary": [], + "category": "semantic" + }, + { + "query": "map filter and flatMap operators for transforming observable sequences", + "relevant": ["Sources/RxSwift/Map.swift"], + "secondary": ["Sources/RxSwift/Filter.swift"], + "category": "semantic" + }, + { + "query": "combineLatest for merging multiple observable streams", + "relevant": ["Sources/RxSwift/CombineLatest.swift"], + "secondary": [], + "category": "semantic" + }, + { + "query": "SchedulerType protocol and scheduler implementations for threading", + "relevant": ["Sources/RxSwift/SchedulerType.swift"], + "secondary": [], + "category": "semantic" + }, + { + "query": "Single Completable and Maybe trait types for finite sequences", + "relevant": ["Sources/RxSwift/Single.swift"], + "secondary": ["Sources/RxSwift/Completable.swift"], + "category": "semantic" + }, + { + "query": "throttle and debounce time-based filtering operators", + "relevant": ["Sources/RxSwift/Throttle.swift"], + "secondary": ["Sources/RxSwift/Debounce.swift"], + "category": "semantic" + }, + { + "query": "retry and catch error recovery operators", + "relevant": ["Sources/RxSwift/Catch.swift"], + "secondary": [], + "category": "semantic" + }, + { + "query": "zip operator for pairing emissions from multiple observables", + "relevant": ["Sources/RxSwift/Zip.swift"], + "secondary": [], + "category": "semantic" + }, + { + "query": "share and replay scope for multicasting a single subscription", + "relevant": ["Sources/RxSwift/ShareReplayScope.swift"], + "secondary": [], + "category": "semantic" + }, + { + "query": "take skip and filter sequence trimming operators", + "relevant": ["Sources/RxSwift/Take.swift"], + "secondary": ["Sources/RxSwift/Skip.swift"], + "category": "semantic" + }, + { + "query": "Event enum for next error and completed signals", + "relevant": ["Sources/RxSwift/Event.swift"], + "secondary": [], + "category": "semantic" + }, + { + "query": "Observable", + "relevant": ["Sources/RxSwift/Observable.swift"], + "secondary": [], + "category": "symbol" + }, + { + "query": "Disposable", + "relevant": ["Sources/RxSwift/Disposable.swift"], + "secondary": [], + "category": "symbol" + }, + { + "query": "PublishSubject", + "relevant": ["Sources/RxSwift/PublishSubject.swift"], + "secondary": [], + "category": "symbol" + } +] diff --git a/benchmarks/annotations/vapor.json b/benchmarks/annotations/vapor.json new file mode 100644 index 0000000..e4fc723 --- /dev/null +++ b/benchmarks/annotations/vapor.json @@ -0,0 +1,122 @@ +[ + { + "query": "how Application configures and boots a Vapor server", + "relevant": ["Sources/Vapor/Application.swift"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how routes are registered on the RoutesBuilder", + "relevant": ["Sources/Vapor/Routing/RoutesBuilder+Method.swift"], + "secondary": ["Sources/Vapor/Routing/RoutesBuilder.swift"], + "category": "architecture" + }, + { + "query": "Request type and HTTP request representation in Vapor", + "relevant": ["Sources/Vapor/Request/Request.swift"], + "secondary": [], + "category": "semantic" + }, + { + "query": "Response type and HTTP response construction in Vapor", + "relevant": ["Sources/Vapor/Response/Response.swift"], + "secondary": [], + "category": "semantic" + }, + { + "query": "Content protocol for encoding and decoding request and response bodies", + "relevant": ["Sources/Vapor/Content/Content.swift"], + "secondary": [], + "category": "semantic" + }, + { + "query": "Middleware protocol and how middleware wraps request handling", + "relevant": ["Sources/Vapor/Middleware/Middleware.swift"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how Vapor Application stores and retrieves services via Storage", + "relevant": ["Sources/Vapor/Utilities/Storage.swift"], + "secondary": [], + "category": "architecture" + }, + { + "query": "WebSocket upgrade and handler registration in Vapor", + "relevant": ["Sources/Vapor/Routing/RoutesBuilder+WebSocket.swift"], + "secondary": [], + "category": "semantic" + }, + { + "query": "Abort error and HTTP error response throwing", + "relevant": ["Sources/Vapor/Error/Abort.swift"], + "secondary": [], + "category": "semantic" + }, + { + "query": "Sessions and session driver for server-side session storage", + "relevant": ["Sources/Vapor/Sessions/Session.swift"], + "secondary": ["Sources/Vapor/Sessions/SessionsMiddleware.swift"], + "category": "semantic" + }, + { + "query": "Validations and Validatable for request body validation", + "relevant": ["Sources/Vapor/Validation/Validations.swift"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how route groups and route collections compose routes", + "relevant": ["Sources/Vapor/Routing/RoutesBuilder+Group.swift"], + "secondary": ["Sources/Vapor/Routing/RouteCollection.swift"], + "category": "semantic" + }, + { + "query": "FileMiddleware for serving static files", + "relevant": ["Sources/Vapor/Middleware/FileMiddleware.swift"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how serve and boot commands start the Vapor HTTP server", + "relevant": ["Sources/Vapor/Commands/ServeCommand.swift"], + "secondary": ["Sources/Vapor/HTTP/Server/HTTPServer.swift"], + "category": "semantic" + }, + { + "query": "Environment configuration for development production and testing", + "relevant": ["Sources/Vapor/Environment/Environment.swift"], + "secondary": [], + "category": "semantic" + }, + { + "query": "CORS middleware for cross-origin resource sharing", + "relevant": ["Sources/Vapor/Middleware/CORSMiddleware.swift"], + "secondary": [], + "category": "semantic" + }, + { + "query": "HTTP status codes and media types in Vapor", + "relevant": ["Sources/Vapor/HTTP/HTTPStatus.swift"], + "secondary": ["Sources/Vapor/HTTP/Headers/HTTPMediaType.swift"], + "category": "semantic" + }, + { + "query": "Application", + "relevant": ["Sources/Vapor/Application.swift"], + "secondary": [], + "category": "symbol" + }, + { + "query": "Request", + "relevant": ["Sources/Vapor/Request/Request.swift"], + "secondary": [], + "category": "symbol" + }, + { + "query": "Middleware", + "relevant": ["Sources/Vapor/Middleware/Middleware.swift"], + "secondary": [], + "category": "symbol" + } +] diff --git a/benchmarks/annotations/vitest.json b/benchmarks/annotations/vitest.json new file mode 100644 index 0000000..bb7eb4d --- /dev/null +++ b/benchmarks/annotations/vitest.json @@ -0,0 +1,122 @@ +[ + { + "query": "how vitest discovers and runs test files", + "relevant": ["packages/vitest/src/node/core.ts"], + "secondary": [], + "category": "architecture" + }, + { + "query": "test runner worker pool and execution", + "relevant": ["packages/vitest/src/node/pool.ts"], + "secondary": [], + "category": "architecture" + }, + { + "query": "describe and it test suite block definitions", + "relevant": ["packages/vitest/src/public/suite.ts"], + "secondary": [], + "category": "semantic" + }, + { + "query": "expect assertion API and matchers", + "relevant": ["packages/vitest/src/integrations/chai/index.ts"], + "secondary": [], + "category": "semantic" + }, + { + "query": "vi mock and spy utilities for mocking modules and functions", + "relevant": ["packages/vitest/src/integrations/vi.ts"], + "secondary": [], + "category": "semantic" + }, + { + "query": "snapshot testing serialization and comparison", + "relevant": ["packages/vitest/src/integrations/snapshot/chai.ts"], + "secondary": [], + "category": "semantic" + }, + { + "query": "coverage provider and instrumentation integration", + "relevant": ["packages/vitest/src/node/coverage.ts"], + "secondary": [], + "category": "semantic" + }, + { + "query": "vitest configuration options and defineConfig", + "relevant": ["packages/vitest/src/node/types/config.ts"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how beforeAll afterAll beforeEach afterEach hooks are scheduled", + "relevant": ["packages/vitest/src/public/suite.ts"], + "secondary": [], + "category": "architecture" + }, + { + "query": "test reporter interface and built-in reporters", + "relevant": ["packages/vitest/src/node/reporters/reported-tasks.ts"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how vitest handles concurrent and parallel test execution", + "relevant": ["packages/vitest/src/node/core.ts"], + "secondary": [], + "category": "architecture" + }, + { + "query": "module mocking and virtual module support", + "relevant": ["packages/vitest/src/integrations/mock/timers.ts"], + "secondary": [], + "category": "semantic" + }, + { + "query": "task state and task result tracking", + "relevant": ["packages/vitest/src/utils/tasks.ts"], + "secondary": [], + "category": "semantic" + }, + { + "query": "fake timers and timer mocking utilities", + "relevant": ["packages/vitest/src/integrations/mock/timers.ts"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how test results and state are reported and stored", + "relevant": ["packages/vitest/src/node/state.ts"], + "secondary": [], + "category": "architecture" + }, + { + "query": "project-level configuration and workspace projects", + "relevant": ["packages/vitest/src/node/project.ts"], + "secondary": [], + "category": "semantic" + }, + { + "query": "test watcher for file changes in watch mode", + "relevant": ["packages/vitest/src/node/watcher.ts"], + "secondary": [], + "category": "semantic" + }, + { + "query": "Vitest", + "relevant": ["packages/vitest/src/node/core.ts"], + "secondary": [], + "category": "symbol" + }, + { + "query": "VitestProject", + "relevant": ["packages/vitest/src/node/project.ts"], + "secondary": [], + "category": "symbol" + }, + { + "query": "StateManager", + "relevant": ["packages/vitest/src/node/state.ts"], + "secondary": [], + "category": "symbol" + } +] diff --git a/benchmarks/repos.json b/benchmarks/repos.json index e8aed36..9fef507 100644 --- a/benchmarks/repos.json +++ b/benchmarks/repos.json @@ -287,7 +287,7 @@ "language": "scala", "url": "https://github.com/http4s/http4s.git", "revision": "9f17a8e727d22692e637b5f01de15a222fb66092", - "benchmark_root": "core/src/main/scala" + "benchmark_root": "core/shared/src/main/scala" }, { "name": "vapor", diff --git a/benchmarks/results/2b33d47d8783.json b/benchmarks/results/2b33d47d8783.json new file mode 100644 index 0000000..a38b0b5 --- /dev/null +++ b/benchmarks/results/2b33d47d8783.json @@ -0,0 +1,718 @@ +{ + "sha": "2b33d47d878334965aaf1c36d5b9c3caad9826b3", + "model": "minishlab/potion-code-16M", + "summary": { + "ndcg10": 0.7843, + "p50_ms": 0.683, + "p90_ms": 4.347, + "p95_ms": 4.946, + "p99_ms": 5.329, + "index_ms": 347.9 + }, + "by_language": { + "cpp": { + "repos": 3, + "ndcg10": 0.6992, + "p50_ms": 0.611, + "p90_ms": 4.171, + "p95_ms": 5.274, + "p99_ms": 5.619, + "index_ms": 802.1 + }, + "csharp": { + "repos": 3, + "ndcg10": 0.7865, + "p50_ms": 0.776, + "p90_ms": 5.065, + "p95_ms": 5.776, + "p99_ms": 7.322, + "index_ms": 441.5 + }, + "elixir": { + "repos": 3, + "ndcg10": 0.8097, + "p50_ms": 0.551, + "p90_ms": 4.614, + "p95_ms": 4.952, + "p99_ms": 5.445, + "index_ms": 195.8 + }, + "go": { + "repos": 3, + "ndcg10": 0.8633, + "p50_ms": 0.58, + "p90_ms": 3.221, + "p95_ms": 3.671, + "p99_ms": 3.909, + "index_ms": 158.1 + }, + "java": { + "repos": 3, + "ndcg10": 0.7717, + "p50_ms": 1.123, + "p90_ms": 9.088, + "p95_ms": 12.672, + "p99_ms": 13.248, + "index_ms": 950.8 + }, + "javascript": { + "repos": 3, + "ndcg10": 0.7665, + "p50_ms": 0.427, + "p90_ms": 1.672, + "p95_ms": 2.223, + "p99_ms": 2.243, + "index_ms": 34.5 + }, + "kotlin": { + "repos": 3, + "ndcg10": 0.7781, + "p50_ms": 0.811, + "p90_ms": 4.232, + "p95_ms": 4.582, + "p99_ms": 5.521, + "index_ms": 238.9 + }, + "php": { + "repos": 3, + "ndcg10": 0.7799, + "p50_ms": 0.882, + "p90_ms": 6.58, + "p95_ms": 6.646, + "p99_ms": 6.757, + "index_ms": 706.6 + }, + "python": { + "repos": 9, + "ndcg10": 0.8389, + "p50_ms": 0.499, + "p90_ms": 3.23, + "p95_ms": 3.383, + "p99_ms": 3.616, + "index_ms": 153.2 + }, + "ruby": { + "repos": 3, + "ndcg10": 0.8573, + "p50_ms": 0.574, + "p90_ms": 4.183, + "p95_ms": 5.311, + "p99_ms": 5.64, + "index_ms": 97.5 + }, + "rust": { + "repos": 3, + "ndcg10": 0.6955, + "p50_ms": 0.763, + "p90_ms": 4.986, + "p95_ms": 5.169, + "p99_ms": 5.378, + "index_ms": 494.3 + }, + "scala": { + "repos": 3, + "ndcg10": 0.8493, + "p50_ms": 0.792, + "p90_ms": 3.81, + "p95_ms": 4.073, + "p99_ms": 4.126, + "index_ms": 382.6 + }, + "swift": { + "repos": 3, + "ndcg10": 0.7598, + "p50_ms": 0.701, + "p90_ms": 3.677, + "p95_ms": 3.969, + "p99_ms": 4.44, + "index_ms": 235.1 + }, + "typescript": { + "repos": 3, + "ndcg10": 0.616, + "p50_ms": 0.842, + "p90_ms": 4.56, + "p95_ms": 4.665, + "p99_ms": 4.765, + "index_ms": 368.9 + } + }, + "repos": [ + { + "repo": "abseil-cpp", + "language": "cpp", + "chunks": 3083, + "ndcg5": 0.798925820038867, + "ndcg10": 0.798925820038867, + "p50_ms": 0.8098124962998554, + "p90_ms": 7.488120792550036, + "p95_ms": 7.974812139582355, + "p99_ms": 8.379195226880256, + "index_ms": 1747.9244160058443 + }, + { + "repo": "aiohttp", + "language": "python", + "chunks": 756, + "ndcg5": 0.7132626857513019, + "ndcg10": 0.7821229638714016, + "p50_ms": 0.6161670025903732, + "p90_ms": 4.1032919980352744, + "p95_ms": 4.229083002428524, + "p99_ms": 4.509282993967645, + "index_ms": 246.89804099034518 + }, + { + "repo": "alamofire", + "language": "swift", + "chunks": 649, + "ndcg5": 0.900172569211564, + "ndcg10": 0.9315768229529695, + "p50_ms": 0.5519999976968393, + "p90_ms": 4.054758802521974, + "p95_ms": 4.507000601734033, + "p99_ms": 5.68673372908961, + "index_ms": 212.94708299683407 + }, + { + "repo": "axios", + "language": "javascript", + "chunks": 166, + "ndcg5": 0.8788319645532834, + "ndcg10": 0.8885032847341471, + "p50_ms": 0.5888954910915345, + "p90_ms": 2.65668780048145, + "p95_ms": 2.707789552368922, + "p99_ms": 2.7292907155060675, + "index_ms": 59.81700000120327 + }, + { + "repo": "axum", + "language": "rust", + "chunks": 509, + "ndcg5": 0.5315464876785729, + "ndcg10": 0.5775462166730401, + "p50_ms": 0.5822704988531768, + "p90_ms": 3.626916601206176, + "p95_ms": 3.7243139573547523, + "p99_ms": 3.95076280212379, + "index_ms": 178.31041698809713 + }, + { + "repo": "cats", + "language": "scala", + "chunks": 1254, + "ndcg5": 0.8157722039023972, + "ndcg10": 0.8414671964692401, + "p50_ms": 0.9438340057386085, + "p90_ms": 4.557675198884681, + "p95_ms": 4.928124998696148, + "p99_ms": 4.932124991901219, + "index_ms": 645.6532089941902 + }, + { + "repo": "chi", + "language": "go", + "chunks": 262, + "ndcg5": 0.7967564632754967, + "ndcg10": 0.805985248114475, + "p50_ms": 0.6687705026706681, + "p90_ms": 2.85731689655222, + "p95_ms": 2.949305603397079, + "p99_ms": 2.993227523402311, + "index_ms": 102.55604100530036 + }, + { + "repo": "circe", + "language": "scala", + "chunks": 192, + "ndcg5": 0.775, + "ndcg10": 0.7928103593554011, + "p50_ms": 0.5452710029203445, + "p90_ms": 2.574320796702523, + "p95_ms": 2.658914255880518, + "p99_ms": 2.8064492401608727, + "index_ms": 85.54312500928063 + }, + { + "repo": "click", + "language": "python", + "chunks": 315, + "ndcg5": 0.967519867361079, + "ndcg10": 0.967519867361079, + "p50_ms": 0.41660450369818136, + "p90_ms": 3.146437503164634, + "p95_ms": 3.244981253374135, + "p99_ms": 3.383396256685955, + "index_ms": 107.12941699603107 + }, + { + "repo": "cobra", + "language": "go", + "chunks": 394, + "ndcg5": 0.9291287872272751, + "ndcg10": 0.9291287872272751, + "p50_ms": 0.5190205047256313, + "p90_ms": 3.402512500179002, + "p95_ms": 4.5782228975440376, + "p99_ms": 4.834310983715113, + "index_ms": 145.36012499593198 + }, + { + "repo": "commons-lang", + "language": "java", + "chunks": 3152, + "ndcg5": 0.8303573023787708, + "ndcg10": 0.8566306723859848, + "p50_ms": 0.9268329886253923, + "p90_ms": 8.785290992818773, + "p95_ms": 18.388124997727573, + "p99_ms": 18.871992197819054, + "index_ms": 1013.1795409979532 + }, + { + "repo": "dapper", + "language": "csharp", + "chunks": 411, + "ndcg5": 0.8105159313011153, + "ndcg10": 0.8255674310843144, + "p50_ms": 0.5578125055762939, + "p90_ms": 3.125566610833631, + "p95_ms": 3.9888577077363183, + "p99_ms": 7.508671546966064, + "index_ms": 172.57770799915306 + }, + { + "repo": "ecto", + "language": "elixir", + "chunks": 755, + "ndcg5": 0.8315464876785729, + "ndcg10": 0.846597987461772, + "p50_ms": 0.5203750042710453, + "p90_ms": 6.651537494326477, + "p95_ms": 7.090072899882216, + "p99_ms": 7.235580984561238, + "index_ms": 289.46279200317804 + }, + { + "repo": "exposed", + "language": "kotlin", + "chunks": 744, + "ndcg5": 0.7258891280402999, + "ndcg10": 0.7525827437204946, + "p50_ms": 0.8491250046063215, + "p90_ms": 3.823462796572131, + "p95_ms": 4.457374991761755, + "p99_ms": 6.083775000442981, + "index_ms": 270.9554579923861 + }, + { + "repo": "express", + "language": "javascript", + "chunks": 52, + "ndcg5": 0.5213932929028847, + "ndcg10": 0.5213932929028847, + "p50_ms": 0.28768699849024415, + "p90_ms": 0.48249139363179233, + "p95_ms": 2.0675898893387057, + "p99_ms": 2.079717975866515, + "index_ms": 18.25520899728872 + }, + { + "repo": "fastapi", + "language": "python", + "chunks": 597, + "ndcg5": 0.7274224843886101, + "ndcg10": 0.7656623902466776, + "p50_ms": 0.4803539995918982, + "p90_ms": 3.3393670033547096, + "p95_ms": 3.4831378019589465, + "p99_ms": 3.606193964224076, + "index_ms": 189.1761669976404 + }, + { + "repo": "flask", + "language": "python", + "chunks": 291, + "ndcg5": 0.8570900833760776, + "ndcg10": 0.8767012186349079, + "p50_ms": 0.4419590113684535, + "p90_ms": 2.783499992801808, + "p95_ms": 2.861458997358568, + "p99_ms": 3.595491804298945, + "index_ms": 94.17395798664074 + }, + { + "repo": "fmtlib", + "language": "cpp", + "chunks": 476, + "ndcg5": 0.6215338279036697, + "ndcg10": 0.6382004945703363, + "p50_ms": 0.45037500240141526, + "p90_ms": 0.8048830015468453, + "p95_ms": 3.500235099636484, + "p99_ms": 3.6108470187173225, + "index_ms": 346.0754160041688 + }, + { + "repo": "gin", + "language": "go", + "chunks": 576, + "ndcg5": 0.8374038902637901, + "ndcg10": 0.8548965225450329, + "p50_ms": 0.5513334981515072, + "p90_ms": 3.402471098524984, + "p95_ms": 3.484301787830191, + "p99_ms": 3.8999275527021373, + "index_ms": 226.25712500303052 + }, + { + "repo": "gson", + "language": "java", + "chunks": 1460, + "ndcg5": 0.7990637329553106, + "ndcg10": 0.8168740923107117, + "p50_ms": 0.9553329946356826, + "p90_ms": 5.921820500225295, + "p95_ms": 6.678897600068012, + "p99_ms": 6.970579515473218, + "index_ms": 482.0230420009466 + }, + { + "repo": "guzzle", + "language": "php", + "chunks": 206, + "ndcg5": 0.8326908338735671, + "ndcg10": 0.844506786325837, + "p50_ms": 0.5773750017397106, + "p90_ms": 2.8026829968439415, + "p95_ms": 2.8680204995907843, + "p99_ms": 2.9537705006077886, + "index_ms": 71.80620900180656 + }, + { + "repo": "http4s", + "language": "scala", + "chunks": 952, + "ndcg5": 0.913500228802621, + "ndcg10": 0.913500228802621, + "p50_ms": 0.8863960028975271, + "p90_ms": 4.296908299147618, + "p95_ms": 4.630724636808736, + "p99_ms": 4.638577723962953, + "index_ms": 416.7482919874601 + }, + { + "repo": "httpx", + "language": "python", + "chunks": 248, + "ndcg5": 0.8519694264932337, + "ndcg10": 0.871159099521697, + "p50_ms": 0.4492919979384169, + "p90_ms": 2.5965829991037026, + "p95_ms": 3.001582997967489, + "p99_ms": 3.0161166010657325, + "index_ms": 84.66608400340192 + }, + { + "repo": "jackson-databind", + "language": "java", + "chunks": 4570, + "ndcg5": 0.5995814171722698, + "ndcg10": 0.6416926478590864, + "p50_ms": 1.4854374967399053, + "p90_ms": 12.558216899924446, + "p95_ms": 12.948651453916682, + "p99_ms": 13.900330291216958, + "index_ms": 1357.184332999168 + }, + { + "repo": "kotlinx-coroutines", + "language": "kotlin", + "chunks": 884, + "ndcg5": 0.8008891280402999, + "ndcg10": 0.8186994873957012, + "p50_ms": 0.7119794972823001, + "p90_ms": 4.169054400699679, + "p95_ms": 4.441976451926167, + "p99_ms": 5.3909952910908014, + "index_ms": 294.23566699551884 + }, + { + "repo": "ktor", + "language": "kotlin", + "chunks": 425, + "ndcg5": 0.726275662513606, + "ndcg10": 0.7630927329648237, + "p50_ms": 0.8704374995431863, + "p90_ms": 4.702666999946814, + "p95_ms": 4.846979754802305, + "p99_ms": 5.087329553498421, + "index_ms": 151.62587499071378 + }, + { + "repo": "laravel-framework", + "language": "php", + "chunks": 6197, + "ndcg5": 0.6126770146137568, + "ndcg10": 0.6562294678265145, + "p50_ms": 1.156354002887383, + "p90_ms": 13.296787792933173, + "p95_ms": 13.380985445110127, + "p99_ms": 13.61826429492794, + "index_ms": 1914.0850840049097 + }, + { + "repo": "messagepack-csharp", + "language": "csharp", + "chunks": 1125, + "ndcg5": 0.8164536328001585, + "ndcg10": 0.8262866007393468, + "p50_ms": 0.9102089970838279, + "p90_ms": 5.248633390874602, + "p95_ms": 5.374191390001215, + "p99_ms": 5.614138278760947, + "index_ms": 437.14116601040587 + }, + { + "repo": "model2vec", + "language": "python", + "chunks": 107, + "ndcg5": 0.6593701861221591, + "ndcg10": 0.695271294655741, + "p50_ms": 0.45233350101625547, + "p90_ms": 2.217216709686909, + "p95_ms": 2.31208574550692, + "p99_ms": 2.3393507540458813, + "index_ms": 38.93212499679066 + }, + { + "repo": "monolog", + "language": "php", + "chunks": 417, + "ndcg5": 0.8301283460390589, + "ndcg10": 0.8389903103782611, + "p50_ms": 0.9110835017054342, + "p90_ms": 3.639266097161453, + "p95_ms": 3.6903231921314728, + "p99_ms": 3.700297438626876, + "index_ms": 133.87616699037608 + }, + { + "repo": "newtonsoft-json", + "language": "csharp", + "chunks": 2152, + "ndcg5": 0.6306102206338835, + "ndcg10": 0.7077298576109119, + "p50_ms": 0.8588334967498668, + "p90_ms": 6.820033305848485, + "p95_ms": 7.9649392966530295, + "p99_ms": 8.844355065084526, + "index_ms": 714.7645840013865 + }, + { + "repo": "nlohmann-json", + "language": "cpp", + "chunks": 791, + "ndcg5": 0.6297896285293605, + "ndcg10": 0.6606004404305565, + "p50_ms": 0.5737914980272762, + "p90_ms": 4.219637198548298, + "p95_ms": 4.3454958489746796, + "p99_ms": 4.866032770660239, + "index_ms": 312.373334003496 + }, + { + "repo": "phoenix", + "language": "elixir", + "chunks": 546, + "ndcg5": 0.6800650542719645, + "ndcg10": 0.7136486574666521, + "p50_ms": 0.5800829967483878, + "p90_ms": 4.042487498372793, + "p95_ms": 4.2123416569666015, + "p99_ms": 5.102934730530249, + "index_ms": 196.94904099742416 + }, + { + "repo": "plug", + "language": "elixir", + "chunks": 249, + "ndcg5": 0.8689567838476393, + "ndcg10": 0.8689567838476393, + "p50_ms": 0.5524795051314868, + "p90_ms": 3.1476326941628945, + "p95_ms": 3.5543746489565824, + "p99_ms": 3.995807730825617, + "index_ms": 100.86366599716712 + }, + { + "repo": "pydantic", + "language": "python", + "chunks": 1518, + "ndcg5": 0.6795591269045096, + "ndcg10": 0.7070408064407742, + "p50_ms": 0.6921665044501424, + "p90_ms": 5.267070501577109, + "p95_ms": 5.381608055176912, + "p99_ms": 5.7562888179381835, + "index_ms": 489.7904590034159 + }, + { + "repo": "rack", + "language": "ruby", + "chunks": 249, + "ndcg5": 0.8630929753571458, + "ndcg10": 0.8630929753571458, + "p50_ms": 0.5646874997182749, + "p90_ms": 3.2867372006876416, + "p95_ms": 4.874424994341099, + "p99_ms": 5.747285005054435, + "index_ms": 95.39016700000502 + }, + { + "repo": "rails", + "language": "ruby", + "chunks": 465, + "ndcg5": 0.8282867981913646, + "ndcg10": 0.8700179819334688, + "p50_ms": 0.8228539954870939, + "p90_ms": 4.214053605392112, + "p95_ms": 5.841598257393343, + "p99_ms": 5.954553243791452, + "index_ms": 166.5643329906743 + }, + { + "repo": "redux", + "language": "javascript", + "chunks": 53, + "ndcg5": 0.880657359638273, + "ndcg10": 0.8895193239774752, + "p50_ms": 0.40393749804934487, + "p90_ms": 1.8773206087644212, + "p95_ms": 1.8946902004245203, + "p99_ms": 1.9210044386272784, + "index_ms": 25.494791989331134 + }, + { + "repo": "requests", + "language": "python", + "chunks": 169, + "ndcg5": 0.9550842629661954, + "ndcg10": 0.9550842629661954, + "p50_ms": 0.404562997573521, + "p90_ms": 2.774383993528318, + "p95_ms": 3.017163101321785, + "p99_ms": 3.109565416671103, + "index_ms": 57.55308399966452 + }, + { + "repo": "rxswift", + "language": "swift", + "chunks": 686, + "ndcg5": 0.6658764682653968, + "ndcg10": 0.6839672174435776, + "p50_ms": 0.7720414942014031, + "p90_ms": 3.3192880990100098, + "p95_ms": 3.544531251100125, + "p99_ms": 3.7084062492067456, + "index_ms": 211.11041700351052 + }, + { + "repo": "serde", + "language": "rust", + "chunks": 1164, + "ndcg5": 0.555271503124185, + "ndcg10": 0.6210447469634717, + "p50_ms": 0.9097919974010438, + "p90_ms": 4.168516700156034, + "p95_ms": 4.522385749442037, + "p99_ms": 4.615010746929329, + "index_ms": 372.4750420078635 + }, + { + "repo": "sinatra", + "language": "ruby", + "chunks": 68, + "ndcg5": 0.8387325493217617, + "ndcg10": 0.8387325493217617, + "p50_ms": 0.33502049336675555, + "p90_ms": 5.049166502431035, + "p95_ms": 5.216645495238481, + "p99_ms": 5.217095489933854, + "index_ms": 30.66233400022611 + }, + { + "repo": "starlette", + "language": "python", + "chunks": 213, + "ndcg5": 0.9058681185722455, + "ndcg10": 0.9294136613951622, + "p50_ms": 0.5375830078264698, + "p90_ms": 2.846584000508301, + "p95_ms": 2.9142499988665804, + "p99_ms": 3.2307499990565707, + "index_ms": 70.6566660082899 + }, + { + "repo": "tokio", + "language": "rust", + "chunks": 2730, + "ndcg5": 0.8750003941122573, + "ndcg10": 0.8878478903956787, + "p50_ms": 0.7966249977471307, + "p90_ms": 7.163916603894904, + "p95_ms": 7.26087540097069, + "p99_ms": 7.5671422824962065, + "index_ms": 932.0435839908896 + }, + { + "repo": "trpc", + "language": "typescript", + "chunks": 362, + "ndcg5": 0.6949834508995433, + "ndcg10": 0.7431267778412411, + "p50_ms": 0.8684579952387139, + "p90_ms": 3.2228500000201166, + "p95_ms": 3.2365418039262295, + "p99_ms": 3.2558755576610565, + "index_ms": 121.78658301127143 + }, + { + "repo": "vapor", + "language": "swift", + "chunks": 780, + "ndcg5": 0.6363749551121142, + "ndcg10": 0.6638566346483789, + "p50_ms": 0.7803129992680624, + "p90_ms": 3.6574958066921686, + "p95_ms": 3.8564892987778876, + "p99_ms": 3.9234650631260592, + "index_ms": 281.3732499926118 + }, + { + "repo": "vitest", + "language": "typescript", + "chunks": 1079, + "ndcg5": 0.4258891280403, + "ndcg10": 0.4615098467511022, + "p50_ms": 0.79460450069746, + "p90_ms": 4.745375002676155, + "p95_ms": 4.832222894765437, + "p99_ms": 4.886910973582417, + "index_ms": 357.375374995172 + }, + { + "repo": "zod", + "language": "typescript", + "chunks": 1777, + "ndcg5": 0.5978935011565394, + "ndcg10": 0.6432908990195153, + "p50_ms": 0.8638959989184514, + "p90_ms": 5.710662805358879, + "p95_ms": 5.92477500467794, + "p99_ms": 6.153154996281955, + "index_ms": 627.5498749891995 + } + ] +} From 20a3328d5cd34e539ff7f0d750b72f37836eac34 Mon Sep 17 00:00:00 2001 From: Pringled Date: Thu, 16 Apr 2026 13:07:11 +0200 Subject: [PATCH 03/19] Add more benchmarks --- benchmarks/annotations/abseil-cpp.json | 4 +- benchmarks/annotations/axum.json | 26 +- benchmarks/annotations/fmtlib.json | 22 +- benchmarks/annotations/serde.json | 8 +- benchmarks/annotations/vitest.json | 28 +- benchmarks/results/2c6e4c281865.json | 718 +++++++++++++++++++++++++ 6 files changed, 762 insertions(+), 44 deletions(-) create mode 100644 benchmarks/results/2c6e4c281865.json diff --git a/benchmarks/annotations/abseil-cpp.json b/benchmarks/annotations/abseil-cpp.json index 3cc1f3c..5c34234 100644 --- a/benchmarks/annotations/abseil-cpp.json +++ b/benchmarks/annotations/abseil-cpp.json @@ -6,7 +6,7 @@ "category": "semantic" }, { - "query": "how absl hash tables implement open addressing and SIMD probing", + "query": "raw_hash_set open addressing SIMD group-based slot probing implementation", "relevant": ["absl/container/internal/raw_hash_set.h"], "secondary": [], "category": "architecture" @@ -55,7 +55,7 @@ }, { "query": "absl logging macros ABSL_LOG and ABSL_CHECK", - "relevant": ["absl/log/log.h"], + "relevant": ["absl/log/absl_log.h"], "secondary": [], "category": "semantic" }, diff --git a/benchmarks/annotations/axum.json b/benchmarks/annotations/axum.json index aa74902..35bd45c 100644 --- a/benchmarks/annotations/axum.json +++ b/benchmarks/annotations/axum.json @@ -1,13 +1,13 @@ [ { - "query": "how axum routes requests to handler functions", - "relevant": ["axum/src/routing/mod.rs"], + "query": "how axum Handler trait dispatches requests to async handler functions", + "relevant": ["axum/src/handler/mod.rs"], "secondary": [], "category": "architecture" }, { - "query": "Router builder for adding routes and middleware", - "relevant": ["axum/src/routing/mod.rs"], + "query": "Router path_router implementation for storing and matching routes", + "relevant": ["axum/src/routing/path_router.rs"], "secondary": [], "category": "semantic" }, @@ -19,7 +19,7 @@ }, { "query": "Path extractor for capturing URL path parameters", - "relevant": ["axum/src/extract/path.rs"], + "relevant": ["axum/src/extract/path/mod.rs"], "secondary": [], "category": "semantic" }, @@ -41,12 +41,6 @@ "secondary": [], "category": "architecture" }, - { - "query": "middleware layers and how Tower services integrate with axum", - "relevant": ["axum/src/middleware/mod.rs"], - "secondary": [], - "category": "architecture" - }, { "query": "from_fn middleware for wrapping handlers with async functions", "relevant": ["axum/src/middleware/from_fn.rs"], @@ -96,8 +90,14 @@ "category": "semantic" }, { - "query": "typed header extraction from HTTP requests", - "relevant": ["axum/src/extract/mod.rs"], + "query": "how axum maps Tower middleware layers onto the router", + "relevant": ["axum/src/middleware/mod.rs"], + "secondary": [], + "category": "semantic" + }, + { + "query": "rejection types and rejection responses for failed extractions", + "relevant": ["axum/src/extract/rejection.rs"], "secondary": [], "category": "semantic" }, diff --git a/benchmarks/annotations/fmtlib.json b/benchmarks/annotations/fmtlib.json index 70a1385..f5b75b2 100644 --- a/benchmarks/annotations/fmtlib.json +++ b/benchmarks/annotations/fmtlib.json @@ -6,8 +6,8 @@ "category": "architecture" }, { - "query": "core format_arg and basic_format_args argument storage", - "relevant": ["include/fmt/core.h"], + "query": "basic_format_args and format_arg argument storage and type erasure", + "relevant": ["include/fmt/base.h"], "secondary": [], "category": "architecture" }, @@ -18,8 +18,8 @@ "category": "semantic" }, { - "query": "compile-time format string checking with FMT_STRING", - "relevant": ["include/fmt/core.h"], + "query": "compile-time format string checking and FMT_COMPILE macro", + "relevant": ["include/fmt/compile.h"], "secondary": [], "category": "semantic" }, @@ -66,8 +66,8 @@ "category": "semantic" }, { - "query": "how dynamic format arguments are stored and accessed", - "relevant": ["include/fmt/core.h"], + "query": "dynamic_format_arg_store for building argument lists at runtime", + "relevant": ["include/fmt/args.h"], "secondary": [], "category": "architecture" }, @@ -78,8 +78,8 @@ "category": "semantic" }, { - "query": "format_error exception for invalid format strings", - "relevant": ["include/fmt/core.h"], + "query": "format_error and error handling for invalid format strings", + "relevant": ["include/fmt/base.h"], "secondary": [], "category": "semantic" }, @@ -90,8 +90,8 @@ "category": "semantic" }, { - "query": "named arguments in format strings with fmt::arg", - "relevant": ["include/fmt/core.h"], + "query": "fmt::arg named arguments for use in format strings", + "relevant": ["include/fmt/args.h"], "secondary": [], "category": "semantic" }, @@ -109,7 +109,7 @@ }, { "query": "basic_format_args", - "relevant": ["include/fmt/core.h"], + "relevant": ["include/fmt/base.h"], "secondary": [], "category": "symbol" }, diff --git a/benchmarks/annotations/serde.json b/benchmarks/annotations/serde.json index 2eb2a51..485da87 100644 --- a/benchmarks/annotations/serde.json +++ b/benchmarks/annotations/serde.json @@ -36,15 +36,15 @@ "category": "semantic" }, { - "query": "how unknown and ignored fields are skipped during deserialization", + "query": "IgnoredAny type for silently discarding unknown fields during deserialization", "relevant": ["serde_core/src/de/ignored_any.rs"], "secondary": [], "category": "semantic" }, { - "query": "how derive macros generate Serialize code for structs and enums", + "query": "how serde_derive generates Serialize impl with serialize_field and serialize_struct", "relevant": ["serde_derive/src/ser.rs"], - "secondary": ["serde_derive/src/internals/ast.rs"], + "secondary": [], "category": "architecture" }, { @@ -90,7 +90,7 @@ "category": "semantic" }, { - "query": "serde AST representation of containers, variants, and fields", + "query": "serde_derive Container Variant and Field AST types for Rust struct and enum introspection", "relevant": ["serde_derive/src/internals/ast.rs"], "secondary": [], "category": "semantic" diff --git a/benchmarks/annotations/vitest.json b/benchmarks/annotations/vitest.json index bb7eb4d..534de07 100644 --- a/benchmarks/annotations/vitest.json +++ b/benchmarks/annotations/vitest.json @@ -6,16 +6,16 @@ "category": "architecture" }, { - "query": "test runner worker pool and execution", - "relevant": ["packages/vitest/src/node/pool.ts"], + "query": "test runner worker pool scheduling and execution", + "relevant": ["packages/vitest/src/node/pools/pool.ts"], "secondary": [], "category": "architecture" }, { - "query": "describe and it test suite block definitions", - "relevant": ["packages/vitest/src/public/suite.ts"], + "query": "how vitest statically collects describe it and test block locations for test discovery", + "relevant": ["packages/vitest/src/node/ast-collect.ts"], "secondary": [], - "category": "semantic" + "category": "architecture" }, { "query": "expect assertion API and matchers", @@ -48,26 +48,26 @@ "category": "semantic" }, { - "query": "how beforeAll afterAll beforeEach afterEach hooks are scheduled", - "relevant": ["packages/vitest/src/public/suite.ts"], + "query": "how beforeAll afterAll and lifecycle hooks affect the test execution order", + "relevant": ["packages/vitest/src/node/test-run.ts"], "secondary": [], "category": "architecture" }, { - "query": "test reporter interface and built-in reporters", - "relevant": ["packages/vitest/src/node/reporters/reported-tasks.ts"], + "query": "test reporter interface for listening to test events and results", + "relevant": ["packages/vitest/src/public/reporters.ts"], "secondary": [], "category": "semantic" }, { - "query": "how vitest handles concurrent and parallel test execution", - "relevant": ["packages/vitest/src/node/core.ts"], + "query": "how vitest initializes worker threads for parallel test execution", + "relevant": ["packages/vitest/src/runtime/workers/init.ts"], "secondary": [], "category": "architecture" }, { - "query": "module mocking and virtual module support", - "relevant": ["packages/vitest/src/integrations/mock/timers.ts"], + "query": "module mocker for intercepting and replacing module imports at runtime", + "relevant": ["packages/vitest/src/runtime/moduleRunner/moduleMocker.ts"], "secondary": [], "category": "semantic" }, @@ -84,7 +84,7 @@ "category": "semantic" }, { - "query": "how test results and state are reported and stored", + "query": "how the StateManager tracks running cancelled and completed test state", "relevant": ["packages/vitest/src/node/state.ts"], "secondary": [], "category": "architecture" diff --git a/benchmarks/results/2c6e4c281865.json b/benchmarks/results/2c6e4c281865.json new file mode 100644 index 0000000..91d1dd2 --- /dev/null +++ b/benchmarks/results/2c6e4c281865.json @@ -0,0 +1,718 @@ +{ + "sha": "2c6e4c28186549a90690e478bd57177f0fc3f8b8", + "model": "minishlab/potion-code-16M", + "summary": { + "ndcg10": 0.8012, + "p50_ms": 0.718, + "p90_ms": 4.579, + "p95_ms": 5.243, + "p99_ms": 5.637, + "index_ms": 361.8 + }, + "by_language": { + "cpp": { + "repos": 3, + "ndcg10": 0.8215, + "p50_ms": 0.772, + "p90_ms": 4.417, + "p95_ms": 5.466, + "p99_ms": 5.892, + "index_ms": 779.4 + }, + "csharp": { + "repos": 3, + "ndcg10": 0.7865, + "p50_ms": 0.866, + "p90_ms": 5.525, + "p95_ms": 6.458, + "p99_ms": 8.028, + "index_ms": 478.8 + }, + "elixir": { + "repos": 3, + "ndcg10": 0.8097, + "p50_ms": 0.59, + "p90_ms": 4.84, + "p95_ms": 5.19, + "p99_ms": 5.729, + "index_ms": 209.9 + }, + "go": { + "repos": 3, + "ndcg10": 0.8633, + "p50_ms": 0.612, + "p90_ms": 3.434, + "p95_ms": 3.965, + "p99_ms": 4.198, + "index_ms": 160.1 + }, + "java": { + "repos": 3, + "ndcg10": 0.7717, + "p50_ms": 1.122, + "p90_ms": 9.261, + "p95_ms": 13.328, + "p99_ms": 13.65, + "index_ms": 997.9 + }, + "javascript": { + "repos": 3, + "ndcg10": 0.7665, + "p50_ms": 0.437, + "p90_ms": 1.792, + "p95_ms": 2.358, + "p99_ms": 2.437, + "index_ms": 35.9 + }, + "kotlin": { + "repos": 3, + "ndcg10": 0.7781, + "p50_ms": 0.888, + "p90_ms": 4.598, + "p95_ms": 4.932, + "p99_ms": 5.739, + "index_ms": 245.5 + }, + "php": { + "repos": 3, + "ndcg10": 0.7799, + "p50_ms": 0.912, + "p90_ms": 6.854, + "p95_ms": 6.977, + "p99_ms": 7.037, + "index_ms": 754.9 + }, + "python": { + "repos": 9, + "ndcg10": 0.8389, + "p50_ms": 0.505, + "p90_ms": 3.55, + "p95_ms": 3.746, + "p99_ms": 4.05, + "index_ms": 161.7 + }, + "ruby": { + "repos": 3, + "ndcg10": 0.8573, + "p50_ms": 0.59, + "p90_ms": 4.412, + "p95_ms": 5.582, + "p99_ms": 6.024, + "index_ms": 104.0 + }, + "rust": { + "repos": 3, + "ndcg10": 0.7955, + "p50_ms": 0.804, + "p90_ms": 5.098, + "p95_ms": 5.36, + "p99_ms": 5.553, + "index_ms": 499.3 + }, + "scala": { + "repos": 3, + "ndcg10": 0.8493, + "p50_ms": 0.801, + "p90_ms": 3.957, + "p95_ms": 4.246, + "p99_ms": 4.333, + "index_ms": 403.2 + }, + "swift": { + "repos": 3, + "ndcg10": 0.7598, + "p50_ms": 0.731, + "p90_ms": 3.781, + "p95_ms": 4.05, + "p99_ms": 4.564, + "index_ms": 254.9 + }, + "typescript": { + "repos": 3, + "ndcg10": 0.6627, + "p50_ms": 0.847, + "p90_ms": 4.641, + "p95_ms": 4.736, + "p99_ms": 4.859, + "index_ms": 379.3 + } + }, + "repos": [ + { + "repo": "abseil-cpp", + "language": "cpp", + "chunks": 3083, + "ndcg5": 0.898925820038867, + "ndcg10": 0.898925820038867, + "p50_ms": 1.1531874988577329, + "p90_ms": 7.634812503238209, + "p95_ms": 7.885129145870452, + "p99_ms": 8.620492231857495, + "index_ms": 1648.597167004482 + }, + { + "repo": "aiohttp", + "language": "python", + "chunks": 756, + "ndcg5": 0.7132626857513019, + "ndcg10": 0.7821229638714016, + "p50_ms": 0.5848330038134009, + "p90_ms": 4.114583003683947, + "p95_ms": 4.375707998406142, + "p99_ms": 4.74700799677521, + "index_ms": 251.289124993491 + }, + { + "repo": "alamofire", + "language": "swift", + "chunks": 649, + "ndcg5": 0.900172569211564, + "ndcg10": 0.9315768229529695, + "p50_ms": 0.576916994759813, + "p90_ms": 4.022841801634058, + "p95_ms": 4.524291996494865, + "p99_ms": 5.775092002586462, + "index_ms": 225.40470799140166 + }, + { + "repo": "axios", + "language": "javascript", + "chunks": 166, + "ndcg5": 0.8788319645532834, + "ndcg10": 0.8885032847341471, + "p50_ms": 0.605770997935906, + "p90_ms": 2.8372666987706907, + "p95_ms": 2.8531586576718837, + "p99_ms": 2.887231734348461, + "index_ms": 62.888915999792516 + }, + { + "repo": "axum", + "language": "rust", + "chunks": 509, + "ndcg5": 0.7065464876785729, + "ndcg10": 0.7525462166730401, + "p50_ms": 0.6355000004987232, + "p90_ms": 3.6775088956346735, + "p95_ms": 3.8351392555341595, + "p99_ms": 4.086794258473674, + "index_ms": 172.64304200944025 + }, + { + "repo": "cats", + "language": "scala", + "chunks": 1254, + "ndcg5": 0.8157722039023972, + "ndcg10": 0.8414671964692401, + "p50_ms": 0.9416659886483103, + "p90_ms": 4.73902479861863, + "p95_ms": 5.095266591524705, + "p99_ms": 5.192119715502486, + "index_ms": 676.9014580058865 + }, + { + "repo": "chi", + "language": "go", + "chunks": 262, + "ndcg5": 0.7967564632754967, + "ndcg10": 0.805985248114475, + "p50_ms": 0.7399164969683625, + "p90_ms": 3.1905542011372745, + "p95_ms": 3.30601075256709, + "p99_ms": 3.3777357457438484, + "index_ms": 102.6644999947166 + }, + { + "repo": "circe", + "language": "scala", + "chunks": 192, + "ndcg5": 0.775, + "ndcg10": 0.7928103593554011, + "p50_ms": 0.5513124997378327, + "p90_ms": 2.703700604615733, + "p95_ms": 2.849389607581543, + "p99_ms": 2.978811526118079, + "index_ms": 99.04858299705666 + }, + { + "repo": "click", + "language": "python", + "chunks": 315, + "ndcg5": 0.967519867361079, + "ndcg10": 0.967519867361079, + "p50_ms": 0.4198340029688552, + "p90_ms": 3.3618922068853863, + "p95_ms": 3.3876785484608263, + "p99_ms": 3.480969303054735, + "index_ms": 111.31958400073927 + }, + { + "repo": "cobra", + "language": "go", + "chunks": 394, + "ndcg5": 0.9291287872272751, + "ndcg10": 0.9291287872272751, + "p50_ms": 0.5288544925861061, + "p90_ms": 3.5690711069037224, + "p95_ms": 4.851749641238712, + "p99_ms": 5.072782725910656, + "index_ms": 156.88558299734723 + }, + { + "repo": "commons-lang", + "language": "java", + "chunks": 3152, + "ndcg5": 0.8303573023787708, + "ndcg10": 0.8566306723859848, + "p50_ms": 0.9531250107102096, + "p90_ms": 8.512207990861498, + "p95_ms": 18.73100000375416, + "p99_ms": 18.894600003841333, + "index_ms": 1039.284750004299 + }, + { + "repo": "dapper", + "language": "csharp", + "chunks": 411, + "ndcg5": 0.8105159313011153, + "ndcg10": 0.8255674310843144, + "p50_ms": 0.5732915014959872, + "p90_ms": 3.2556994090555245, + "p95_ms": 4.197949991066711, + "p99_ms": 7.981989994732424, + "index_ms": 178.72187499597203 + }, + { + "repo": "ecto", + "language": "elixir", + "chunks": 755, + "ndcg5": 0.8315464876785729, + "ndcg10": 0.846597987461772, + "p50_ms": 0.5293119975249283, + "p90_ms": 6.877599694416859, + "p95_ms": 7.201781249023043, + "p99_ms": 7.304856259725057, + "index_ms": 303.52145798678976 + }, + { + "repo": "exposed", + "language": "kotlin", + "chunks": 744, + "ndcg5": 0.7258891280402999, + "ndcg10": 0.7525827437204946, + "p50_ms": 0.8644790068501607, + "p90_ms": 3.9384753064950937, + "p95_ms": 4.576693754643204, + "p99_ms": 6.130038748960939, + "index_ms": 272.99887500703335 + }, + { + "repo": "express", + "language": "javascript", + "chunks": 52, + "ndcg5": 0.5213932929028847, + "ndcg10": 0.5213932929028847, + "p50_ms": 0.2906454974436201, + "p90_ms": 0.49372921057511376, + "p95_ms": 2.1239377951133065, + "p99_ms": 2.196453959622886, + "index_ms": 19.00641700194683 + }, + { + "repo": "fastapi", + "language": "python", + "chunks": 597, + "ndcg5": 0.7274224843886101, + "ndcg10": 0.7656623902466776, + "p50_ms": 0.4867710013058968, + "p90_ms": 3.519646398490295, + "p95_ms": 3.632005896361079, + "p99_ms": 3.689733976207208, + "index_ms": 197.32566599850543 + }, + { + "repo": "flask", + "language": "python", + "chunks": 291, + "ndcg5": 0.8570900833760776, + "ndcg10": 0.8767012186349079, + "p50_ms": 0.44045899994671345, + "p90_ms": 2.9264170007081702, + "p95_ms": 2.9937090002931654, + "p99_ms": 3.624075406696648, + "index_ms": 96.60487499786541 + }, + { + "repo": "fmtlib", + "language": "cpp", + "chunks": 476, + "ndcg5": 0.8715338279036697, + "ndcg10": 0.904867161237003, + "p50_ms": 0.4672919967561029, + "p90_ms": 0.8133923009154429, + "p95_ms": 3.4698544994171243, + "p99_ms": 3.5696044958604034, + "index_ms": 342.7425830013817 + }, + { + "repo": "gin", + "language": "go", + "chunks": 576, + "ndcg5": 0.8374038902637901, + "ndcg10": 0.8548965225450329, + "p50_ms": 0.5662500043399632, + "p90_ms": 3.5431753014563587, + "p95_ms": 3.736441702494631, + "p99_ms": 4.142155540903331, + "index_ms": 220.84795800037682 + }, + { + "repo": "gson", + "language": "java", + "chunks": 1460, + "ndcg5": 0.7990637329553106, + "ndcg10": 0.8168740923107117, + "p50_ms": 0.9840415077633224, + "p90_ms": 5.978270802006593, + "p95_ms": 6.956695511325961, + "p99_ms": 7.410605506011051, + "index_ms": 484.42600000998937 + }, + { + "repo": "guzzle", + "language": "php", + "chunks": 206, + "ndcg5": 0.8326908338735671, + "ndcg10": 0.844506786325837, + "p50_ms": 0.5946250021224841, + "p90_ms": 2.8571250091772527, + "p95_ms": 2.8967625039513223, + "p99_ms": 2.9651524950168096, + "index_ms": 68.1515420001233 + }, + { + "repo": "http4s", + "language": "scala", + "chunks": 952, + "ndcg5": 0.913500228802621, + "ndcg10": 0.913500228802621, + "p50_ms": 0.9110829996643588, + "p90_ms": 4.429116101528053, + "p95_ms": 4.79210240082466, + "p99_ms": 4.827220474398928, + "index_ms": 433.6127080023289 + }, + { + "repo": "httpx", + "language": "python", + "chunks": 248, + "ndcg5": 0.8519694264932337, + "ndcg10": 0.871159099521697, + "p50_ms": 0.4539170040516183, + "p90_ms": 2.6628750056261197, + "p95_ms": 3.020292002474889, + "p99_ms": 3.091058396967128, + "index_ms": 84.03450000332668 + }, + { + "repo": "jackson-databind", + "language": "java", + "chunks": 4570, + "ndcg5": 0.5995814171722698, + "ndcg10": 0.6416926478590864, + "p50_ms": 1.4283124983194284, + "p90_ms": 13.292900305532386, + "p95_ms": 14.296710399503354, + "p99_ms": 14.645708485331852, + "index_ms": 1470.1066660054494 + }, + { + "repo": "kotlinx-coroutines", + "language": "kotlin", + "chunks": 884, + "ndcg5": 0.8008891280402999, + "ndcg10": 0.8186994873957012, + "p50_ms": 0.8024159978958778, + "p90_ms": 4.5635917005711235, + "p95_ms": 4.73908365747775, + "p99_ms": 5.581416728527982, + "index_ms": 310.1958749903133 + }, + { + "repo": "ktor", + "language": "kotlin", + "chunks": 425, + "ndcg5": 0.726275662513606, + "ndcg10": 0.7630927329648237, + "p50_ms": 0.9958750015357509, + "p90_ms": 5.292937501508277, + "p95_ms": 5.481520747707691, + "p99_ms": 5.5064705476979725, + "index_ms": 153.3886670076754 + }, + { + "repo": "laravel-framework", + "language": "php", + "chunks": 6197, + "ndcg5": 0.6126770146137568, + "ndcg10": 0.6562294678265145, + "p50_ms": 1.1793329977081157, + "p90_ms": 13.86372949637007, + "p95_ms": 14.185189898125827, + "p99_ms": 14.257737980224192, + "index_ms": 2029.0744170051767 + }, + { + "repo": "messagepack-csharp", + "language": "csharp", + "chunks": 1125, + "ndcg5": 0.8164536328001585, + "ndcg10": 0.8262866007393468, + "p50_ms": 0.9232910088030621, + "p90_ms": 5.692983206245117, + "p95_ms": 5.8861248049652195, + "p99_ms": 6.452658553025685, + "index_ms": 449.77520799147896 + }, + { + "repo": "model2vec", + "language": "python", + "chunks": 107, + "ndcg5": 0.6593701861221591, + "ndcg10": 0.695271294655741, + "p50_ms": 0.49552099517313763, + "p90_ms": 3.7862750017666262, + "p95_ms": 4.119524994166569, + "p99_ms": 4.9920050019863975, + "index_ms": 40.59116599091794 + }, + { + "repo": "monolog", + "language": "php", + "chunks": 417, + "ndcg5": 0.8301283460390589, + "ndcg10": 0.8389903103782611, + "p50_ms": 0.9620834971428849, + "p90_ms": 3.8405755985877477, + "p95_ms": 3.8477458496345207, + "p99_ms": 3.889482775120996, + "index_ms": 167.42254099517595 + }, + { + "repo": "newtonsoft-json", + "language": "csharp", + "chunks": 2152, + "ndcg5": 0.6306102206338835, + "ndcg10": 0.7077298576109119, + "p50_ms": 1.1027914952137507, + "p90_ms": 7.627008309646047, + "p95_ms": 9.289878862909973, + "p99_ms": 9.649675777181983, + "index_ms": 807.8925839945441 + }, + { + "repo": "nlohmann-json", + "language": "cpp", + "chunks": 791, + "ndcg5": 0.6297896285293605, + "ndcg10": 0.6606004404305565, + "p50_ms": 0.6963955020182766, + "p90_ms": 4.802879197814036, + "p95_ms": 5.04354404474725, + "p99_ms": 5.4862752080953205, + "index_ms": 346.86941700056195 + }, + { + "repo": "phoenix", + "language": "elixir", + "chunks": 546, + "ndcg5": 0.6800650542719645, + "ndcg10": 0.7136486574666521, + "p50_ms": 0.642687504296191, + "p90_ms": 4.361454200989101, + "p95_ms": 4.563825346122031, + "p99_ms": 5.525732266542034, + "index_ms": 218.23004199541174 + }, + { + "repo": "plug", + "language": "elixir", + "chunks": 249, + "ndcg5": 0.8689567838476393, + "ndcg10": 0.8689567838476393, + "p50_ms": 0.5980620044283569, + "p90_ms": 3.2821539061842495, + "p95_ms": 3.803921153303236, + "p99_ms": 4.354984229430555, + "index_ms": 107.96183400088921 + }, + { + "repo": "pydantic", + "language": "python", + "chunks": 1518, + "ndcg5": 0.6795591269045096, + "ndcg10": 0.7070408064407742, + "p50_ms": 0.6842710063210689, + "p90_ms": 5.6252288006362505, + "p95_ms": 5.823938942194218, + "p99_ms": 6.0712877912737895, + "index_ms": 540.7792079931824 + }, + { + "repo": "rack", + "language": "ruby", + "chunks": 249, + "ndcg5": 0.8630929753571458, + "ndcg10": 0.8630929753571458, + "p50_ms": 0.5723545036744326, + "p90_ms": 3.4091965004336116, + "p95_ms": 5.141373542574002, + "p99_ms": 6.28387470365851, + "index_ms": 96.43166699970607 + }, + { + "repo": "rails", + "language": "ruby", + "chunks": 465, + "ndcg5": 0.8282867981913646, + "ndcg10": 0.8700179819334688, + "p50_ms": 0.8548745026928373, + "p90_ms": 4.612504193210046, + "p95_ms": 6.325906552228844, + "p99_ms": 6.46254770734231, + "index_ms": 187.26454200805165 + }, + { + "repo": "redux", + "language": "javascript", + "chunks": 53, + "ndcg5": 0.880657359638273, + "ndcg10": 0.8895193239774752, + "p50_ms": 0.4138329968554899, + "p90_ms": 2.045632705267053, + "p95_ms": 2.0967204982298426, + "p99_ms": 2.2280105025856756, + "index_ms": 25.876708008581772 + }, + { + "repo": "requests", + "language": "python", + "chunks": 169, + "ndcg5": 0.9550842629661954, + "ndcg10": 0.9550842629661954, + "p50_ms": 0.44629149488173425, + "p90_ms": 3.0958375034970236, + "p95_ms": 3.416781243868172, + "p99_ms": 3.42675625346601, + "index_ms": 57.05445799685549 + }, + { + "repo": "rxswift", + "language": "swift", + "chunks": 686, + "ndcg5": 0.6658764682653968, + "ndcg10": 0.6839672174435776, + "p50_ms": 0.7810624956618994, + "p90_ms": 3.413770903716795, + "p95_ms": 3.5497526987455785, + "p99_ms": 3.784116939641535, + "index_ms": 229.04945800837595 + }, + { + "repo": "serde", + "language": "rust", + "chunks": 1164, + "ndcg5": 0.680271503124185, + "ndcg10": 0.7460447469634716, + "p50_ms": 0.9299789962824434, + "p90_ms": 4.373300292354544, + "p95_ms": 4.803195798740489, + "p99_ms": 4.872671951161465, + "index_ms": 384.4321659998968 + }, + { + "repo": "sinatra", + "language": "ruby", + "chunks": 68, + "ndcg5": 0.8387325493217617, + "ndcg10": 0.8387325493217617, + "p50_ms": 0.34264599526068196, + "p90_ms": 5.215292003413197, + "p95_ms": 5.27752124980907, + "p99_ms": 5.324271445715567, + "index_ms": 28.397749993018806 + }, + { + "repo": "starlette", + "language": "python", + "chunks": 213, + "ndcg5": 0.9058681185722455, + "ndcg10": 0.9294136613951622, + "p50_ms": 0.5366250115912408, + "p90_ms": 2.8590829897439107, + "p95_ms": 2.9451669979607686, + "p99_ms": 3.3300006034551193, + "index_ms": 76.71899998968001 + }, + { + "repo": "tokio", + "language": "rust", + "chunks": 2730, + "ndcg5": 0.8750003941122573, + "ndcg10": 0.8878478903956787, + "p50_ms": 0.8478749950882047, + "p90_ms": 7.242541603045538, + "p95_ms": 7.441299402853474, + "p99_ms": 7.698126280447468, + "index_ms": 940.8040830021491 + }, + { + "repo": "trpc", + "language": "typescript", + "chunks": 362, + "ndcg5": 0.6949834508995433, + "ndcg10": 0.7431267778412411, + "p50_ms": 0.8709999965503812, + "p90_ms": 3.3676000020932406, + "p95_ms": 3.3844332036096603, + "p99_ms": 3.4006194409448653, + "index_ms": 124.33108300319873 + }, + { + "repo": "vapor", + "language": "swift", + "chunks": 780, + "ndcg5": 0.6363749551121142, + "ndcg10": 0.6638566346483789, + "p50_ms": 0.8344375091837719, + "p90_ms": 3.9053705026162793, + "p95_ms": 4.074922607105691, + "p99_ms": 4.133284526469652, + "index_ms": 310.1267919992097 + }, + { + "repo": "vitest", + "language": "typescript", + "chunks": 1079, + "ndcg5": 0.5508891280403, + "ndcg10": 0.6015613465343013, + "p50_ms": 0.8029579985304736, + "p90_ms": 4.722091699659359, + "p95_ms": 4.806444045243552, + "p99_ms": 4.810655209439574, + "index_ms": 365.1177920110058 + }, + { + "repo": "zod", + "language": "typescript", + "chunks": 1777, + "ndcg5": 0.5978935011565394, + "ndcg10": 0.6432908990195153, + "p50_ms": 0.867228998686187, + "p90_ms": 5.833920804434456, + "p95_ms": 6.018070504796924, + "p99_ms": 6.365580507699632, + "index_ms": 648.3059590100311 + } + ] +} From 03cedba7a187f17b8304e50315cb2fbf6f5e2732 Mon Sep 17 00:00:00 2001 From: Pringled Date: Thu, 16 Apr 2026 15:06:29 +0200 Subject: [PATCH 04/19] fix: Remove 15 broken annotations and fix 5 wrong paths Remove tasks where target files moved to external packages in newer versions (express v5 router/middleware, chi cors/redirect, ecto migration, phoenix template, rack session). Fix paths for jackson- databind BeanDeserializer, kotlinx-coroutines CoroutineContext, nlohmann-json json_pointer, and circe DecodingFailure. --- benchmarks/annotations/chi.json | 104 +++++++++----- benchmarks/annotations/circe.json | 82 +++++++---- benchmarks/annotations/ecto.json | 82 +++++++---- benchmarks/annotations/express.json | 114 +++++---------- benchmarks/annotations/jackson-databind.json | 133 ++++++++++++++---- .../annotations/kotlinx-coroutines.json | 80 ++++++++--- benchmarks/annotations/nlohmann-json.json | 104 ++++++++++---- benchmarks/annotations/phoenix.json | 90 ++++++++---- benchmarks/annotations/rack.json | 92 ++++++++---- 9 files changed, 586 insertions(+), 295 deletions(-) diff --git a/benchmarks/annotations/chi.json b/benchmarks/annotations/chi.json index 0c48182..d8c131f 100644 --- a/benchmarks/annotations/chi.json +++ b/benchmarks/annotations/chi.json @@ -1,122 +1,156 @@ [ { "query": "HTTP router and middleware composition", - "relevant": ["mux.go"], - "secondary": ["chain.go"], + "relevant": [ + "mux.go" + ], + "secondary": [ + "chain.go" + ], "category": "architecture" }, { "query": "radix tree path matching", - "relevant": ["tree.go"], + "relevant": [ + "tree.go" + ], "secondary": [], "category": "semantic" }, { "query": "request routing context storage", - "relevant": ["context.go"], - "secondary": ["mux.go"], + "relevant": [ + "context.go" + ], + "secondary": [ + "mux.go" + ], "category": "architecture" }, { "query": "request logging middleware", - "relevant": ["middleware/logger.go"], + "relevant": [ + "middleware/logger.go" + ], "secondary": [], "category": "semantic" }, { "query": "Mux", - "relevant": ["mux.go"], + "relevant": [ + "mux.go" + ], "secondary": [], "category": "symbol" }, { "query": "panic recovery middleware", - "relevant": ["middleware/recoverer.go"], - "secondary": [], - "category": "semantic" - }, - { - "query": "CORS header handling middleware", - "relevant": ["middleware/cors.go"], + "relevant": [ + "middleware/recoverer.go" + ], "secondary": [], "category": "semantic" }, { "query": "request timeout enforcement middleware", - "relevant": ["middleware/timeout.go"], + "relevant": [ + "middleware/timeout.go" + ], "secondary": [], "category": "semantic" }, { "query": "request throttling and concurrency limiting", - "relevant": ["middleware/throttle.go"], + "relevant": [ + "middleware/throttle.go" + ], "secondary": [], "category": "semantic" }, { "query": "gzip response compression middleware", - "relevant": ["middleware/compress.go"], + "relevant": [ + "middleware/compress.go" + ], "secondary": [], "category": "semantic" }, { "query": "real IP extraction from forwarded headers", - "relevant": ["middleware/realip.go"], + "relevant": [ + "middleware/realip.go" + ], "secondary": [], "category": "semantic" }, { "query": "URL path stripping and rewriting middleware", - "relevant": ["middleware/strip.go"], - "secondary": [], - "category": "semantic" - }, - { - "query": "HTTP redirect middleware", - "relevant": ["middleware/redirect.go"], + "relevant": [ + "middleware/strip.go" + ], "secondary": [], "category": "semantic" }, { "query": "basic HTTP authentication middleware", - "relevant": ["middleware/basic_auth.go"], + "relevant": [ + "middleware/basic_auth.go" + ], "secondary": [], "category": "semantic" }, { "query": "how middleware chains are composed and ordered", - "relevant": ["chain.go"], - "secondary": ["mux.go"], + "relevant": [ + "chain.go" + ], + "secondary": [ + "mux.go" + ], "category": "architecture" }, { "query": "route grouping with sub-routers", - "relevant": ["mux.go"], + "relevant": [ + "mux.go" + ], "secondary": [], "category": "architecture" }, { "query": "how URL parameters are extracted from path segments at request time", - "relevant": ["context.go"], - "secondary": ["tree.go"], + "relevant": [ + "context.go" + ], + "secondary": [ + "tree.go" + ], "category": "architecture" }, { "query": "Router", - "relevant": ["mux.go"], + "relevant": [ + "mux.go" + ], "secondary": [], "category": "symbol" }, { "query": "RouteContext", - "relevant": ["context.go"], + "relevant": [ + "context.go" + ], "secondary": [], "category": "symbol" }, { "query": "how chi resolves named URL parameters and wildcards during routing", - "relevant": ["tree.go"], - "secondary": ["context.go"], + "relevant": [ + "tree.go" + ], + "secondary": [ + "context.go" + ], "category": "architecture" } ] diff --git a/benchmarks/annotations/circe.json b/benchmarks/annotations/circe.json index d054b3c..fb081a6 100644 --- a/benchmarks/annotations/circe.json +++ b/benchmarks/annotations/circe.json @@ -1,121 +1,153 @@ [ { "query": "how Encoder typeclass converts Scala values to JSON", - "relevant": ["modules/core/shared/src/main/scala/io/circe/Encoder.scala"], + "relevant": [ + "modules/core/shared/src/main/scala/io/circe/Encoder.scala" + ], "secondary": [], "category": "architecture" }, { "query": "how Decoder typeclass parses JSON into Scala values", - "relevant": ["modules/core/shared/src/main/scala/io/circe/Decoder.scala"], + "relevant": [ + "modules/core/shared/src/main/scala/io/circe/Decoder.scala" + ], "secondary": [], "category": "architecture" }, { "query": "Json ADT representing JSON values null boolean number string array object", - "relevant": ["modules/core/shared/src/main/scala/io/circe/Json.scala"], + "relevant": [ + "modules/core/shared/src/main/scala/io/circe/Json.scala" + ], "secondary": [], "category": "semantic" }, { "query": "Codec combining Encoder and Decoder for bidirectional conversion", - "relevant": ["modules/core/shared/src/main/scala/io/circe/Codec.scala"], + "relevant": [ + "modules/core/shared/src/main/scala/io/circe/Codec.scala" + ], "secondary": [], "category": "semantic" }, { "query": "HCursor and cursor navigation for traversing JSON trees", - "relevant": ["modules/core/shared/src/main/scala/io/circe/HCursor.scala"], + "relevant": [ + "modules/core/shared/src/main/scala/io/circe/HCursor.scala" + ], "secondary": [], "category": "architecture" }, { "query": "ACursor abstract cursor for JSON traversal with error accumulation", - "relevant": ["modules/core/shared/src/main/scala/io/circe/ACursor.scala"], - "secondary": [], - "category": "semantic" - }, - { - "query": "DecodingFailure and circe error types", - "relevant": ["modules/core/shared/src/main/scala/io/circe/DecodingFailure.scala"], + "relevant": [ + "modules/core/shared/src/main/scala/io/circe/ACursor.scala" + ], "secondary": [], "category": "semantic" }, { "query": "JsonObject for key-value JSON object representation", - "relevant": ["modules/core/shared/src/main/scala/io/circe/JsonObject.scala"], + "relevant": [ + "modules/core/shared/src/main/scala/io/circe/JsonObject.scala" + ], "secondary": [], "category": "semantic" }, { "query": "JsonNumber representation for precise numeric values", - "relevant": ["modules/core/shared/src/main/scala/io/circe/JsonNumber.scala"], + "relevant": [ + "modules/core/shared/src/main/scala/io/circe/JsonNumber.scala" + ], "secondary": [], "category": "semantic" }, { "query": "how circe derives Encoder and Decoder instances for case classes", - "relevant": ["modules/core/shared/src/main/scala/io/circe/Encoder.scala"], + "relevant": [ + "modules/core/shared/src/main/scala/io/circe/Encoder.scala" + ], "secondary": [], "category": "architecture" }, { "query": "Printer for controlling JSON serialization formatting", - "relevant": ["modules/core/shared/src/main/scala/io/circe/Printer.scala"], + "relevant": [ + "modules/core/shared/src/main/scala/io/circe/Printer.scala" + ], "secondary": [], "category": "semantic" }, { "query": "accumulating decoder errors with andAccumulating", - "relevant": ["modules/core/shared/src/main/scala/io/circe/Decoder.scala"], + "relevant": [ + "modules/core/shared/src/main/scala/io/circe/Decoder.scala" + ], "secondary": [], "category": "semantic" }, { "query": "emap and flatMap on Decoder for validation and transformation", - "relevant": ["modules/core/shared/src/main/scala/io/circe/Decoder.scala"], + "relevant": [ + "modules/core/shared/src/main/scala/io/circe/Decoder.scala" + ], "secondary": [], "category": "semantic" }, { "query": "how circe parses a JSON string into a Json value", - "relevant": ["modules/core/shared/src/main/scala/io/circe/Parser.scala"], + "relevant": [ + "modules/core/shared/src/main/scala/io/circe/Parser.scala" + ], "secondary": [], "category": "architecture" }, { "query": "KeyEncoder and KeyDecoder for Map key serialization", - "relevant": ["modules/core/shared/src/main/scala/io/circe/KeyEncoder.scala"], + "relevant": [ + "modules/core/shared/src/main/scala/io/circe/KeyEncoder.scala" + ], "secondary": [], "category": "semantic" }, { "query": "circe generic auto and semi-auto derivation configuration", - "relevant": ["modules/core/shared/src/main/scala/io/circe/Decoder.scala"], + "relevant": [ + "modules/core/shared/src/main/scala/io/circe/Decoder.scala" + ], "secondary": [], "category": "semantic" }, { "query": "down field and array index cursor operations", - "relevant": ["modules/core/shared/src/main/scala/io/circe/HCursor.scala"], + "relevant": [ + "modules/core/shared/src/main/scala/io/circe/HCursor.scala" + ], "secondary": [], "category": "semantic" }, { "query": "Encoder", - "relevant": ["modules/core/shared/src/main/scala/io/circe/Encoder.scala"], + "relevant": [ + "modules/core/shared/src/main/scala/io/circe/Encoder.scala" + ], "secondary": [], "category": "symbol" }, { "query": "Decoder", - "relevant": ["modules/core/shared/src/main/scala/io/circe/Decoder.scala"], + "relevant": [ + "modules/core/shared/src/main/scala/io/circe/Decoder.scala" + ], "secondary": [], "category": "symbol" }, { "query": "Json", - "relevant": ["modules/core/shared/src/main/scala/io/circe/Json.scala"], + "relevant": [ + "modules/core/shared/src/main/scala/io/circe/Json.scala" + ], "secondary": [], "category": "symbol" } diff --git a/benchmarks/annotations/ecto.json b/benchmarks/annotations/ecto.json index 709ae29..ed986bd 100644 --- a/benchmarks/annotations/ecto.json +++ b/benchmarks/annotations/ecto.json @@ -1,121 +1,153 @@ [ { "query": "how Ecto.Schema defines database-backed structs and associations", - "relevant": ["lib/ecto/schema.ex"], + "relevant": [ + "lib/ecto/schema.ex" + ], "secondary": [], "category": "architecture" }, { "query": "Ecto.Changeset for validating and transforming data", - "relevant": ["lib/ecto/changeset.ex"], + "relevant": [ + "lib/ecto/changeset.ex" + ], "secondary": [], "category": "architecture" }, { "query": "Ecto.Query DSL for composing SQL queries", - "relevant": ["lib/ecto/query.ex"], + "relevant": [ + "lib/ecto/query.ex" + ], "secondary": [], "category": "semantic" }, { "query": "Ecto.Repo behaviour for database interactions", - "relevant": ["lib/ecto/repo.ex"], + "relevant": [ + "lib/ecto/repo.ex" + ], "secondary": [], "category": "architecture" }, { "query": "cast and validate_required in changesets", - "relevant": ["lib/ecto/changeset.ex"], + "relevant": [ + "lib/ecto/changeset.ex" + ], "secondary": [], "category": "semantic" }, { "query": "has_many belongs_to and many-to-many association definitions", - "relevant": ["lib/ecto/schema.ex"], - "secondary": [], - "category": "semantic" - }, - { - "query": "Ecto.Migration for defining database migrations", - "relevant": ["lib/ecto/migration.ex"], + "relevant": [ + "lib/ecto/schema.ex" + ], "secondary": [], "category": "semantic" }, { "query": "from where select and order_by query expressions", - "relevant": ["lib/ecto/query.ex"], + "relevant": [ + "lib/ecto/query.ex" + ], "secondary": [], "category": "semantic" }, { "query": "preload for loading associations eagerly", - "relevant": ["lib/ecto/query.ex"], + "relevant": [ + "lib/ecto/query.ex" + ], "secondary": [], "category": "semantic" }, { "query": "Ecto.Type for custom field type definitions", - "relevant": ["lib/ecto/type.ex"], + "relevant": [ + "lib/ecto/type.ex" + ], "secondary": [], "category": "semantic" }, { "query": "insert update delete and transaction repo callbacks", - "relevant": ["lib/ecto/repo.ex"], + "relevant": [ + "lib/ecto/repo.ex" + ], "secondary": [], "category": "semantic" }, { "query": "how Ecto handles embedded schemas", - "relevant": ["lib/ecto/schema.ex"], + "relevant": [ + "lib/ecto/schema.ex" + ], "secondary": [], "category": "semantic" }, { "query": "validate_format validate_length and constraint validators", - "relevant": ["lib/ecto/changeset.ex"], + "relevant": [ + "lib/ecto/changeset.ex" + ], "secondary": [], "category": "semantic" }, { "query": "Ecto.Queryable protocol for query composition", - "relevant": ["lib/ecto/queryable.ex"], + "relevant": [ + "lib/ecto/queryable.ex" + ], "secondary": [], "category": "semantic" }, { "query": "Multi for composing multiple database operations in a transaction", - "relevant": ["lib/ecto/multi.ex"], + "relevant": [ + "lib/ecto/multi.ex" + ], "secondary": [], "category": "semantic" }, { "query": "optimistic locking with lock_version in changesets", - "relevant": ["lib/ecto/changeset.ex"], + "relevant": [ + "lib/ecto/changeset.ex" + ], "secondary": [], "category": "semantic" }, { "query": "association and embeds_many embeds_one for nested data", - "relevant": ["lib/ecto/schema.ex"], + "relevant": [ + "lib/ecto/schema.ex" + ], "secondary": [], "category": "semantic" }, { "query": "Schema", - "relevant": ["lib/ecto/schema.ex"], + "relevant": [ + "lib/ecto/schema.ex" + ], "secondary": [], "category": "symbol" }, { "query": "Changeset", - "relevant": ["lib/ecto/changeset.ex"], + "relevant": [ + "lib/ecto/changeset.ex" + ], "secondary": [], "category": "symbol" }, { "query": "Query", - "relevant": ["lib/ecto/query.ex"], + "relevant": [ + "lib/ecto/query.ex" + ], "secondary": [], "category": "symbol" } diff --git a/benchmarks/annotations/express.json b/benchmarks/annotations/express.json index edc8ee2..65f1efd 100644 --- a/benchmarks/annotations/express.json +++ b/benchmarks/annotations/express.json @@ -1,122 +1,80 @@ [ { "query": "application initialization and default configuration", - "relevant": ["lib/application.js"], - "secondary": ["lib/express.js"], + "relevant": [ + "lib/application.js" + ], + "secondary": [ + "lib/express.js" + ], "category": "architecture" }, { "query": "request API helpers and header access", - "relevant": ["lib/request.js"], + "relevant": [ + "lib/request.js" + ], "secondary": [], "category": "semantic" }, { "query": "response sending and content negotiation", - "relevant": ["lib/response.js"], + "relevant": [ + "lib/response.js" + ], "secondary": [], "category": "semantic" }, { "query": "template view lookup and rendering", - "relevant": ["lib/view.js"], - "secondary": ["lib/application.js"], + "relevant": [ + "lib/view.js" + ], + "secondary": [ + "lib/application.js" + ], "category": "architecture" }, { "query": "response", - "relevant": ["lib/response.js"], + "relevant": [ + "lib/response.js" + ], "secondary": [], "category": "symbol" }, - { - "query": "router middleware registration and request dispatching", - "relevant": ["lib/router/index.js"], - "secondary": [], - "category": "architecture" - }, - { - "query": "individual route and its handler chain", - "relevant": ["lib/router/route.js"], - "secondary": [], - "category": "semantic" - }, - { - "query": "route layer path matching and URL parameter extraction", - "relevant": ["lib/router/layer.js"], - "secondary": [], - "category": "semantic" - }, - { - "query": "query string parsing middleware", - "relevant": ["lib/middleware/query.js"], - "secondary": [], - "category": "semantic" - }, - { - "query": "init middleware that attaches app and settings to req", - "relevant": ["lib/middleware/init.js"], - "secondary": [], - "category": "semantic" - }, { "query": "utility functions for content type detection and MIME handling", - "relevant": ["lib/utils.js"], + "relevant": [ + "lib/utils.js" + ], "secondary": [], "category": "semantic" }, - { - "query": "how middleware is mounted and chained with use()", - "relevant": ["lib/application.js"], - "secondary": ["lib/router/index.js"], - "category": "architecture" - }, - { - "query": "error handling with next(err) and four-argument error middleware", - "relevant": ["lib/router/layer.js"], - "secondary": ["lib/router/index.js"], - "category": "architecture" - }, - { - "query": "how route params are decoded and populated on the request", - "relevant": ["lib/router/layer.js"], - "secondary": ["lib/router/route.js"], - "category": "architecture" - }, { "query": "how sub-applications are mounted with use() and path prefix stripping", - "relevant": ["lib/application.js"], + "relevant": [ + "lib/application.js" + ], "secondary": [], "category": "architecture" }, { "query": "how express creates the app function and attaches prototype methods", - "relevant": ["lib/express.js"], - "secondary": ["lib/application.js"], + "relevant": [ + "lib/express.js" + ], + "secondary": [ + "lib/application.js" + ], "category": "architecture" }, - { - "query": "Router", - "relevant": ["lib/router/index.js"], - "secondary": [], - "category": "symbol" - }, - { - "query": "Route", - "relevant": ["lib/router/route.js"], - "secondary": [], - "category": "symbol" - }, { "query": "application", - "relevant": ["lib/application.js"], + "relevant": [ + "lib/application.js" + ], "secondary": [], "category": "symbol" - }, - { - "query": "how the application inherits from the prototype router", - "relevant": ["lib/application.js"], - "secondary": ["lib/router/index.js"], - "category": "architecture" } ] diff --git a/benchmarks/annotations/jackson-databind.json b/benchmarks/annotations/jackson-databind.json index c1cb71c..aa3f1b9 100644 --- a/benchmarks/annotations/jackson-databind.json +++ b/benchmarks/annotations/jackson-databind.json @@ -1,126 +1,201 @@ [ { "query": "ObjectMapper entry point for reading and writing JSON", - "relevant": ["src/main/java/tools/jackson/databind/ObjectMapper.java"], + "relevant": [ + "src/main/java/tools/jackson/databind/ObjectMapper.java" + ], "secondary": [], "category": "semantic" }, { "query": "JSON-specific mapper builder", - "relevant": ["src/main/java/tools/jackson/databind/json/JsonMapper.java"], - "secondary": ["src/main/java/tools/jackson/databind/ObjectMapper.java"], + "relevant": [ + "src/main/java/tools/jackson/databind/json/JsonMapper.java" + ], + "secondary": [ + "src/main/java/tools/jackson/databind/ObjectMapper.java" + ], "category": "architecture" }, { "query": "mutable JSON object node with named field operations", - "relevant": ["src/main/java/tools/jackson/databind/node/ObjectNode.java"], - "secondary": ["src/main/java/tools/jackson/databind/node/JsonNodeFactory.java"], + "relevant": [ + "src/main/java/tools/jackson/databind/node/ObjectNode.java" + ], + "secondary": [ + "src/main/java/tools/jackson/databind/node/JsonNodeFactory.java" + ], "category": "semantic" }, { "query": "polymorphic type resolution", - "relevant": ["src/main/java/tools/jackson/databind/jsontype/impl/StdTypeResolverBuilder.java"], - "secondary": ["src/main/java/tools/jackson/databind/jsontype/impl/TypeDeserializerBase.java"], + "relevant": [ + "src/main/java/tools/jackson/databind/jsontype/impl/StdTypeResolverBuilder.java" + ], + "secondary": [ + "src/main/java/tools/jackson/databind/jsontype/impl/TypeDeserializerBase.java" + ], "category": "architecture" }, { "query": "ObjectMapper", - "relevant": [{"path": "src/main/java/tools/jackson/databind/ObjectMapper.java", "start_line": 93, "end_line": 132}], + "relevant": [ + { + "path": "src/main/java/tools/jackson/databind/ObjectMapper.java", + "start_line": 93, + "end_line": 132 + } + ], "secondary": [], "category": "symbol", - "seed": {"path": "src/main/java/tools/jackson/databind/ObjectMapper.java", "line": 109}, + "seed": { + "path": "src/main/java/tools/jackson/databind/ObjectMapper.java", + "line": 109 + }, "related": [ - {"path": "src/main/java/tools/jackson/databind/ObjectMapper.java", "start_line": 356, "end_line": 387}, - {"path": "src/main/java/tools/jackson/databind/cfg/MapperBuilder.java", "start_line": 338, "end_line": 344} + { + "path": "src/main/java/tools/jackson/databind/ObjectMapper.java", + "start_line": 356, + "end_line": 387 + }, + { + "path": "src/main/java/tools/jackson/databind/cfg/MapperBuilder.java", + "start_line": 338, + "end_line": 344 + } ] }, { "query": "JsonMapper", - "relevant": [{"path": "src/main/java/tools/jackson/databind/json/JsonMapper.java", "start_line": 16, "end_line": 44}], - "secondary": ["src/main/java/tools/jackson/databind/ObjectMapper.java"], + "relevant": [ + { + "path": "src/main/java/tools/jackson/databind/json/JsonMapper.java", + "start_line": 16, + "end_line": 44 + } + ], + "secondary": [ + "src/main/java/tools/jackson/databind/ObjectMapper.java" + ], "category": "symbol" }, { "query": "ObjectNode", - "relevant": [{"path": "src/main/java/tools/jackson/databind/node/ObjectNode.java", "start_line": 21, "end_line": 60}], + "relevant": [ + { + "path": "src/main/java/tools/jackson/databind/node/ObjectNode.java", + "start_line": 21, + "end_line": 60 + } + ], "secondary": [], "category": "symbol" }, { "query": "reading and deserializing JSON into Java objects with type control", - "relevant": ["src/main/java/tools/jackson/databind/ObjectReader.java"], + "relevant": [ + "src/main/java/tools/jackson/databind/ObjectReader.java" + ], "secondary": [], "category": "semantic" }, { "query": "writing and serializing Java objects to JSON with configuration", - "relevant": ["src/main/java/tools/jackson/databind/ObjectWriter.java"], + "relevant": [ + "src/main/java/tools/jackson/databind/ObjectWriter.java" + ], "secondary": [], "category": "semantic" }, { "query": "bean deserialization from JSON properties", - "relevant": ["src/main/java/tools/jackson/databind/deser/BeanDeserializer.java"], + "relevant": [ + "src/main/java/tools/jackson/databind/deser/bean/BeanDeserializer.java" + ], "secondary": [], "category": "semantic" }, { "query": "bean serialization of Java object fields to JSON", - "relevant": ["src/main/java/tools/jackson/databind/ser/BeanSerializer.java"], + "relevant": [ + "src/main/java/tools/jackson/databind/ser/BeanSerializer.java" + ], "secondary": [], "category": "semantic" }, { "query": "type factory for parameterized and collection types", - "relevant": ["src/main/java/tools/jackson/databind/type/TypeFactory.java"], + "relevant": [ + "src/main/java/tools/jackson/databind/type/TypeFactory.java" + ], "secondary": [], "category": "semantic" }, { "query": "deserialization context and error accumulation during parsing", - "relevant": ["src/main/java/tools/jackson/databind/DeserializationContext.java"], + "relevant": [ + "src/main/java/tools/jackson/databind/DeserializationContext.java" + ], "secondary": [], "category": "architecture" }, { "query": "mapper builder fluent configuration API", - "relevant": ["src/main/java/tools/jackson/databind/cfg/MapperBuilder.java"], - "secondary": ["src/main/java/tools/jackson/databind/ObjectMapper.java"], + "relevant": [ + "src/main/java/tools/jackson/databind/cfg/MapperBuilder.java" + ], + "secondary": [ + "src/main/java/tools/jackson/databind/ObjectMapper.java" + ], "category": "architecture" }, { "query": "deserialization feature flags and configuration options", - "relevant": ["src/main/java/tools/jackson/databind/DeserializationFeature.java"], + "relevant": [ + "src/main/java/tools/jackson/databind/DeserializationFeature.java" + ], "secondary": [], "category": "semantic" }, { "query": "how the mapper resolves a deserializer for a given Java type", - "relevant": ["src/main/java/tools/jackson/databind/ObjectMapper.java"], - "secondary": ["src/main/java/tools/jackson/databind/deser/BeanDeserializerFactory.java"], + "relevant": [ + "src/main/java/tools/jackson/databind/ObjectMapper.java" + ], + "secondary": [ + "src/main/java/tools/jackson/databind/deser/BeanDeserializerFactory.java" + ], "category": "architecture" }, { "query": "ObjectReader", - "relevant": ["src/main/java/tools/jackson/databind/ObjectReader.java"], + "relevant": [ + "src/main/java/tools/jackson/databind/ObjectReader.java" + ], "secondary": [], "category": "symbol" }, { "query": "ObjectWriter", - "relevant": ["src/main/java/tools/jackson/databind/ObjectWriter.java"], + "relevant": [ + "src/main/java/tools/jackson/databind/ObjectWriter.java" + ], "secondary": [], "category": "symbol" }, { "query": "TypeFactory", - "relevant": ["src/main/java/tools/jackson/databind/type/TypeFactory.java"], + "relevant": [ + "src/main/java/tools/jackson/databind/type/TypeFactory.java" + ], "secondary": [], "category": "symbol" }, { "query": "JSON array node with indexed element access", - "relevant": ["src/main/java/tools/jackson/databind/node/ArrayNode.java"], + "relevant": [ + "src/main/java/tools/jackson/databind/node/ArrayNode.java" + ], "secondary": [], "category": "semantic" } diff --git a/benchmarks/annotations/kotlinx-coroutines.json b/benchmarks/annotations/kotlinx-coroutines.json index bec4906..b5a825a 100644 --- a/benchmarks/annotations/kotlinx-coroutines.json +++ b/benchmarks/annotations/kotlinx-coroutines.json @@ -1,121 +1,161 @@ [ { "query": "how launch and async coroutine builders start coroutines", - "relevant": ["kotlinx-coroutines-core/common/src/Builders.common.kt"], + "relevant": [ + "kotlinx-coroutines-core/common/src/Builders.common.kt" + ], "secondary": [], "category": "architecture" }, { "query": "Deferred and await for async result computation", - "relevant": ["kotlinx-coroutines-core/common/src/Deferred.kt"], + "relevant": [ + "kotlinx-coroutines-core/common/src/Deferred.kt" + ], "secondary": [], "category": "semantic" }, { "query": "Job interface and coroutine lifecycle management", - "relevant": ["kotlinx-coroutines-core/common/src/Job.kt"], + "relevant": [ + "kotlinx-coroutines-core/common/src/Job.kt" + ], "secondary": [], "category": "semantic" }, { "query": "CoroutineScope and structured concurrency", - "relevant": ["kotlinx-coroutines-core/common/src/CoroutineScope.kt"], + "relevant": [ + "kotlinx-coroutines-core/common/src/CoroutineScope.kt" + ], "secondary": [], "category": "architecture" }, { "query": "CoroutineContext and coroutine context elements", - "relevant": ["kotlinx-coroutines-core/common/src/CoroutineContext.kt"], + "relevant": [ + "kotlinx-coroutines-core/common/src/CoroutineContext.common.kt" + ], "secondary": [], "category": "semantic" }, { "query": "Flow interface and cold stream definition", - "relevant": ["kotlinx-coroutines-core/common/src/flow/Flow.kt"], + "relevant": [ + "kotlinx-coroutines-core/common/src/flow/Flow.kt" + ], "secondary": [], "category": "semantic" }, { "query": "flow builder and how cold flows are created", - "relevant": ["kotlinx-coroutines-core/common/src/flow/Builders.kt"], + "relevant": [ + "kotlinx-coroutines-core/common/src/flow/Builders.kt" + ], "secondary": [], "category": "semantic" }, { "query": "flow operators map filter transform and collect", - "relevant": ["kotlinx-coroutines-core/common/src/flow/operators/Transform.kt"], + "relevant": [ + "kotlinx-coroutines-core/common/src/flow/operators/Transform.kt" + ], "secondary": [], "category": "semantic" }, { "query": "Channel for sending and receiving values between coroutines", - "relevant": ["kotlinx-coroutines-core/common/src/channels/Channel.kt"], + "relevant": [ + "kotlinx-coroutines-core/common/src/channels/Channel.kt" + ], "secondary": [], "category": "semantic" }, { "query": "how select expression waits on multiple suspending operations", - "relevant": ["kotlinx-coroutines-core/common/src/selects/Select.kt"], + "relevant": [ + "kotlinx-coroutines-core/common/src/selects/Select.kt" + ], "secondary": [], "category": "architecture" }, { "query": "Mutex and Semaphore for coroutine synchronization", - "relevant": ["kotlinx-coroutines-core/common/src/sync/Mutex.kt"], + "relevant": [ + "kotlinx-coroutines-core/common/src/sync/Mutex.kt" + ], "secondary": [], "category": "semantic" }, { "query": "withContext for switching coroutine dispatcher context", - "relevant": ["kotlinx-coroutines-core/common/src/Builders.common.kt"], + "relevant": [ + "kotlinx-coroutines-core/common/src/Builders.common.kt" + ], "secondary": [], "category": "semantic" }, { "query": "CoroutineDispatcher and dispatching coroutines to threads", - "relevant": ["kotlinx-coroutines-core/common/src/CoroutineDispatcher.kt"], + "relevant": [ + "kotlinx-coroutines-core/common/src/CoroutineDispatcher.kt" + ], "secondary": [], "category": "semantic" }, { "query": "StateFlow and SharedFlow for hot reactive state", - "relevant": ["kotlinx-coroutines-core/common/src/flow/StateFlow.kt"], + "relevant": [ + "kotlinx-coroutines-core/common/src/flow/StateFlow.kt" + ], "secondary": [], "category": "semantic" }, { "query": "coroutine exception handling and CoroutineExceptionHandler", - "relevant": ["kotlinx-coroutines-core/common/src/CoroutineExceptionHandler.kt"], + "relevant": [ + "kotlinx-coroutines-core/common/src/CoroutineExceptionHandler.kt" + ], "secondary": [], "category": "semantic" }, { "query": "SupervisorJob and supervisor scope for isolated failure handling", - "relevant": ["kotlinx-coroutines-core/common/src/Supervisor.kt"], + "relevant": [ + "kotlinx-coroutines-core/common/src/Supervisor.kt" + ], "secondary": [], "category": "semantic" }, { "query": "delay and withTimeout suspending time functions", - "relevant": ["kotlinx-coroutines-core/common/src/Delay.kt"], + "relevant": [ + "kotlinx-coroutines-core/common/src/Delay.kt" + ], "secondary": [], "category": "semantic" }, { "query": "Job", - "relevant": ["kotlinx-coroutines-core/common/src/Job.kt"], + "relevant": [ + "kotlinx-coroutines-core/common/src/Job.kt" + ], "secondary": [], "category": "symbol" }, { "query": "Flow", - "relevant": ["kotlinx-coroutines-core/common/src/flow/Flow.kt"], + "relevant": [ + "kotlinx-coroutines-core/common/src/flow/Flow.kt" + ], "secondary": [], "category": "symbol" }, { "query": "Channel", - "relevant": ["kotlinx-coroutines-core/common/src/channels/Channel.kt"], + "relevant": [ + "kotlinx-coroutines-core/common/src/channels/Channel.kt" + ], "secondary": [], "category": "symbol" } diff --git a/benchmarks/annotations/nlohmann-json.json b/benchmarks/annotations/nlohmann-json.json index b46795f..f33ebf3 100644 --- a/benchmarks/annotations/nlohmann-json.json +++ b/benchmarks/annotations/nlohmann-json.json @@ -1,121 +1,173 @@ [ { "query": "how JSON values are stored as a discriminated union of types", - "relevant": ["include/nlohmann/json.hpp"], - "secondary": ["include/nlohmann/detail/value_t.hpp"], + "relevant": [ + "include/nlohmann/json.hpp" + ], + "secondary": [ + "include/nlohmann/detail/value_t.hpp" + ], "category": "architecture" }, { "query": "JSON parser and tokenizer", - "relevant": ["include/nlohmann/detail/input/parser.hpp"], - "secondary": ["include/nlohmann/detail/input/lexer.hpp"], + "relevant": [ + "include/nlohmann/detail/input/parser.hpp" + ], + "secondary": [ + "include/nlohmann/detail/input/lexer.hpp" + ], "category": "architecture" }, { "query": "JSON lexer and token scanning", - "relevant": ["include/nlohmann/detail/input/lexer.hpp"], + "relevant": [ + "include/nlohmann/detail/input/lexer.hpp" + ], "secondary": [], "category": "semantic" }, { "query": "JSON serialization to string output", - "relevant": ["include/nlohmann/detail/output/serializer.hpp"], + "relevant": [ + "include/nlohmann/detail/output/serializer.hpp" + ], "secondary": [], "category": "semantic" }, { "query": "ADL-based to_json and from_json conversion hooks for custom types", - "relevant": ["include/nlohmann/adl_serializer.hpp"], + "relevant": [ + "include/nlohmann/adl_serializer.hpp" + ], "secondary": [], "category": "architecture" }, { "query": "exception types for parse and type errors", - "relevant": ["include/nlohmann/detail/exceptions.hpp"], + "relevant": [ + "include/nlohmann/detail/exceptions.hpp" + ], "secondary": [], "category": "semantic" }, { "query": "how from_json populates a custom C++ type from JSON", - "relevant": ["include/nlohmann/detail/conversions/from_json.hpp"], - "secondary": ["include/nlohmann/adl_serializer.hpp"], + "relevant": [ + "include/nlohmann/detail/conversions/from_json.hpp" + ], + "secondary": [ + "include/nlohmann/adl_serializer.hpp" + ], "category": "architecture" }, { "query": "how to_json serializes a custom C++ type to JSON", - "relevant": ["include/nlohmann/detail/conversions/to_json.hpp"], - "secondary": ["include/nlohmann/adl_serializer.hpp"], + "relevant": [ + "include/nlohmann/detail/conversions/to_json.hpp" + ], + "secondary": [ + "include/nlohmann/adl_serializer.hpp" + ], "category": "architecture" }, { "query": "JSON Pointer (RFC 6901) for navigating nested values", - "relevant": ["include/nlohmann/json_pointer.hpp"], + "relevant": [ + "include/nlohmann/detail/json_pointer.hpp" + ], "secondary": [], "category": "semantic" }, { "query": "ordered map for insertion-order-preserving JSON objects", - "relevant": ["include/nlohmann/ordered_map.hpp"], + "relevant": [ + "include/nlohmann/ordered_map.hpp" + ], "secondary": [], "category": "semantic" }, { "query": "type traits and SFINAE utilities for serialization detection", - "relevant": ["include/nlohmann/detail/meta/type_traits.hpp"], + "relevant": [ + "include/nlohmann/detail/meta/type_traits.hpp" + ], "secondary": [], "category": "semantic" }, { "query": "SAX-style event-driven JSON parsing interface", - "relevant": ["include/nlohmann/detail/input/json_sax.hpp"], - "secondary": ["include/nlohmann/detail/input/parser.hpp"], + "relevant": [ + "include/nlohmann/detail/input/json_sax.hpp" + ], + "secondary": [ + "include/nlohmann/detail/input/parser.hpp" + ], "category": "architecture" }, { "query": "value type enum for JSON null, boolean, number, string, array, object", - "relevant": ["include/nlohmann/detail/value_t.hpp"], + "relevant": [ + "include/nlohmann/detail/value_t.hpp" + ], "secondary": [], "category": "semantic" }, { "query": "binary format support for BSON, CBOR, and MessagePack", - "relevant": ["include/nlohmann/detail/output/binary_writer.hpp"], - "secondary": ["include/nlohmann/detail/input/binary_reader.hpp"], + "relevant": [ + "include/nlohmann/detail/output/binary_writer.hpp" + ], + "secondary": [ + "include/nlohmann/detail/input/binary_reader.hpp" + ], "category": "semantic" }, { "query": "how operator[] and at() access and create nested JSON values", - "relevant": ["include/nlohmann/json.hpp"], + "relevant": [ + "include/nlohmann/json.hpp" + ], "secondary": [], "category": "architecture" }, { "query": "JSON merge patch and diff operations", - "relevant": ["include/nlohmann/json.hpp"], + "relevant": [ + "include/nlohmann/json.hpp" + ], "secondary": [], "category": "semantic" }, { "query": "iterator implementation for JSON arrays and objects", - "relevant": ["include/nlohmann/detail/iterators/iter_impl.hpp"], + "relevant": [ + "include/nlohmann/detail/iterators/iter_impl.hpp" + ], "secondary": [], "category": "semantic" }, { "query": "basic_json", - "relevant": ["include/nlohmann/json.hpp"], + "relevant": [ + "include/nlohmann/json.hpp" + ], "secondary": [], "category": "symbol" }, { "query": "json_pointer", - "relevant": ["include/nlohmann/json_pointer.hpp"], + "relevant": [ + "include/nlohmann/detail/json_pointer.hpp" + ], "secondary": [], "category": "symbol" }, { "query": "adl_serializer", - "relevant": ["include/nlohmann/adl_serializer.hpp"], + "relevant": [ + "include/nlohmann/adl_serializer.hpp" + ], "secondary": [], "category": "symbol" } diff --git a/benchmarks/annotations/phoenix.json b/benchmarks/annotations/phoenix.json index fa5b8f7..5dfcf01 100644 --- a/benchmarks/annotations/phoenix.json +++ b/benchmarks/annotations/phoenix.json @@ -1,121 +1,157 @@ [ { "query": "how Phoenix routes are defined and dispatched to controller actions", - "relevant": ["lib/phoenix/router.ex"], + "relevant": [ + "lib/phoenix/router.ex" + ], "secondary": [], "category": "architecture" }, { "query": "controller actions and request handling helpers", - "relevant": ["lib/phoenix/controller.ex"], + "relevant": [ + "lib/phoenix/controller.ex" + ], "secondary": [], "category": "semantic" }, { "query": "real-time channel messaging, topics, and join/leave", - "relevant": ["lib/phoenix/channel.ex"], + "relevant": [ + "lib/phoenix/channel.ex" + ], "secondary": [], "category": "architecture" }, { "query": "channel server process and message routing", - "relevant": ["lib/phoenix/channel/server.ex"], - "secondary": ["lib/phoenix/channel.ex"], + "relevant": [ + "lib/phoenix/channel/server.ex" + ], + "secondary": [ + "lib/phoenix/channel.ex" + ], "category": "semantic" }, { "query": "endpoint and plug pipeline configuration", - "relevant": ["lib/phoenix/endpoint.ex"], + "relevant": [ + "lib/phoenix/endpoint.ex" + ], "secondary": [], "category": "architecture" }, { "query": "WebSocket and long-poll socket transport", - "relevant": ["lib/phoenix/socket.ex"], + "relevant": [ + "lib/phoenix/socket.ex" + ], "secondary": [], "category": "semantic" }, { "query": "presence tracking, diffs, and broadcast", - "relevant": ["lib/phoenix/presence.ex"], - "secondary": [], - "category": "semantic" - }, - { - "query": "template rendering and assigns", - "relevant": ["lib/phoenix/template.ex"], + "relevant": [ + "lib/phoenix/presence.ex" + ], "secondary": [], "category": "semantic" }, { "query": "verified routes for compile-time URL validation", - "relevant": ["lib/phoenix/verified_routes.ex"], + "relevant": [ + "lib/phoenix/verified_routes.ex" + ], "secondary": [], "category": "semantic" }, { "query": "how Phoenix logs request and response lifecycle events", - "relevant": ["lib/phoenix/logger.ex"], + "relevant": [ + "lib/phoenix/logger.ex" + ], "secondary": [], "category": "architecture" }, { "query": "how channels handle incoming messages and replies", - "relevant": ["lib/phoenix/channel.ex"], - "secondary": ["lib/phoenix/channel/server.ex"], + "relevant": [ + "lib/phoenix/channel.ex" + ], + "secondary": [ + "lib/phoenix/channel/server.ex" + ], "category": "architecture" }, { "query": "how the router matches path segments to controller/action", - "relevant": ["lib/phoenix/router.ex"], + "relevant": [ + "lib/phoenix/router.ex" + ], "secondary": [], "category": "architecture" }, { "query": "named URL generation from route helpers", - "relevant": ["lib/phoenix/router.ex"], + "relevant": [ + "lib/phoenix/router.ex" + ], "secondary": [], "category": "architecture" }, { "query": "how controllers render views and JSON responses", - "relevant": ["lib/phoenix/controller.ex"], + "relevant": [ + "lib/phoenix/controller.ex" + ], "secondary": [], "category": "architecture" }, { "query": "Param protocol for extracting URL-safe IDs", - "relevant": ["lib/phoenix/param.ex"], + "relevant": [ + "lib/phoenix/param.ex" + ], "secondary": [], "category": "semantic" }, { "query": "naming conventions for controllers and view modules", - "relevant": ["lib/phoenix/naming.ex"], + "relevant": [ + "lib/phoenix/naming.ex" + ], "secondary": [], "category": "semantic" }, { "query": "how Phoenix Endpoint supervises and starts the HTTP server", - "relevant": ["lib/phoenix/endpoint.ex"], + "relevant": [ + "lib/phoenix/endpoint.ex" + ], "secondary": [], "category": "architecture" }, { "query": "Router", - "relevant": ["lib/phoenix/router.ex"], + "relevant": [ + "lib/phoenix/router.ex" + ], "secondary": [], "category": "symbol" }, { "query": "Controller", - "relevant": ["lib/phoenix/controller.ex"], + "relevant": [ + "lib/phoenix/controller.ex" + ], "secondary": [], "category": "symbol" }, { "query": "Channel", - "relevant": ["lib/phoenix/channel.ex"], + "relevant": [ + "lib/phoenix/channel.ex" + ], "secondary": [], "category": "symbol" } diff --git a/benchmarks/annotations/rack.json b/benchmarks/annotations/rack.json index 51f8cc6..cd674d5 100644 --- a/benchmarks/annotations/rack.json +++ b/benchmarks/annotations/rack.json @@ -1,121 +1,153 @@ [ { "query": "HTTP request wrapper and forwarded headers", - "relevant": ["lib/rack/request.rb"], + "relevant": [ + "lib/rack/request.rb" + ], "secondary": [], "category": "semantic" }, { "query": "HTTP response construction", - "relevant": ["lib/rack/response.rb"], + "relevant": [ + "lib/rack/response.rb" + ], "secondary": [], "category": "semantic" }, { "query": "middleware builder DSL", - "relevant": ["lib/rack/builder.rb"], + "relevant": [ + "lib/rack/builder.rb" + ], "secondary": [], "category": "architecture" }, { "query": "URL path mapping across mounted apps", - "relevant": ["lib/rack/urlmap.rb"], + "relevant": [ + "lib/rack/urlmap.rb" + ], "secondary": [], "category": "architecture" }, { "query": "Request", - "relevant": ["lib/rack/request.rb"], + "relevant": [ + "lib/rack/request.rb" + ], "secondary": [], "category": "symbol" }, { "query": "Rack::Response", - "relevant": [{"path": "lib/rack/response.rb", "start_line": 23, "end_line": 62}], + "relevant": [ + { + "path": "lib/rack/response.rb", + "start_line": 23, + "end_line": 62 + } + ], "secondary": [], "category": "symbol" }, { "query": "Rack::Builder", - "relevant": [{"path": "lib/rack/builder.rb", "start_line": 36, "end_line": 80}], + "relevant": [ + { + "path": "lib/rack/builder.rb", + "start_line": 36, + "end_line": 80 + } + ], "secondary": [], "category": "symbol" }, { "query": "ETag caching and conditional response headers", - "relevant": ["lib/rack/etag.rb"], + "relevant": [ + "lib/rack/etag.rb" + ], "secondary": [], "category": "semantic" }, - { - "query": "cookie-based session storage", - "relevant": ["lib/rack/session/cookie.rb"], - "secondary": ["lib/rack/session/abstract/id.rb"], - "category": "semantic" - }, - { - "query": "session abstraction and identity management", - "relevant": ["lib/rack/session/abstract/id.rb"], - "secondary": [], - "category": "architecture" - }, { "query": "static file serving middleware", - "relevant": ["lib/rack/static.rb"], + "relevant": [ + "lib/rack/static.rb" + ], "secondary": [], "category": "semantic" }, { "query": "directory listing middleware", - "relevant": ["lib/rack/directory.rb"], + "relevant": [ + "lib/rack/directory.rb" + ], "secondary": [], "category": "semantic" }, { "query": "MIME type detection from file extensions", - "relevant": ["lib/rack/mime.rb"], + "relevant": [ + "lib/rack/mime.rb" + ], "secondary": [], "category": "semantic" }, { "query": "utility methods for parameter parsing and URL encoding", - "relevant": ["lib/rack/utils.rb"], + "relevant": [ + "lib/rack/utils.rb" + ], "secondary": [], "category": "semantic" }, { "query": "multipart form data parsing", - "relevant": ["lib/rack/multipart.rb"], + "relevant": [ + "lib/rack/multipart.rb" + ], "secondary": [], "category": "semantic" }, { "query": "Rack spec conformance validator", - "relevant": ["lib/rack/lint.rb"], + "relevant": [ + "lib/rack/lint.rb" + ], "secondary": [], "category": "semantic" }, { "query": "deferred body proxy for lazy response bodies", - "relevant": ["lib/rack/body_proxy.rb"], + "relevant": [ + "lib/rack/body_proxy.rb" + ], "secondary": [], "category": "semantic" }, { "query": "how the Builder DSL assembles the middleware stack with use and run", - "relevant": ["lib/rack/builder.rb"], + "relevant": [ + "lib/rack/builder.rb" + ], "secondary": [], "category": "architecture" }, { "query": "Utils", - "relevant": ["lib/rack/utils.rb"], + "relevant": [ + "lib/rack/utils.rb" + ], "secondary": [], "category": "symbol" }, { "query": "Lint", - "relevant": ["lib/rack/lint.rb"], + "relevant": [ + "lib/rack/lint.rb" + ], "secondary": [], "category": "symbol" } From 67ff07762ed0cc4a697cd7bdcc2fec4141b45a8b Mon Sep 17 00:00:00 2001 From: Pringled Date: Thu, 16 Apr 2026 15:06:48 +0200 Subject: [PATCH 05/19] feat: Tune NL ranking parameters for improved NDCG@10 - NL alpha 0.6 -> 0.5: equal weight semantic + BM25 (BM25 finds targets 2.3x more often than semantic among failure queries) - Stem boost multiplier 0.5 -> 1.0: stronger file-path keyword signal - Match ratio threshold 0.20 -> 0.10: boost files when any keyword matches, even for longer queries NDCG@10 on 50-repo benchmark: 0.838 -> 0.851 (+0.013) --- src/semble/ranking/boosting.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/semble/ranking/boosting.py b/src/semble/ranking/boosting.py index 7da5d4b..994f1f4 100644 --- a/src/semble/ranking/boosting.py +++ b/src/semble/ranking/boosting.py @@ -22,7 +22,7 @@ # Alpha values for query-adaptive blending. _ALPHA_SYMBOL = 0.3 # Symbol queries: lean BM25 for exact keyword matching -_ALPHA_NL = 0.6 # Natural language queries: lean semantic for meaning matching +_ALPHA_NL = 0.5 # Natural language queries: balanced semantic + BM25 # Definition keywords used across common languages. # Case-sensitive: most language keywords are lowercase by convention, and applying @@ -71,7 +71,7 @@ _DEFINITION_BOOST_MULTIPLIER = 2.0 # Additive boost multiplier for NL queries when file stems match query words. -_STEM_BOOST_MULTIPLIER = 0.5 +_STEM_BOOST_MULTIPLIER = 1.0 # Common English stopwords excluded from file-stem matching for NL queries. _STOPWORDS = frozenset( @@ -260,5 +260,5 @@ def _boost_stem_matches( n_matches = _fuzzy_keyword_overlap(keywords, path_cache[chunk.file_path]) if n_matches > 0: match_ratio = n_matches / len(keywords) - if match_ratio >= 0.20: + if match_ratio >= 0.10: boosted[chunk] += boost * match_ratio From 7e6c345a3aa7b3530ff6a4cd305f10a1b1434e28 Mon Sep 17 00:00:00 2001 From: Pringled Date: Thu, 16 Apr 2026 17:41:45 +0200 Subject: [PATCH 06/19] chore: Backfill categories for all annotations and top up express Add semantic/architecture/symbol categories to 212 tasks across 14 repos that were missing them. Add 11 new express tasks to restore coverage after broken annotations were removed (9 -> 20 tasks). Total: 930 tasks across 48 repos, all categorized. --- benchmarks/annotations/aiohttp.json | 183 +++++++++++++---- benchmarks/annotations/alamofire.json | 99 ++++++--- benchmarks/annotations/cats.json | 95 ++++++--- benchmarks/annotations/express.json | 130 ++++++++++++ benchmarks/annotations/fastapi.json | 191 ++++++++++++++---- benchmarks/annotations/flask.json | 191 ++++++++++++++---- benchmarks/annotations/httpx.json | 185 +++++++++++++---- benchmarks/annotations/ktor.json | 111 +++++++--- .../annotations/messagepack-csharp.json | 107 +++++++--- benchmarks/annotations/model2vec.json | 172 ++++++++++++---- benchmarks/annotations/pydantic.json | 168 +++++++++++---- benchmarks/annotations/requests.json | 168 +++++++++++---- benchmarks/annotations/starlette.json | 179 ++++++++++++---- benchmarks/annotations/tokio.json | 91 ++++++--- benchmarks/annotations/trpc.json | 115 ++++++++--- 15 files changed, 1719 insertions(+), 466 deletions(-) diff --git a/benchmarks/annotations/aiohttp.json b/benchmarks/annotations/aiohttp.json index ea00500..748d2ab 100644 --- a/benchmarks/annotations/aiohttp.json +++ b/benchmarks/annotations/aiohttp.json @@ -1,90 +1,195 @@ [ { "query": "how the async HTTP client session works", - "relevant": ["aiohttp/client.py"], - "secondary": [] + "relevant": [ + "aiohttp/client.py" + ], + "secondary": [], + "category": "architecture" }, { "query": "connection pooling and TCP connector", - "relevant": ["aiohttp/connector.py"], - "secondary": [] + "relevant": [ + "aiohttp/connector.py" + ], + "secondary": [], + "category": "semantic" }, { "query": "WebSocket client implementation", - "relevant": ["aiohttp/client_ws.py"], - "secondary": ["aiohttp/_websocket/reader.py"] + "relevant": [ + "aiohttp/client_ws.py" + ], + "secondary": [ + "aiohttp/_websocket/reader.py" + ], + "category": "semantic" }, { "query": "request and response object internals", - "relevant": ["aiohttp/client_reqrep.py"], - "secondary": [] + "relevant": [ + "aiohttp/client_reqrep.py" + ], + "secondary": [], + "category": "semantic" }, { "query": "URL routing and resource dispatching", - "relevant": ["aiohttp/web_urldispatcher.py"], - "secondary": [] + "relevant": [ + "aiohttp/web_urldispatcher.py" + ], + "secondary": [], + "category": "semantic" }, { "query": "server-side middleware execution", - "relevant": ["aiohttp/web_middlewares.py"], - "secondary": ["aiohttp/web_app.py"] + "relevant": [ + "aiohttp/web_middlewares.py" + ], + "secondary": [ + "aiohttp/web_app.py" + ], + "category": "semantic" }, { "query": "multipart and form data handling", - "relevant": ["aiohttp/multipart.py"], - "secondary": ["aiohttp/formdata.py"] + "relevant": [ + "aiohttp/multipart.py" + ], + "secondary": [ + "aiohttp/formdata.py" + ], + "category": "semantic" }, { "query": "response streaming and payload", - "relevant": ["aiohttp/streams.py"], - "secondary": ["aiohttp/payload.py"] + "relevant": [ + "aiohttp/streams.py" + ], + "secondary": [ + "aiohttp/payload.py" + ], + "category": "semantic" }, { "query": "HTTP exception types and error responses", - "relevant": ["aiohttp/web_exceptions.py"], - "secondary": ["aiohttp/client_exceptions.py"] + "relevant": [ + "aiohttp/web_exceptions.py" + ], + "secondary": [ + "aiohttp/client_exceptions.py" + ], + "category": "semantic" }, { "query": "request tracing and observability hooks", - "relevant": ["aiohttp/tracing.py"], - "secondary": [] + "relevant": [ + "aiohttp/tracing.py" + ], + "secondary": [], + "category": "semantic" }, { "query": "how chunked transfer encoding is parsed", - "relevant": ["aiohttp/http_parser.py"], - "secondary": [] + "relevant": [ + "aiohttp/http_parser.py" + ], + "secondary": [], + "category": "architecture" }, { "query": "how DNS resolution is handled asynchronously", - "relevant": ["aiohttp/resolver.py"], - "secondary": ["aiohttp/connector.py"] + "relevant": [ + "aiohttp/resolver.py" + ], + "secondary": [ + "aiohttp/connector.py" + ], + "category": "architecture" }, { "query": "how backpressure and flow control work in streaming", - "relevant": ["aiohttp/streams.py"], - "secondary": [] + "relevant": [ + "aiohttp/streams.py" + ], + "secondary": [], + "category": "architecture" }, { "query": "how connection draining and cleanup happen on close", - "relevant": ["aiohttp/connector.py"], - "secondary": ["aiohttp/client_proto.py"] + "relevant": [ + "aiohttp/connector.py" + ], + "secondary": [ + "aiohttp/client_proto.py" + ], + "category": "architecture" }, { "query": "how the web application sets up and tears down on startup", - "relevant": ["aiohttp/web_app.py"], - "secondary": ["aiohttp/web_runner.py"] + "relevant": [ + "aiohttp/web_app.py" + ], + "secondary": [ + "aiohttp/web_runner.py" + ], + "category": "architecture" + }, + { + "query": "ClientSession", + "relevant": [ + "aiohttp/client.py" + ], + "secondary": [], + "category": "symbol" + }, + { + "query": "TCPConnector", + "relevant": [ + "aiohttp/connector.py" + ], + "secondary": [], + "category": "symbol" + }, + { + "query": "UrlDispatcher", + "relevant": [ + "aiohttp/web_urldispatcher.py" + ], + "secondary": [], + "category": "symbol" + }, + { + "query": "ClientResponse", + "relevant": [ + "aiohttp/client_reqrep.py" + ], + "secondary": [], + "category": "symbol" + }, + { + "query": "TraceConfig", + "relevant": [ + "aiohttp/tracing.py" + ], + "secondary": [], + "category": "symbol" }, - {"query": "ClientSession", "relevant": ["aiohttp/client.py"], "secondary": []}, - {"query": "TCPConnector", "relevant": ["aiohttp/connector.py"], "secondary": []}, - {"query": "UrlDispatcher", "relevant": ["aiohttp/web_urldispatcher.py"], "secondary": []}, - {"query": "ClientResponse", "relevant": ["aiohttp/client_reqrep.py"], "secondary": []}, - {"query": "TraceConfig", "relevant": ["aiohttp/tracing.py"], "secondary": []}, { "query": "how ClientSession acquires and releases connections from the connector", - "relevant": ["aiohttp/client.py"], - "secondary": ["aiohttp/connector.py"], + "relevant": [ + "aiohttp/client.py" + ], + "secondary": [ + "aiohttp/connector.py" + ], "category": "architecture", - "seed": {"path": "aiohttp/client.py", "line": 374}, - "related": ["aiohttp/connector.py"] + "seed": { + "path": "aiohttp/client.py", + "line": 374 + }, + "related": [ + "aiohttp/connector.py" + ] } ] diff --git a/benchmarks/annotations/alamofire.json b/benchmarks/annotations/alamofire.json index df5ee2b..43c60a9 100644 --- a/benchmarks/annotations/alamofire.json +++ b/benchmarks/annotations/alamofire.json @@ -1,99 +1,146 @@ [ { "query": "how the Session manages the underlying URLSession and dispatches requests", - "relevant": ["Source/Core/Session.swift"], - "secondary": ["Source/Core/SessionDelegate.swift"], + "relevant": [ + "Source/Core/Session.swift" + ], + "secondary": [ + "Source/Core/SessionDelegate.swift" + ], "category": "architecture" }, { "query": "how request retrying is implemented with backoff and retry conditions", - "relevant": ["Source/Features/RetryPolicy.swift"], - "secondary": ["Source/Features/RequestInterceptor.swift"], + "relevant": [ + "Source/Features/RetryPolicy.swift" + ], + "secondary": [ + "Source/Features/RequestInterceptor.swift" + ], "category": "architecture" }, { "query": "how response validation checks status codes and content types", - "relevant": ["Source/Features/Validation.swift"], + "relevant": [ + "Source/Features/Validation.swift" + ], "secondary": [], "category": "semantic" }, { "query": "how response serialization decodes JSON, Decodable, and strings", - "relevant": ["Source/Features/ResponseSerialization.swift"], + "relevant": [ + "Source/Features/ResponseSerialization.swift" + ], "secondary": [], "category": "semantic" }, { "query": "how multipart form data encodes fields and file attachments", - "relevant": ["Source/Features/MultipartFormData.swift"], - "secondary": ["Source/Features/MultipartUpload.swift"], + "relevant": [ + "Source/Features/MultipartFormData.swift" + ], + "secondary": [ + "Source/Features/MultipartUpload.swift" + ], "category": "semantic" }, { "query": "how authentication interceptors handle credential challenges", - "relevant": ["Source/Features/AuthenticationInterceptor.swift"], + "relevant": [ + "Source/Features/AuthenticationInterceptor.swift" + ], "secondary": [], "category": "semantic" }, { "query": "how server trust evaluation handles SSL certificate pinning", - "relevant": ["Source/Features/ServerTrustEvaluation.swift"], + "relevant": [ + "Source/Features/ServerTrustEvaluation.swift" + ], "secondary": [], "category": "semantic" }, { "query": "how URL query parameters are encoded from Encodable values", - "relevant": ["Source/Features/URLEncodedFormEncoder.swift"], - "secondary": ["Source/Core/ParameterEncoder.swift"], + "relevant": [ + "Source/Features/URLEncodedFormEncoder.swift" + ], + "secondary": [ + "Source/Core/ParameterEncoder.swift" + ], "category": "semantic" }, { "query": "how network reachability is monitored to detect connectivity changes", - "relevant": ["Source/Features/NetworkReachabilityManager.swift"], + "relevant": [ + "Source/Features/NetworkReachabilityManager.swift" + ], "secondary": [], "category": "semantic" }, { "query": "how download requests save responses to disk", - "relevant": ["Source/Core/DownloadRequest.swift"], + "relevant": [ + "Source/Core/DownloadRequest.swift" + ], "secondary": [], "category": "semantic" }, { "query": "how request and response events are logged via EventMonitor", - "relevant": ["Source/Features/EventMonitor.swift"], + "relevant": [ + "Source/Features/EventMonitor.swift" + ], "secondary": [], "category": "semantic" }, { "query": "how the Request class tracks lifecycle state transitions", - "relevant": ["Source/Core/Request.swift"], + "relevant": [ + "Source/Core/Request.swift" + ], "secondary": [], "category": "architecture" }, { "query": "Session", - "relevant": ["Source/Core/Session.swift"], - "secondary": [] + "relevant": [ + "Source/Core/Session.swift" + ], + "secondary": [], + "category": "symbol" }, { "query": "AFError", - "relevant": ["Source/Core/AFError.swift"], - "secondary": [] + "relevant": [ + "Source/Core/AFError.swift" + ], + "secondary": [], + "category": "symbol" }, { "query": "RetryPolicy", - "relevant": ["Source/Features/RetryPolicy.swift"], - "secondary": [] + "relevant": [ + "Source/Features/RetryPolicy.swift" + ], + "secondary": [], + "category": "symbol" }, { "query": "ServerTrustEvaluating", - "relevant": ["Source/Features/ServerTrustEvaluation.swift"], - "secondary": [] + "relevant": [ + "Source/Features/ServerTrustEvaluation.swift" + ], + "secondary": [], + "category": "symbol" }, { "query": "HTTPHeaders", - "relevant": ["Source/Core/HTTPHeaders.swift"], - "secondary": [] + "relevant": [ + "Source/Core/HTTPHeaders.swift" + ], + "secondary": [], + "category": "symbol" } ] diff --git a/benchmarks/annotations/cats.json b/benchmarks/annotations/cats.json index 4140db6..2ec8eb5 100644 --- a/benchmarks/annotations/cats.json +++ b/benchmarks/annotations/cats.json @@ -1,99 +1,144 @@ [ { "query": "how the Functor type class defines mapping over a context", - "relevant": ["core/src/main/scala/cats/Functor.scala"], + "relevant": [ + "core/src/main/scala/cats/Functor.scala" + ], "secondary": [], "category": "architecture" }, { "query": "how Monad composes dependent effectful computations with flatMap", - "relevant": ["core/src/main/scala/cats/Monad.scala"], - "secondary": ["core/src/main/scala/cats/FlatMap.scala"], + "relevant": [ + "core/src/main/scala/cats/Monad.scala" + ], + "secondary": [ + "core/src/main/scala/cats/FlatMap.scala" + ], "category": "architecture" }, { "query": "how Applicative combines independent effects", - "relevant": ["core/src/main/scala/cats/Applicative.scala"], - "secondary": ["core/src/main/scala/cats/Apply.scala"], + "relevant": [ + "core/src/main/scala/cats/Applicative.scala" + ], + "secondary": [ + "core/src/main/scala/cats/Apply.scala" + ], "category": "architecture" }, { "query": "how errors are handled and recovered in ApplicativeError and MonadError", - "relevant": ["core/src/main/scala/cats/ApplicativeError.scala"], - "secondary": ["core/src/main/scala/cats/MonadError.scala"], + "relevant": [ + "core/src/main/scala/cats/ApplicativeError.scala" + ], + "secondary": [ + "core/src/main/scala/cats/MonadError.scala" + ], "category": "semantic" }, { "query": "how Validated accumulates errors across independent computations", - "relevant": ["core/src/main/scala/cats/data/Validated.scala"], + "relevant": [ + "core/src/main/scala/cats/data/Validated.scala" + ], "secondary": [], "category": "semantic" }, { "query": "how EitherT combines the Either monad with another effect", - "relevant": ["core/src/main/scala/cats/data/EitherT.scala"], + "relevant": [ + "core/src/main/scala/cats/data/EitherT.scala" + ], "secondary": [], "category": "semantic" }, { "query": "how Kleisli composes functions that return monadic values", - "relevant": ["core/src/main/scala/cats/data/Kleisli.scala"], + "relevant": [ + "core/src/main/scala/cats/data/Kleisli.scala" + ], "secondary": [], "category": "semantic" }, { "query": "how Eval provides lazy and memoized evaluation", - "relevant": ["core/src/main/scala/cats/Eval.scala"], + "relevant": [ + "core/src/main/scala/cats/Eval.scala" + ], "secondary": [], "category": "semantic" }, { "query": "how Foldable traverses and reduces elements in a container", - "relevant": ["core/src/main/scala/cats/Foldable.scala"], + "relevant": [ + "core/src/main/scala/cats/Foldable.scala" + ], "secondary": [], "category": "semantic" }, { "query": "how Chain provides O(1) concatenation as an alternative to List", - "relevant": ["core/src/main/scala/cats/data/Chain.scala"], + "relevant": [ + "core/src/main/scala/cats/data/Chain.scala" + ], "secondary": [], "category": "semantic" }, { "query": "how natural transformations map between type constructors", - "relevant": ["core/src/main/scala/cats/arrow/FunctionK.scala"], + "relevant": [ + "core/src/main/scala/cats/arrow/FunctionK.scala" + ], "secondary": [], "category": "semantic" }, { "query": "how the Contravariant functor reverses the mapping direction", - "relevant": ["core/src/main/scala/cats/Contravariant.scala"], + "relevant": [ + "core/src/main/scala/cats/Contravariant.scala" + ], "secondary": [], "category": "semantic" }, { "query": "Monad", - "relevant": ["core/src/main/scala/cats/Monad.scala"], - "secondary": [] + "relevant": [ + "core/src/main/scala/cats/Monad.scala" + ], + "secondary": [], + "category": "symbol" }, { "query": "Functor", - "relevant": ["core/src/main/scala/cats/Functor.scala"], - "secondary": [] + "relevant": [ + "core/src/main/scala/cats/Functor.scala" + ], + "secondary": [], + "category": "symbol" }, { "query": "EitherT", - "relevant": ["core/src/main/scala/cats/data/EitherT.scala"], - "secondary": [] + "relevant": [ + "core/src/main/scala/cats/data/EitherT.scala" + ], + "secondary": [], + "category": "symbol" }, { "query": "Validated", - "relevant": ["core/src/main/scala/cats/data/Validated.scala"], - "secondary": [] + "relevant": [ + "core/src/main/scala/cats/data/Validated.scala" + ], + "secondary": [], + "category": "symbol" }, { "query": "Kleisli", - "relevant": ["core/src/main/scala/cats/data/Kleisli.scala"], - "secondary": [] + "relevant": [ + "core/src/main/scala/cats/data/Kleisli.scala" + ], + "secondary": [], + "category": "symbol" } ] diff --git a/benchmarks/annotations/express.json b/benchmarks/annotations/express.json index 65f1efd..858e949 100644 --- a/benchmarks/annotations/express.json +++ b/benchmarks/annotations/express.json @@ -76,5 +76,135 @@ ], "secondary": [], "category": "symbol" + }, + { + "query": "res.send body encoding and ETag generation", + "relevant": [ + { + "path": "lib/response.js", + "start_line": 125, + "end_line": 230 + } + ], + "secondary": [], + "category": "semantic" + }, + { + "query": "JSON response serialization and JSONP callback support", + "relevant": [ + { + "path": "lib/response.js", + "start_line": 232, + "end_line": 320 + } + ], + "secondary": [], + "category": "semantic" + }, + { + "query": "how res.redirect builds the Location header and status code", + "relevant": [ + { + "path": "lib/response.js", + "start_line": 812, + "end_line": 873 + } + ], + "secondary": [], + "category": "architecture" + }, + { + "query": "cookie setting and signing on the response", + "relevant": [ + { + "path": "lib/response.js", + "start_line": 709, + "end_line": 791 + } + ], + "secondary": [], + "category": "semantic" + }, + { + "query": "how app.render resolves views and calls the template engine", + "relevant": [ + { + "path": "lib/application.js", + "start_line": 522, + "end_line": 596 + } + ], + "secondary": [ + "lib/view.js" + ], + "category": "architecture" + }, + { + "query": "app.set and settings storage", + "relevant": [ + { + "path": "lib/application.js", + "start_line": 351, + "end_line": 397 + } + ], + "secondary": [], + "category": "semantic" + }, + { + "query": "how app.handle dispatches requests through the middleware stack", + "relevant": [ + { + "path": "lib/application.js", + "start_line": 152, + "end_line": 188 + } + ], + "secondary": [], + "category": "architecture" + }, + { + "query": "content negotiation with req.accepts", + "relevant": [ + { + "path": "lib/request.js", + "start_line": 127, + "end_line": 200 + } + ], + "secondary": [], + "category": "semantic" + }, + { + "query": "request hostname and IP address resolution behind proxies", + "relevant": [ + { + "path": "lib/request.js", + "start_line": 297, + "end_line": 400 + } + ], + "secondary": [], + "category": "semantic" + }, + { + "query": "static file serving with res.sendFile", + "relevant": [ + { + "path": "lib/response.js", + "start_line": 371, + "end_line": 431 + } + ], + "secondary": [], + "category": "semantic" + }, + { + "query": "view", + "relevant": [ + "lib/view.js" + ], + "secondary": [], + "category": "symbol" } ] diff --git a/benchmarks/annotations/fastapi.json b/benchmarks/annotations/fastapi.json index 23a990b..c40410d 100644 --- a/benchmarks/annotations/fastapi.json +++ b/benchmarks/annotations/fastapi.json @@ -1,111 +1,224 @@ [ { "query": "how does dependency injection work", - "relevant": ["fastapi/dependencies/utils.py"], - "secondary": ["fastapi/dependencies/models.py", "fastapi/params.py"] + "relevant": [ + "fastapi/dependencies/utils.py" + ], + "secondary": [ + "fastapi/dependencies/models.py", + "fastapi/params.py" + ], + "category": "architecture" }, { "query": "request validation and error handling", - "relevant": ["fastapi/exceptions.py"], - "secondary": ["fastapi/exception_handlers.py"] + "relevant": [ + "fastapi/exceptions.py" + ], + "secondary": [ + "fastapi/exception_handlers.py" + ], + "category": "semantic" }, { "query": "how are routes registered", - "relevant": ["fastapi/routing.py"], - "secondary": ["fastapi/applications.py"] + "relevant": [ + "fastapi/routing.py" + ], + "secondary": [ + "fastapi/applications.py" + ], + "category": "architecture" }, { "query": "websocket endpoint implementation", - "relevant": ["fastapi/websockets.py"], - "secondary": ["fastapi/routing.py"] + "relevant": [ + "fastapi/websockets.py" + ], + "secondary": [ + "fastapi/routing.py" + ], + "category": "semantic" }, { "query": "OpenAPI schema generation", - "relevant": ["fastapi/openapi/utils.py"], - "secondary": ["fastapi/openapi/models.py"] + "relevant": [ + "fastapi/openapi/utils.py" + ], + "secondary": [ + "fastapi/openapi/models.py" + ], + "category": "semantic" }, { "query": "middleware stack and CORS", - "relevant": ["fastapi/middleware/cors.py"], - "secondary": ["fastapi/applications.py"] + "relevant": [ + "fastapi/middleware/cors.py" + ], + "secondary": [ + "fastapi/applications.py" + ], + "category": "semantic" }, { "query": "file upload handling", - "relevant": ["fastapi/datastructures.py"], - "secondary": [] + "relevant": [ + "fastapi/datastructures.py" + ], + "secondary": [], + "category": "semantic" }, { "query": "response model serialization", - "relevant": ["fastapi/encoders.py"], - "secondary": ["fastapi/routing.py"] + "relevant": [ + "fastapi/encoders.py" + ], + "secondary": [ + "fastapi/routing.py" + ], + "category": "semantic" }, { "query": "background tasks", - "relevant": ["fastapi/background.py"], - "secondary": [] + "relevant": [ + "fastapi/background.py" + ], + "secondary": [], + "category": "semantic" }, { "query": "security and OAuth2 authentication", - "relevant": ["fastapi/security/oauth2.py"], - "secondary": ["fastapi/security/http.py"] + "relevant": [ + "fastapi/security/oauth2.py" + ], + "secondary": [ + "fastapi/security/http.py" + ], + "category": "semantic" }, { "query": "how is response validation and serialization applied before sending", - "relevant": ["fastapi/routing.py"], - "secondary": ["fastapi/encoders.py"] + "relevant": [ + "fastapi/routing.py" + ], + "secondary": [ + "fastapi/encoders.py" + ], + "category": "architecture" }, { "query": "how are nested and sub-dependencies resolved", - "relevant": ["fastapi/dependencies/utils.py"], - "secondary": [] + "relevant": [ + "fastapi/dependencies/utils.py" + ], + "secondary": [], + "category": "architecture" }, { "query": "how does FastAPI run sync route functions without blocking", - "relevant": ["fastapi/concurrency.py"], - "secondary": ["fastapi/routing.py"] + "relevant": [ + "fastapi/concurrency.py" + ], + "secondary": [ + "fastapi/routing.py" + ], + "category": "architecture" }, { "query": "how are path parameters extracted and type-converted", - "relevant": ["fastapi/routing.py"], - "secondary": ["fastapi/dependencies/utils.py"] + "relevant": [ + "fastapi/routing.py" + ], + "secondary": [ + "fastapi/dependencies/utils.py" + ], + "category": "architecture" }, { "query": "how does exception propagation work through dependency injection", - "relevant": ["fastapi/dependencies/utils.py"], - "secondary": ["fastapi/routing.py"] + "relevant": [ + "fastapi/dependencies/utils.py" + ], + "secondary": [ + "fastapi/routing.py" + ], + "category": "architecture" }, { "query": "Depends", - "relevant": [{"path": "fastapi/params.py", "start_line": 746, "end_line": 749}], - "secondary": ["fastapi/param_functions.py"], + "relevant": [ + { + "path": "fastapi/params.py", + "start_line": 746, + "end_line": 749 + } + ], + "secondary": [ + "fastapi/param_functions.py" + ], "category": "symbol", - "seed": {"path": "fastapi/params.py", "line": 746}, + "seed": { + "path": "fastapi/params.py", + "line": 746 + }, "related": [ - {"path": "fastapi/params.py", "start_line": 434, "end_line": 468}, - {"path": "fastapi/params.py", "start_line": 627, "end_line": 664} + { + "path": "fastapi/params.py", + "start_line": 434, + "end_line": 468 + }, + { + "path": "fastapi/params.py", + "start_line": 627, + "end_line": 664 + } ] }, { "query": "HTTPException", - "relevant": [{"path": "fastapi/exceptions.py", "start_line": 17, "end_line": 66}], + "relevant": [ + { + "path": "fastapi/exceptions.py", + "start_line": 17, + "end_line": 66 + } + ], "secondary": [], "category": "symbol" }, { "query": "APIRouter", - "relevant": [{"path": "fastapi/routing.py", "start_line": 1005, "end_line": 1030}], + "relevant": [ + { + "path": "fastapi/routing.py", + "start_line": 1005, + "end_line": 1030 + } + ], "secondary": [], "category": "symbol" }, { "query": "BackgroundTasks", - "relevant": [{"path": "fastapi/background.py", "start_line": 11, "end_line": 39}], + "relevant": [ + { + "path": "fastapi/background.py", + "start_line": 11, + "end_line": 39 + } + ], "secondary": [], "category": "symbol" }, { "query": "OAuth2PasswordBearer", - "relevant": [{"path": "fastapi/security/oauth2.py", "start_line": 433, "end_line": 471}], + "relevant": [ + { + "path": "fastapi/security/oauth2.py", + "start_line": 433, + "end_line": 471 + } + ], "secondary": [], "category": "symbol" } diff --git a/benchmarks/annotations/flask.json b/benchmarks/annotations/flask.json index de9fd41..4a0c52a 100644 --- a/benchmarks/annotations/flask.json +++ b/benchmarks/annotations/flask.json @@ -1,90 +1,203 @@ [ { "query": "how are routes registered", - "relevant": ["src/flask/sansio/scaffold.py"], - "secondary": ["src/flask/sansio/app.py"] + "relevant": [ + "src/flask/sansio/scaffold.py" + ], + "secondary": [ + "src/flask/sansio/app.py" + ], + "category": "architecture" }, { "query": "request context handling", - "relevant": ["src/flask/ctx.py"], - "secondary": [] + "relevant": [ + "src/flask/ctx.py" + ], + "secondary": [], + "category": "semantic" }, { "query": "session management", - "relevant": ["src/flask/sessions.py"], - "secondary": [] + "relevant": [ + "src/flask/sessions.py" + ], + "secondary": [], + "category": "semantic" }, { "query": "blueprint registration", - "relevant": ["src/flask/sansio/blueprints.py"], - "secondary": ["src/flask/blueprints.py"] + "relevant": [ + "src/flask/sansio/blueprints.py" + ], + "secondary": [ + "src/flask/blueprints.py" + ], + "category": "semantic" }, { "query": "configuration loading", - "relevant": ["src/flask/config.py"], - "secondary": [] + "relevant": [ + "src/flask/config.py" + ], + "secondary": [], + "category": "semantic" }, { "query": "template rendering", - "relevant": ["src/flask/templating.py"], - "secondary": [] + "relevant": [ + "src/flask/templating.py" + ], + "secondary": [], + "category": "semantic" }, { "query": "error handlers", - "relevant": ["src/flask/sansio/scaffold.py"], - "secondary": ["src/flask/app.py"] + "relevant": [ + "src/flask/sansio/scaffold.py" + ], + "secondary": [ + "src/flask/app.py" + ], + "category": "semantic" }, { "query": "CLI commands", - "relevant": ["src/flask/cli.py"], - "secondary": [] + "relevant": [ + "src/flask/cli.py" + ], + "secondary": [], + "category": "semantic" }, { "query": "testing client", - "relevant": ["src/flask/testing.py"], - "secondary": [] + "relevant": [ + "src/flask/testing.py" + ], + "secondary": [], + "category": "semantic" }, { "query": "JSON response helpers", - "relevant": ["src/flask/json/provider.py"], - "secondary": ["src/flask/helpers.py"] + "relevant": [ + "src/flask/json/provider.py" + ], + "secondary": [ + "src/flask/helpers.py" + ], + "category": "semantic" }, { "query": "how does the application context push and pop around requests", - "relevant": ["src/flask/ctx.py"], - "secondary": ["src/flask/app.py"] + "relevant": [ + "src/flask/ctx.py" + ], + "secondary": [ + "src/flask/app.py" + ], + "category": "architecture" }, { "query": "how does Flask select which error handler to invoke for an exception", - "relevant": ["src/flask/app.py"], - "secondary": ["src/flask/sansio/app.py"] + "relevant": [ + "src/flask/app.py" + ], + "secondary": [ + "src/flask/sansio/app.py" + ], + "category": "architecture" }, { "query": "how is g used to store data scoped to the current request", - "relevant": ["src/flask/ctx.py"], - "secondary": ["src/flask/globals.py"] + "relevant": [ + "src/flask/ctx.py" + ], + "secondary": [ + "src/flask/globals.py" + ], + "category": "architecture" }, { "query": "how are request lifecycle signals emitted", - "relevant": ["src/flask/signals.py"], - "secondary": ["src/flask/app.py"] + "relevant": [ + "src/flask/signals.py" + ], + "secondary": [ + "src/flask/app.py" + ], + "category": "architecture" }, { "query": "how does Flask convert a view return value into a response object", - "relevant": ["src/flask/app.py"], - "secondary": ["src/flask/wrappers.py"] + "relevant": [ + "src/flask/app.py" + ], + "secondary": [ + "src/flask/wrappers.py" + ], + "category": "architecture" + }, + { + "query": "Blueprint", + "relevant": [ + "src/flask/sansio/blueprints.py" + ], + "secondary": [ + "src/flask/blueprints.py" + ], + "category": "symbol" + }, + { + "query": "render_template", + "relevant": [ + "src/flask/templating.py" + ], + "secondary": [], + "category": "symbol" + }, + { + "query": "Flask", + "relevant": [ + "src/flask/app.py" + ], + "secondary": [], + "category": "symbol" + }, + { + "query": "session", + "relevant": [ + "src/flask/sessions.py" + ], + "secondary": [ + "src/flask/globals.py" + ], + "category": "semantic" + }, + { + "query": "g", + "relevant": [ + "src/flask/globals.py" + ], + "secondary": [ + "src/flask/ctx.py" + ], + "category": "semantic" }, - {"query": "Blueprint", "relevant": ["src/flask/sansio/blueprints.py"], "secondary": ["src/flask/blueprints.py"]}, - {"query": "render_template", "relevant": ["src/flask/templating.py"], "secondary": []}, - {"query": "Flask", "relevant": ["src/flask/app.py"], "secondary": []}, - {"query": "session", "relevant": ["src/flask/sessions.py"], "secondary": ["src/flask/globals.py"]}, - {"query": "g", "relevant": ["src/flask/globals.py"], "secondary": ["src/flask/ctx.py"]}, { "query": "how Blueprint inherits routing behaviour from its sansio base class", - "relevant": ["src/flask/sansio/blueprints.py"], - "secondary": ["src/flask/blueprints.py"], + "relevant": [ + "src/flask/sansio/blueprints.py" + ], + "secondary": [ + "src/flask/blueprints.py" + ], "category": "architecture", - "seed": {"path": "src/flask/blueprints.py", "line": 18}, - "related": ["src/flask/sansio/blueprints.py"] + "seed": { + "path": "src/flask/blueprints.py", + "line": 18 + }, + "related": [ + "src/flask/sansio/blueprints.py" + ] } ] diff --git a/benchmarks/annotations/httpx.json b/benchmarks/annotations/httpx.json index 08edd0c..c52dee4 100644 --- a/benchmarks/annotations/httpx.json +++ b/benchmarks/annotations/httpx.json @@ -1,90 +1,197 @@ [ { "query": "how are HTTP requests sent", - "relevant": ["httpx/_client.py"], - "secondary": [] + "relevant": [ + "httpx/_client.py" + ], + "secondary": [], + "category": "architecture" }, { "query": "authentication and credentials", - "relevant": ["httpx/_auth.py"], - "secondary": [] + "relevant": [ + "httpx/_auth.py" + ], + "secondary": [], + "category": "semantic" }, { "query": "connection pooling and transport", - "relevant": ["httpx/_transports/default.py"], - "secondary": ["httpx/_transports/base.py"] + "relevant": [ + "httpx/_transports/default.py" + ], + "secondary": [ + "httpx/_transports/base.py" + ], + "category": "semantic" }, { "query": "URL parsing and construction", - "relevant": ["httpx/_urlparse.py"], - "secondary": ["httpx/_urls.py"] + "relevant": [ + "httpx/_urlparse.py" + ], + "secondary": [ + "httpx/_urls.py" + ], + "category": "semantic" }, { "query": "response decoding and content", - "relevant": ["httpx/_decoders.py"], - "secondary": ["httpx/_models.py"] + "relevant": [ + "httpx/_decoders.py" + ], + "secondary": [ + "httpx/_models.py" + ], + "category": "semantic" }, { "query": "timeout configuration", - "relevant": ["httpx/_config.py"], - "secondary": [] + "relevant": [ + "httpx/_config.py" + ], + "secondary": [], + "category": "semantic" }, { "query": "cookie handling", - "relevant": ["httpx/_models.py"], - "secondary": ["httpx/_client.py"] + "relevant": [ + "httpx/_models.py" + ], + "secondary": [ + "httpx/_client.py" + ], + "category": "semantic" }, { "query": "multipart file upload", - "relevant": ["httpx/_multipart.py"], - "secondary": ["httpx/_content.py"] + "relevant": [ + "httpx/_multipart.py" + ], + "secondary": [ + "httpx/_content.py" + ], + "category": "semantic" }, { "query": "redirect following", - "relevant": ["httpx/_client.py"], - "secondary": [] + "relevant": [ + "httpx/_client.py" + ], + "secondary": [], + "category": "semantic" }, { "query": "error and exception types", - "relevant": ["httpx/_exceptions.py"], - "secondary": [] + "relevant": [ + "httpx/_exceptions.py" + ], + "secondary": [], + "category": "semantic" }, { "query": "how does digest authentication handle the challenge-response flow", - "relevant": ["httpx/_auth.py"], - "secondary": [] + "relevant": [ + "httpx/_auth.py" + ], + "secondary": [], + "category": "architecture" }, { "query": "how are keep-alive connections managed and reused", - "relevant": ["httpx/_transports/default.py"], - "secondary": ["httpx/_config.py"] + "relevant": [ + "httpx/_transports/default.py" + ], + "secondary": [ + "httpx/_config.py" + ], + "category": "architecture" }, { "query": "how does streaming response body iteration work", - "relevant": ["httpx/_models.py"], - "secondary": ["httpx/_decoders.py"] + "relevant": [ + "httpx/_models.py" + ], + "secondary": [ + "httpx/_decoders.py" + ], + "category": "architecture" }, { "query": "how are query parameters encoded into the URL", - "relevant": ["httpx/_urls.py"], - "secondary": ["httpx/_urlparse.py"] + "relevant": [ + "httpx/_urls.py" + ], + "secondary": [ + "httpx/_urlparse.py" + ], + "category": "architecture" }, { "query": "how are retries and transport errors surfaced to the caller", - "relevant": ["httpx/_exceptions.py"], - "secondary": ["httpx/_transports/default.py"] + "relevant": [ + "httpx/_exceptions.py" + ], + "secondary": [ + "httpx/_transports/default.py" + ], + "category": "architecture" + }, + { + "query": "DigestAuth", + "relevant": [ + "httpx/_auth.py" + ], + "secondary": [], + "category": "symbol" + }, + { + "query": "AsyncClient", + "relevant": [ + "httpx/_client.py" + ], + "secondary": [], + "category": "symbol" + }, + { + "query": "Timeout", + "relevant": [ + "httpx/_config.py" + ], + "secondary": [], + "category": "symbol" + }, + { + "query": "HTTPStatusError", + "relevant": [ + "httpx/_exceptions.py" + ], + "secondary": [], + "category": "symbol" + }, + { + "query": "URL", + "relevant": [ + "httpx/_urls.py" + ], + "secondary": [], + "category": "symbol" }, - {"query": "DigestAuth", "relevant": ["httpx/_auth.py"], "secondary": []}, - {"query": "AsyncClient", "relevant": ["httpx/_client.py"], "secondary": []}, - {"query": "Timeout", "relevant": ["httpx/_config.py"], "secondary": []}, - {"query": "HTTPStatusError", "relevant": ["httpx/_exceptions.py"], "secondary": []}, - {"query": "URL", "relevant": ["httpx/_urls.py"], "secondary": []}, { "query": "how the HTTP transport backend sends requests over the wire", - "relevant": ["httpx/_transports/default.py"], - "secondary": ["httpx/_transports/base.py"], + "relevant": [ + "httpx/_transports/default.py" + ], + "secondary": [ + "httpx/_transports/base.py" + ], "category": "architecture", - "seed": {"path": "httpx/_client.py", "line": 731}, - "related": ["httpx/_transports/default.py"] + "seed": { + "path": "httpx/_client.py", + "line": 731 + }, + "related": [ + "httpx/_transports/default.py" + ] } ] diff --git a/benchmarks/annotations/ktor.json b/benchmarks/annotations/ktor.json index b2aa38b..39fa149 100644 --- a/benchmarks/annotations/ktor.json +++ b/benchmarks/annotations/ktor.json @@ -1,93 +1,146 @@ [ { "query": "how the HttpClient is configured with plugins and an engine", - "relevant": ["ktor-client/ktor-client-core/common/src/io/ktor/client/HttpClient.kt"], - "secondary": ["ktor-client/ktor-client-core/common/src/io/ktor/client/HttpClientConfig.kt"], + "relevant": [ + "ktor-client/ktor-client-core/common/src/io/ktor/client/HttpClient.kt" + ], + "secondary": [ + "ktor-client/ktor-client-core/common/src/io/ktor/client/HttpClientConfig.kt" + ], "category": "architecture" }, { "query": "how request and response pipelines process interceptors", - "relevant": ["ktor-client/ktor-client-core/common/src/io/ktor/client/request/HttpRequestPipeline.kt"], - "secondary": ["ktor-client/ktor-client-core/common/src/io/ktor/client/statement/HttpResponsePipeline.kt"], + "relevant": [ + "ktor-client/ktor-client-core/common/src/io/ktor/client/request/HttpRequestPipeline.kt" + ], + "secondary": [ + "ktor-client/ktor-client-core/common/src/io/ktor/client/statement/HttpResponsePipeline.kt" + ], "category": "architecture" }, { "query": "how HTTP caching stores and validates cached responses", - "relevant": ["ktor-client/ktor-client-core/common/src/io/ktor/client/plugins/cache/HttpCache.kt"], - "secondary": ["ktor-client/ktor-client-core/common/src/io/ktor/client/plugins/cache/HttpCacheEntry.kt"], + "relevant": [ + "ktor-client/ktor-client-core/common/src/io/ktor/client/plugins/cache/HttpCache.kt" + ], + "secondary": [ + "ktor-client/ktor-client-core/common/src/io/ktor/client/plugins/cache/HttpCacheEntry.kt" + ], "category": "architecture" }, { "query": "how HTTP status codes are checked and exceptions raised on failure", - "relevant": ["ktor-client/ktor-client-core/common/src/io/ktor/client/plugins/HttpCallValidator.kt"], + "relevant": [ + "ktor-client/ktor-client-core/common/src/io/ktor/client/plugins/HttpCallValidator.kt" + ], "secondary": [], "category": "semantic" }, { "query": "how request and response timeouts are enforced", - "relevant": ["ktor-client/ktor-client-core/common/src/io/ktor/client/plugins/HttpTimeout.kt"], + "relevant": [ + "ktor-client/ktor-client-core/common/src/io/ktor/client/plugins/HttpTimeout.kt" + ], "secondary": [], "category": "semantic" }, { "query": "how HTTP redirects are followed automatically", - "relevant": ["ktor-client/ktor-client-core/common/src/io/ktor/client/plugins/HttpRedirect.kt"], + "relevant": [ + "ktor-client/ktor-client-core/common/src/io/ktor/client/plugins/HttpRedirect.kt" + ], "secondary": [], "category": "semantic" }, { "query": "how cookies are stored and sent with requests", - "relevant": ["ktor-client/ktor-client-core/common/src/io/ktor/client/plugins/cookies/HttpCookies.kt"], - "secondary": ["ktor-client/ktor-client-core/common/src/io/ktor/client/plugins/cookies/AcceptAllCookiesStorage.kt"], + "relevant": [ + "ktor-client/ktor-client-core/common/src/io/ktor/client/plugins/cookies/HttpCookies.kt" + ], + "secondary": [ + "ktor-client/ktor-client-core/common/src/io/ktor/client/plugins/cookies/AcceptAllCookiesStorage.kt" + ], "category": "semantic" }, { "query": "how multipart form data uploads are constructed", - "relevant": ["ktor-client/ktor-client-core/common/src/io/ktor/client/request/forms/FormDataContent.kt"], - "secondary": ["ktor-client/ktor-client-core/common/src/io/ktor/client/request/forms/formDsl.kt"], + "relevant": [ + "ktor-client/ktor-client-core/common/src/io/ktor/client/request/forms/FormDataContent.kt" + ], + "secondary": [ + "ktor-client/ktor-client-core/common/src/io/ktor/client/request/forms/formDsl.kt" + ], "category": "semantic" }, { "query": "how WebSocket connections are established and messages exchanged", - "relevant": ["ktor-client/ktor-client-core/common/src/io/ktor/client/plugins/websocket/WebSockets.kt"], - "secondary": ["ktor-client/ktor-client-core/common/src/io/ktor/client/plugins/websocket/ClientSessions.kt"], + "relevant": [ + "ktor-client/ktor-client-core/common/src/io/ktor/client/plugins/websocket/WebSockets.kt" + ], + "secondary": [ + "ktor-client/ktor-client-core/common/src/io/ktor/client/plugins/websocket/ClientSessions.kt" + ], "category": "architecture" }, { "query": "how server-sent events are received and parsed from a streaming response", - "relevant": ["ktor-client/ktor-client-core/common/src/io/ktor/client/plugins/sse/SSE.kt"], - "secondary": ["ktor-client/ktor-client-core/common/src/io/ktor/client/plugins/sse/DefaultClientSSESession.kt"], + "relevant": [ + "ktor-client/ktor-client-core/common/src/io/ktor/client/plugins/sse/SSE.kt" + ], + "secondary": [ + "ktor-client/ktor-client-core/common/src/io/ktor/client/plugins/sse/DefaultClientSSESession.kt" + ], "category": "semantic" }, { "query": "how the engine abstraction separates the client API from the transport", - "relevant": ["ktor-client/ktor-client-core/common/src/io/ktor/client/engine/HttpClientEngine.kt"], - "secondary": ["ktor-client/ktor-client-core/common/src/io/ktor/client/engine/HttpClientEngineBase.kt"], + "relevant": [ + "ktor-client/ktor-client-core/common/src/io/ktor/client/engine/HttpClientEngine.kt" + ], + "secondary": [ + "ktor-client/ktor-client-core/common/src/io/ktor/client/engine/HttpClientEngineBase.kt" + ], "category": "architecture" }, { "query": "HttpClient", - "relevant": ["ktor-client/ktor-client-core/common/src/io/ktor/client/HttpClient.kt"], - "secondary": [] + "relevant": [ + "ktor-client/ktor-client-core/common/src/io/ktor/client/HttpClient.kt" + ], + "secondary": [], + "category": "symbol" }, { "query": "HttpTimeout", - "relevant": ["ktor-client/ktor-client-core/common/src/io/ktor/client/plugins/HttpTimeout.kt"], - "secondary": [] + "relevant": [ + "ktor-client/ktor-client-core/common/src/io/ktor/client/plugins/HttpTimeout.kt" + ], + "secondary": [], + "category": "symbol" }, { "query": "HttpRedirect", - "relevant": ["ktor-client/ktor-client-core/common/src/io/ktor/client/plugins/HttpRedirect.kt"], - "secondary": [] + "relevant": [ + "ktor-client/ktor-client-core/common/src/io/ktor/client/plugins/HttpRedirect.kt" + ], + "secondary": [], + "category": "symbol" }, { "query": "HttpCookies", - "relevant": ["ktor-client/ktor-client-core/common/src/io/ktor/client/plugins/cookies/HttpCookies.kt"], - "secondary": [] + "relevant": [ + "ktor-client/ktor-client-core/common/src/io/ktor/client/plugins/cookies/HttpCookies.kt" + ], + "secondary": [], + "category": "symbol" }, { "query": "HttpClientEngine", - "relevant": ["ktor-client/ktor-client-core/common/src/io/ktor/client/engine/HttpClientEngine.kt"], - "secondary": [] + "relevant": [ + "ktor-client/ktor-client-core/common/src/io/ktor/client/engine/HttpClientEngine.kt" + ], + "secondary": [], + "category": "symbol" } ] diff --git a/benchmarks/annotations/messagepack-csharp.json b/benchmarks/annotations/messagepack-csharp.json index df6a60c..42ddc58 100644 --- a/benchmarks/annotations/messagepack-csharp.json +++ b/benchmarks/annotations/messagepack-csharp.json @@ -1,98 +1,149 @@ [ { "query": "how objects are serialized to MessagePack binary format", - "relevant": ["src/MessagePack/MessagePackSerializer.cs"], - "secondary": ["src/MessagePack/MessagePackWriter.cs"], + "relevant": [ + "src/MessagePack/MessagePackSerializer.cs" + ], + "secondary": [ + "src/MessagePack/MessagePackWriter.cs" + ], "category": "architecture" }, { "query": "how binary data is deserialized back into typed C# objects", - "relevant": ["src/MessagePack/MessagePackSerializer.cs"], - "secondary": ["src/MessagePack/MessagePackReader.cs"], + "relevant": [ + "src/MessagePack/MessagePackSerializer.cs" + ], + "secondary": [ + "src/MessagePack/MessagePackReader.cs" + ], "category": "architecture" }, { "query": "how custom formatters are registered and resolved for types", - "relevant": ["src/MessagePack/IFormatterResolver.cs"], - "secondary": ["src/MessagePack/Resolvers/CompositeResolver.cs"], + "relevant": [ + "src/MessagePack/IFormatterResolver.cs" + ], + "secondary": [ + "src/MessagePack/Resolvers/CompositeResolver.cs" + ], "category": "architecture" }, { "query": "how the dynamic object resolver generates serialization code at runtime", - "relevant": ["src/MessagePack/Resolvers/DynamicObjectResolver.cs"], + "relevant": [ + "src/MessagePack/Resolvers/DynamicObjectResolver.cs" + ], "secondary": [], "category": "semantic" }, { "query": "how collections and arrays are serialized", - "relevant": ["src/MessagePack/Formatters/CollectionFormatter.cs"], + "relevant": [ + "src/MessagePack/Formatters/CollectionFormatter.cs" + ], "secondary": [], "category": "semantic" }, { "query": "how union types with subtypes are handled in serialization", - "relevant": ["src/MessagePack/Resolvers/DynamicUnionResolver.cs"], + "relevant": [ + "src/MessagePack/Resolvers/DynamicUnionResolver.cs" + ], "secondary": [], "category": "semantic" }, { "query": "how serializer options control compression and resolver configuration", - "relevant": ["src/MessagePack/MessagePackSerializerOptions.cs"], + "relevant": [ + "src/MessagePack/MessagePackSerializerOptions.cs" + ], "secondary": [], "category": "semantic" }, { "query": "how enums are serialized as integers or strings", - "relevant": ["src/MessagePack/Resolvers/DynamicEnumResolver.cs"], - "secondary": ["src/MessagePack/Formatters/GenericEnumFormatter`1.cs", "src/MessagePack/Formatters/EnumAsStringFormatter`1.cs"], + "relevant": [ + "src/MessagePack/Resolvers/DynamicEnumResolver.cs" + ], + "secondary": [ + "src/MessagePack/Formatters/GenericEnumFormatter`1.cs", + "src/MessagePack/Formatters/EnumAsStringFormatter`1.cs" + ], "category": "semantic" }, { "query": "reading MessagePack data from a stream incrementally", - "relevant": ["src/MessagePack/MessagePackStreamReader.cs"], + "relevant": [ + "src/MessagePack/MessagePackStreamReader.cs" + ], "secondary": [], "category": "semantic" }, { "query": "how the sequence pool manages buffer reuse during serialization", - "relevant": ["src/MessagePack/SequencePool.cs"], - "secondary": ["src/MessagePack/BufferWriter.cs"], + "relevant": [ + "src/MessagePack/SequencePool.cs" + ], + "secondary": [ + "src/MessagePack/BufferWriter.cs" + ], "category": "architecture" }, { "query": "how LZ4 compression is applied to MessagePack payloads", - "relevant": ["src/MessagePack/MessagePackSerializer.cs"], + "relevant": [ + "src/MessagePack/MessagePackSerializer.cs" + ], "secondary": [], "category": "semantic" }, { "query": "MessagePackSerializer", - "relevant": ["src/MessagePack/MessagePackSerializer.cs"], - "secondary": [] + "relevant": [ + "src/MessagePack/MessagePackSerializer.cs" + ], + "secondary": [], + "category": "symbol" }, { "query": "MessagePackReader", - "relevant": ["src/MessagePack/MessagePackReader.cs"], - "secondary": [] + "relevant": [ + "src/MessagePack/MessagePackReader.cs" + ], + "secondary": [], + "category": "symbol" }, { "query": "IMessagePackFormatter", - "relevant": ["src/MessagePack/Formatters/IMessagePackFormatter`1.cs"], - "secondary": [] + "relevant": [ + "src/MessagePack/Formatters/IMessagePackFormatter`1.cs" + ], + "secondary": [], + "category": "symbol" }, { "query": "CompositeResolver", - "relevant": ["src/MessagePack/Resolvers/CompositeResolver.cs"], - "secondary": [] + "relevant": [ + "src/MessagePack/Resolvers/CompositeResolver.cs" + ], + "secondary": [], + "category": "symbol" }, { "query": "MessagePackSerializerOptions", - "relevant": ["src/MessagePack/MessagePackSerializerOptions.cs"], - "secondary": [] + "relevant": [ + "src/MessagePack/MessagePackSerializerOptions.cs" + ], + "secondary": [], + "category": "symbol" }, { "query": "StandardResolver", - "relevant": ["src/MessagePack/Resolvers/StandardResolver.cs"], - "secondary": [] + "relevant": [ + "src/MessagePack/Resolvers/StandardResolver.cs" + ], + "secondary": [], + "category": "symbol" } ] diff --git a/benchmarks/annotations/model2vec.json b/benchmarks/annotations/model2vec.json index ad58320..0db6869 100644 --- a/benchmarks/annotations/model2vec.json +++ b/benchmarks/annotations/model2vec.json @@ -1,82 +1,182 @@ [ { "query": "how the StaticModel encodes text to embeddings", - "relevant": ["model2vec/model.py"], - "secondary": ["model2vec/inference/model.py"] + "relevant": [ + "model2vec/model.py" + ], + "secondary": [ + "model2vec/inference/model.py" + ], + "category": "architecture" }, { "query": "how a model is distilled from a sentence transformer", - "relevant": ["model2vec/distill/distillation.py"], - "secondary": [] + "relevant": [ + "model2vec/distill/distillation.py" + ], + "secondary": [], + "category": "architecture" }, { "query": "tokenizer construction and vocabulary building", - "relevant": ["model2vec/tokenizer/tokenizer.py"], - "secondary": ["model2vec/distill/utils.py"] + "relevant": [ + "model2vec/tokenizer/tokenizer.py" + ], + "secondary": [ + "model2vec/distill/utils.py" + ], + "category": "semantic" }, { "query": "saving and loading models from disk", - "relevant": ["model2vec/persistence/persistence.py"], - "secondary": ["model2vec/persistence/datamodels.py"] + "relevant": [ + "model2vec/persistence/persistence.py" + ], + "secondary": [ + "model2vec/persistence/datamodels.py" + ], + "category": "semantic" }, { "query": "quantization of model weights", - "relevant": ["model2vec/quantization.py"], - "secondary": ["model2vec/vocabulary_quantization.py"] + "relevant": [ + "model2vec/quantization.py" + ], + "secondary": [ + "model2vec/vocabulary_quantization.py" + ], + "category": "semantic" }, { "query": "pushing and loading models from HuggingFace Hub", - "relevant": ["model2vec/persistence/hf.py"], - "secondary": [] + "relevant": [ + "model2vec/persistence/hf.py" + ], + "secondary": [], + "category": "semantic" }, { "query": "distillation inference and embedding extraction", - "relevant": ["model2vec/distill/inference.py"], - "secondary": [] + "relevant": [ + "model2vec/distill/inference.py" + ], + "secondary": [], + "category": "semantic" }, { "query": "training a classifier on top of embeddings", - "relevant": ["model2vec/train/classifier.py"], - "secondary": ["model2vec/train/base.py"] + "relevant": [ + "model2vec/train/classifier.py" + ], + "secondary": [ + "model2vec/train/base.py" + ], + "category": "semantic" }, { "query": "generating model cards for publication", - "relevant": ["model2vec/modelcards/modelcards.py"], - "secondary": [] + "relevant": [ + "model2vec/modelcards/modelcards.py" + ], + "secondary": [], + "category": "semantic" }, { "query": "utility functions used across the package", - "relevant": ["model2vec/utils.py"], - "secondary": ["model2vec/distill/utils.py"] + "relevant": [ + "model2vec/utils.py" + ], + "secondary": [ + "model2vec/distill/utils.py" + ], + "category": "semantic" }, { "query": "how mean pooling is applied over token embeddings during distillation", - "relevant": ["model2vec/distill/inference.py"], - "secondary": [] + "relevant": [ + "model2vec/distill/inference.py" + ], + "secondary": [], + "category": "architecture" }, { "query": "how PCA reduces embedding dimensionality", - "relevant": ["model2vec/distill/distillation.py"], - "secondary": ["model2vec/distill/inference.py"] + "relevant": [ + "model2vec/distill/distillation.py" + ], + "secondary": [ + "model2vec/distill/inference.py" + ], + "category": "architecture" }, { "query": "how out-of-vocabulary tokens are handled at inference time", - "relevant": ["model2vec/model.py"], - "secondary": ["model2vec/tokenizer/tokenizer.py"] + "relevant": [ + "model2vec/model.py" + ], + "secondary": [ + "model2vec/tokenizer/tokenizer.py" + ], + "category": "architecture" }, { "query": "how vocabulary is pruned during distillation", - "relevant": ["model2vec/distill/utils.py"], - "secondary": ["model2vec/distill/distillation.py"] + "relevant": [ + "model2vec/distill/utils.py" + ], + "secondary": [ + "model2vec/distill/distillation.py" + ], + "category": "architecture" }, { "query": "how subword token weights are aggregated for whole-word embeddings", - "relevant": ["model2vec/distill/inference.py"], - "secondary": ["model2vec/distill/distillation.py"] - }, - {"query": "StaticModel", "relevant": ["model2vec/model.py"], "secondary": []}, - {"query": "distill", "relevant": ["model2vec/distill/distillation.py"], "secondary": []}, - {"query": "PoolingMode", "relevant": ["model2vec/distill/inference.py"], "secondary": []}, - {"query": "quantize", "relevant": ["model2vec/quantization.py"], "secondary": []}, - {"query": "Tokenizer", "relevant": ["model2vec/tokenizer/tokenizer.py"], "secondary": []} + "relevant": [ + "model2vec/distill/inference.py" + ], + "secondary": [ + "model2vec/distill/distillation.py" + ], + "category": "architecture" + }, + { + "query": "StaticModel", + "relevant": [ + "model2vec/model.py" + ], + "secondary": [], + "category": "symbol" + }, + { + "query": "distill", + "relevant": [ + "model2vec/distill/distillation.py" + ], + "secondary": [], + "category": "semantic" + }, + { + "query": "PoolingMode", + "relevant": [ + "model2vec/distill/inference.py" + ], + "secondary": [], + "category": "symbol" + }, + { + "query": "quantize", + "relevant": [ + "model2vec/quantization.py" + ], + "secondary": [], + "category": "semantic" + }, + { + "query": "Tokenizer", + "relevant": [ + "model2vec/tokenizer/tokenizer.py" + ], + "secondary": [], + "category": "symbol" + } ] diff --git a/benchmarks/annotations/pydantic.json b/benchmarks/annotations/pydantic.json index 1484adc..e2ad7a7 100644 --- a/benchmarks/annotations/pydantic.json +++ b/benchmarks/annotations/pydantic.json @@ -1,82 +1,178 @@ [ { "query": "how is BaseModel defined and instantiated", - "relevant": ["pydantic/main.py"], - "secondary": [] + "relevant": [ + "pydantic/main.py" + ], + "secondary": [], + "category": "architecture" }, { "query": "how are model fields declared and constrained", - "relevant": ["pydantic/fields.py"], - "secondary": ["pydantic/types.py"] + "relevant": [ + "pydantic/fields.py" + ], + "secondary": [ + "pydantic/types.py" + ], + "category": "architecture" }, { "query": "JSON schema generation from models", - "relevant": ["pydantic/json_schema.py"], - "secondary": [] + "relevant": [ + "pydantic/json_schema.py" + ], + "secondary": [], + "category": "semantic" }, { "query": "custom field and model validators", - "relevant": ["pydantic/functional_validators.py"], - "secondary": ["pydantic/class_validators.py"] + "relevant": [ + "pydantic/functional_validators.py" + ], + "secondary": [ + "pydantic/class_validators.py" + ], + "category": "semantic" }, { "query": "how to serialize models to JSON", - "relevant": ["pydantic/functional_serializers.py"], - "secondary": ["pydantic/main.py"] + "relevant": [ + "pydantic/functional_serializers.py" + ], + "secondary": [ + "pydantic/main.py" + ], + "category": "architecture" }, { "query": "network types like URLs and email addresses", - "relevant": ["pydantic/networks.py"], - "secondary": [] + "relevant": [ + "pydantic/networks.py" + ], + "secondary": [], + "category": "semantic" }, { "query": "model configuration and settings", - "relevant": ["pydantic/config.py"], - "secondary": [] + "relevant": [ + "pydantic/config.py" + ], + "secondary": [], + "category": "semantic" }, { "query": "validating data without a model using TypeAdapter", - "relevant": ["pydantic/type_adapter.py"], - "secondary": [] + "relevant": [ + "pydantic/type_adapter.py" + ], + "secondary": [], + "category": "semantic" }, { "query": "alias handling for field names", - "relevant": ["pydantic/aliases.py"], - "secondary": ["pydantic/alias_generators.py"] + "relevant": [ + "pydantic/aliases.py" + ], + "secondary": [ + "pydantic/alias_generators.py" + ], + "category": "semantic" }, { "query": "root model for wrapping a single value", - "relevant": ["pydantic/root_model.py"], - "secondary": [] + "relevant": [ + "pydantic/root_model.py" + ], + "secondary": [], + "category": "semantic" }, { "query": "how discriminated unions select the right model variant", - "relevant": ["pydantic/types.py"], - "secondary": ["pydantic/main.py"] + "relevant": [ + "pydantic/types.py" + ], + "secondary": [ + "pydantic/main.py" + ], + "category": "architecture" }, { "query": "how computed fields are defined on a model", - "relevant": ["pydantic/fields.py"], - "secondary": ["pydantic/functional_serializers.py"] + "relevant": [ + "pydantic/fields.py" + ], + "secondary": [ + "pydantic/functional_serializers.py" + ], + "category": "architecture" }, { "query": "what runs after model initialisation in model_post_init", - "relevant": ["pydantic/main.py"], - "secondary": [] + "relevant": [ + "pydantic/main.py" + ], + "secondary": [], + "category": "semantic" }, { "query": "how model inheritance and field overriding works", - "relevant": ["pydantic/main.py"], - "secondary": ["pydantic/fields.py"] + "relevant": [ + "pydantic/main.py" + ], + "secondary": [ + "pydantic/fields.py" + ], + "category": "architecture" }, { "query": "how to validate a function's arguments with pydantic", - "relevant": ["pydantic/validate_call_decorator.py"], - "secondary": ["pydantic/decorator.py"] - }, - {"query": "BaseModel", "relevant": ["pydantic/main.py"], "secondary": []}, - {"query": "field_validator", "relevant": ["pydantic/functional_validators.py"], "secondary": []}, - {"query": "model_validator", "relevant": ["pydantic/functional_validators.py"], "secondary": []}, - {"query": "ConfigDict", "relevant": ["pydantic/config.py"], "secondary": []}, - {"query": "Field", "relevant": ["pydantic/fields.py"], "secondary": []} + "relevant": [ + "pydantic/validate_call_decorator.py" + ], + "secondary": [ + "pydantic/decorator.py" + ], + "category": "architecture" + }, + { + "query": "BaseModel", + "relevant": [ + "pydantic/main.py" + ], + "secondary": [], + "category": "symbol" + }, + { + "query": "field_validator", + "relevant": [ + "pydantic/functional_validators.py" + ], + "secondary": [], + "category": "symbol" + }, + { + "query": "model_validator", + "relevant": [ + "pydantic/functional_validators.py" + ], + "secondary": [], + "category": "symbol" + }, + { + "query": "ConfigDict", + "relevant": [ + "pydantic/config.py" + ], + "secondary": [], + "category": "symbol" + }, + { + "query": "Field", + "relevant": [ + "pydantic/fields.py" + ], + "secondary": [], + "category": "symbol" + } ] diff --git a/benchmarks/annotations/requests.json b/benchmarks/annotations/requests.json index 067c6c2..c71fb51 100644 --- a/benchmarks/annotations/requests.json +++ b/benchmarks/annotations/requests.json @@ -1,108 +1,202 @@ [ { "query": "how HTTP sessions manage state and connections", - "relevant": ["src/requests/sessions.py"], - "secondary": [] + "relevant": [ + "src/requests/sessions.py" + ], + "secondary": [], + "category": "architecture" }, { "query": "authentication mechanisms and credential handling", - "relevant": ["src/requests/auth.py"], - "secondary": [] + "relevant": [ + "src/requests/auth.py" + ], + "secondary": [], + "category": "semantic" }, { "query": "transport adapters and connection pooling", - "relevant": ["src/requests/adapters.py"], - "secondary": [] + "relevant": [ + "src/requests/adapters.py" + ], + "secondary": [], + "category": "semantic" }, { "query": "cookie storage and persistence", - "relevant": ["src/requests/cookies.py"], - "secondary": [] + "relevant": [ + "src/requests/cookies.py" + ], + "secondary": [], + "category": "semantic" }, { "query": "how redirects are followed", - "relevant": ["src/requests/sessions.py"], - "secondary": ["src/requests/models.py"] + "relevant": [ + "src/requests/sessions.py" + ], + "secondary": [ + "src/requests/models.py" + ], + "category": "architecture" }, { "query": "error and exception types", - "relevant": ["src/requests/exceptions.py"], - "secondary": [] + "relevant": [ + "src/requests/exceptions.py" + ], + "secondary": [], + "category": "semantic" }, { "query": "request and response model internals", - "relevant": ["src/requests/models.py"], - "secondary": [] + "relevant": [ + "src/requests/models.py" + ], + "secondary": [], + "category": "semantic" }, { "query": "SSL certificate verification", - "relevant": ["src/requests/adapters.py"], - "secondary": ["src/requests/certs.py"] + "relevant": [ + "src/requests/adapters.py" + ], + "secondary": [ + "src/requests/certs.py" + ], + "category": "semantic" }, { "query": "event hooks system", - "relevant": ["src/requests/hooks.py"], - "secondary": [] + "relevant": [ + "src/requests/hooks.py" + ], + "secondary": [], + "category": "semantic" }, { "query": "utility functions for encoding and headers", - "relevant": ["src/requests/utils.py"], - "secondary": [] + "relevant": [ + "src/requests/utils.py" + ], + "secondary": [], + "category": "semantic" }, { "query": "how a PreparedRequest is built from user-supplied arguments", - "relevant": ["src/requests/models.py"], - "secondary": ["src/requests/sessions.py"] + "relevant": [ + "src/requests/models.py" + ], + "secondary": [ + "src/requests/sessions.py" + ], + "category": "architecture" }, { "query": "how digest authentication implements the challenge-response handshake", - "relevant": ["src/requests/auth.py"], - "secondary": [] + "relevant": [ + "src/requests/auth.py" + ], + "secondary": [], + "category": "architecture" }, { "query": "how response encoding is detected from headers and content", - "relevant": ["src/requests/utils.py"], - "secondary": ["src/requests/models.py"] + "relevant": [ + "src/requests/utils.py" + ], + "secondary": [ + "src/requests/models.py" + ], + "category": "architecture" }, { "query": "how proxy settings are read from environment variables", - "relevant": ["src/requests/utils.py"], - "secondary": ["src/requests/sessions.py"] + "relevant": [ + "src/requests/utils.py" + ], + "secondary": [ + "src/requests/sessions.py" + ], + "category": "architecture" }, { "query": "how connection keep-alive and pooling limits are configured", - "relevant": ["src/requests/adapters.py"], - "secondary": [] + "relevant": [ + "src/requests/adapters.py" + ], + "secondary": [], + "category": "architecture" }, { "query": "Session", - "relevant": [{"path": "src/requests/sessions.py", "start_line": 356, "end_line": 394}], + "relevant": [ + { + "path": "src/requests/sessions.py", + "start_line": 356, + "end_line": 394 + } + ], "secondary": [], "category": "symbol" }, { "query": "HTTPDigestAuth", - "relevant": [{"path": "src/requests/auth.py", "start_line": 107, "end_line": 136}], + "relevant": [ + { + "path": "src/requests/auth.py", + "start_line": 107, + "end_line": 136 + } + ], "secondary": [], "category": "symbol" }, { "query": "PreparedRequest", - "relevant": [{"path": "src/requests/models.py", "start_line": 315, "end_line": 364}], + "relevant": [ + { + "path": "src/requests/models.py", + "start_line": 315, + "end_line": 364 + } + ], "secondary": [], "category": "symbol", - "seed": {"path": "src/requests/sessions.py", "line": 485}, - "related": [{"path": "src/requests/models.py", "start_line": 315, "end_line": 353}] + "seed": { + "path": "src/requests/sessions.py", + "line": 485 + }, + "related": [ + { + "path": "src/requests/models.py", + "start_line": 315, + "end_line": 353 + } + ] }, { "query": "HTTPAdapter", - "relevant": [{"path": "src/requests/adapters.py", "start_line": 144, "end_line": 192}], + "relevant": [ + { + "path": "src/requests/adapters.py", + "start_line": 144, + "end_line": 192 + } + ], "secondary": [], "category": "symbol" }, { "query": "Response", - "relevant": [{"path": "src/requests/models.py", "start_line": 642, "end_line": 691}], + "relevant": [ + { + "path": "src/requests/models.py", + "start_line": 642, + "end_line": 691 + } + ], "secondary": [], "category": "symbol" } diff --git a/benchmarks/annotations/starlette.json b/benchmarks/annotations/starlette.json index f588020..9d1f40c 100644 --- a/benchmarks/annotations/starlette.json +++ b/benchmarks/annotations/starlette.json @@ -1,90 +1,191 @@ [ { "query": "how are URL routes registered and matched", - "relevant": ["starlette/routing.py"], - "secondary": ["starlette/convertors.py"] + "relevant": [ + "starlette/routing.py" + ], + "secondary": [ + "starlette/convertors.py" + ], + "category": "architecture" }, { "query": "how does authentication middleware work", - "relevant": ["starlette/middleware/authentication.py"], - "secondary": ["starlette/authentication.py"] + "relevant": [ + "starlette/middleware/authentication.py" + ], + "secondary": [ + "starlette/authentication.py" + ], + "category": "architecture" }, { "query": "websocket connection and message handling", - "relevant": ["starlette/websockets.py"], - "secondary": [] + "relevant": [ + "starlette/websockets.py" + ], + "secondary": [], + "category": "semantic" }, { "query": "how are static files served", - "relevant": ["starlette/staticfiles.py"], - "secondary": [] + "relevant": [ + "starlette/staticfiles.py" + ], + "secondary": [], + "category": "architecture" }, { "query": "parsing form data and file uploads", - "relevant": ["starlette/formparsers.py"], - "secondary": ["starlette/datastructures.py"] + "relevant": [ + "starlette/formparsers.py" + ], + "secondary": [ + "starlette/datastructures.py" + ], + "category": "semantic" }, { "query": "how does the test client simulate requests", - "relevant": ["starlette/testclient.py"], - "secondary": [] + "relevant": [ + "starlette/testclient.py" + ], + "secondary": [], + "category": "architecture" }, { "query": "background task scheduling and execution", - "relevant": ["starlette/background.py"], - "secondary": [] + "relevant": [ + "starlette/background.py" + ], + "secondary": [], + "category": "semantic" }, { "query": "application lifespan startup and shutdown events", - "relevant": ["starlette/routing.py"], - "secondary": ["starlette/applications.py"] + "relevant": [ + "starlette/routing.py" + ], + "secondary": [ + "starlette/applications.py" + ], + "category": "semantic" }, { "query": "streaming response implementation", - "relevant": ["starlette/responses.py"], - "secondary": [] + "relevant": [ + "starlette/responses.py" + ], + "secondary": [], + "category": "semantic" }, { "query": "how base middleware wraps request handling", - "relevant": ["starlette/middleware/base.py"], - "secondary": [] + "relevant": [ + "starlette/middleware/base.py" + ], + "secondary": [], + "category": "architecture" }, { "query": "how request state persists arbitrary data across middleware", - "relevant": ["starlette/requests.py"], - "secondary": [] + "relevant": [ + "starlette/requests.py" + ], + "secondary": [], + "category": "architecture" }, { "query": "how path convertor types work for route parameters", - "relevant": ["starlette/convertors.py"], - "secondary": ["starlette/routing.py"] + "relevant": [ + "starlette/convertors.py" + ], + "secondary": [ + "starlette/routing.py" + ], + "category": "architecture" }, { "query": "how session data is signed and stored in cookies", - "relevant": ["starlette/middleware/sessions.py"], - "secondary": [] + "relevant": [ + "starlette/middleware/sessions.py" + ], + "secondary": [], + "category": "architecture" }, { "query": "how CORS preflight requests are handled", - "relevant": ["starlette/middleware/cors.py"], - "secondary": [] + "relevant": [ + "starlette/middleware/cors.py" + ], + "secondary": [], + "category": "architecture" }, { "query": "how errors in ASGI apps are caught and turned into responses", - "relevant": ["starlette/middleware/errors.py"], - "secondary": ["starlette/middleware/exceptions.py"] + "relevant": [ + "starlette/middleware/errors.py" + ], + "secondary": [ + "starlette/middleware/exceptions.py" + ], + "category": "architecture" + }, + { + "query": "BaseHTTPMiddleware", + "relevant": [ + "starlette/middleware/base.py" + ], + "secondary": [], + "category": "symbol" + }, + { + "query": "Request", + "relevant": [ + "starlette/requests.py" + ], + "secondary": [], + "category": "symbol" + }, + { + "query": "WebSocket", + "relevant": [ + "starlette/websockets.py" + ], + "secondary": [], + "category": "symbol" + }, + { + "query": "BackgroundTask", + "relevant": [ + "starlette/background.py" + ], + "secondary": [], + "category": "symbol" + }, + { + "query": "Router", + "relevant": [ + "starlette/routing.py" + ], + "secondary": [], + "category": "symbol" }, - {"query": "BaseHTTPMiddleware", "relevant": ["starlette/middleware/base.py"], "secondary": []}, - {"query": "Request", "relevant": ["starlette/requests.py"], "secondary": []}, - {"query": "WebSocket", "relevant": ["starlette/websockets.py"], "secondary": []}, - {"query": "BackgroundTask", "relevant": ["starlette/background.py"], "secondary": []}, - {"query": "Router", "relevant": ["starlette/routing.py"], "secondary": []}, { "query": "how the Starlette application delegates routing and lifespan to Router", - "relevant": ["starlette/applications.py"], - "secondary": ["starlette/routing.py"], + "relevant": [ + "starlette/applications.py" + ], + "secondary": [ + "starlette/routing.py" + ], "category": "architecture", - "seed": {"path": "starlette/applications.py", "line": 19}, - "related": ["starlette/routing.py"] + "seed": { + "path": "starlette/applications.py", + "line": 19 + }, + "related": [ + "starlette/routing.py" + ] } ] diff --git a/benchmarks/annotations/tokio.json b/benchmarks/annotations/tokio.json index a902e16..eb5ea23 100644 --- a/benchmarks/annotations/tokio.json +++ b/benchmarks/annotations/tokio.json @@ -1,99 +1,142 @@ [ { "query": "how spawned tasks are scheduled onto threads", - "relevant": ["tokio/src/runtime/scheduler/multi_thread/worker.rs"], - "secondary": ["tokio/src/task/spawn.rs"], + "relevant": [ + "tokio/src/runtime/scheduler/multi_thread/worker.rs" + ], + "secondary": [ + "tokio/src/task/spawn.rs" + ], "category": "architecture" }, { "query": "how the async mutex prevents concurrent access", - "relevant": ["tokio/src/sync/mutex.rs"], + "relevant": [ + "tokio/src/sync/mutex.rs" + ], "secondary": [], "category": "semantic" }, { "query": "how a broadcast channel delivers messages to multiple receivers", - "relevant": ["tokio/src/sync/broadcast.rs"], + "relevant": [ + "tokio/src/sync/broadcast.rs" + ], "secondary": [], "category": "architecture" }, { "query": "how the timer wheel tracks sleep deadlines", - "relevant": ["tokio/src/runtime/time/wheel/level.rs"], - "secondary": ["tokio/src/time/sleep.rs"], + "relevant": [ + "tokio/src/runtime/time/wheel/level.rs" + ], + "secondary": [ + "tokio/src/time/sleep.rs" + ], "category": "architecture" }, { "query": "running non-async blocking code inside the async runtime", - "relevant": ["tokio/src/task/blocking.rs"], + "relevant": [ + "tokio/src/task/blocking.rs" + ], "secondary": [], "category": "semantic" }, { "query": "how tasks that are not Send can run on a single thread", - "relevant": ["tokio/src/task/local.rs"], + "relevant": [ + "tokio/src/task/local.rs" + ], "secondary": [], "category": "architecture" }, { "query": "waiting for any of several futures to complete", - "relevant": ["tokio/src/macros/select.rs"], + "relevant": [ + "tokio/src/macros/select.rs" + ], "secondary": [], "category": "semantic" }, { "query": "how the runtime builder configures thread pool size and flavour", - "relevant": ["tokio/src/runtime/builder.rs"], + "relevant": [ + "tokio/src/runtime/builder.rs" + ], "secondary": [], "category": "architecture" }, { "query": "rate-limiting concurrent operations with a semaphore", - "relevant": ["tokio/src/sync/semaphore.rs"], + "relevant": [ + "tokio/src/sync/semaphore.rs" + ], "secondary": [], "category": "semantic" }, { "query": "watching a value and being notified when it changes", - "relevant": ["tokio/src/sync/watch.rs"], + "relevant": [ + "tokio/src/sync/watch.rs" + ], "secondary": [], "category": "semantic" }, { "query": "collecting results from a dynamic set of spawned tasks", - "relevant": ["tokio/src/task/join_set.rs"], + "relevant": [ + "tokio/src/task/join_set.rs" + ], "secondary": [], "category": "semantic" }, { "query": "integrating a non-async file descriptor with the tokio reactor", - "relevant": ["tokio/src/io/async_fd.rs"], + "relevant": [ + "tokio/src/io/async_fd.rs" + ], "secondary": [], "category": "semantic" }, { "query": "JoinSet", - "relevant": ["tokio/src/task/join_set.rs"], - "secondary": [] + "relevant": [ + "tokio/src/task/join_set.rs" + ], + "secondary": [], + "category": "symbol" }, { "query": "Semaphore", - "relevant": ["tokio/src/sync/semaphore.rs"], - "secondary": [] + "relevant": [ + "tokio/src/sync/semaphore.rs" + ], + "secondary": [], + "category": "symbol" }, { "query": "MissedTickBehavior", - "relevant": ["tokio/src/time/interval.rs"], - "secondary": [] + "relevant": [ + "tokio/src/time/interval.rs" + ], + "secondary": [], + "category": "symbol" }, { "query": "LocalSet", - "relevant": ["tokio/src/task/local.rs"], - "secondary": [] + "relevant": [ + "tokio/src/task/local.rs" + ], + "secondary": [], + "category": "symbol" }, { "query": "Notify", - "relevant": ["tokio/src/sync/notify.rs"], - "secondary": [] + "relevant": [ + "tokio/src/sync/notify.rs" + ], + "secondary": [], + "category": "symbol" } ] diff --git a/benchmarks/annotations/trpc.json b/benchmarks/annotations/trpc.json index f3f8d25..ccdfebf 100644 --- a/benchmarks/annotations/trpc.json +++ b/benchmarks/annotations/trpc.json @@ -1,99 +1,154 @@ [ { "query": "how a tRPC router is created and procedures are registered", - "relevant": ["packages/server/src/unstable-core-do-not-import/router.ts"], - "secondary": ["packages/server/src/unstable-core-do-not-import/procedureBuilder.ts"], + "relevant": [ + "packages/server/src/unstable-core-do-not-import/router.ts" + ], + "secondary": [ + "packages/server/src/unstable-core-do-not-import/procedureBuilder.ts" + ], "category": "architecture" }, { "query": "how middleware chains context transformations between procedures", - "relevant": ["packages/server/src/unstable-core-do-not-import/middleware.ts"], + "relevant": [ + "packages/server/src/unstable-core-do-not-import/middleware.ts" + ], "secondary": [], "category": "architecture" }, { "query": "how input validation and parsing works for procedures", - "relevant": ["packages/server/src/unstable-core-do-not-import/parser.ts"], - "secondary": ["packages/server/src/unstable-core-do-not-import/procedureBuilder.ts"], + "relevant": [ + "packages/server/src/unstable-core-do-not-import/parser.ts" + ], + "secondary": [ + "packages/server/src/unstable-core-do-not-import/procedureBuilder.ts" + ], "category": "semantic" }, { "query": "how HTTP requests are resolved to tRPC procedures", - "relevant": ["packages/server/src/unstable-core-do-not-import/http/resolveResponse.ts"], - "secondary": ["packages/server/src/http.ts"], + "relevant": [ + "packages/server/src/unstable-core-do-not-import/http/resolveResponse.ts" + ], + "secondary": [ + "packages/server/src/http.ts" + ], "category": "architecture" }, { "query": "how error formatting and serialization works", - "relevant": ["packages/server/src/unstable-core-do-not-import/error/formatter.ts"], - "secondary": ["packages/server/src/unstable-core-do-not-import/error/TRPCError.ts"], + "relevant": [ + "packages/server/src/unstable-core-do-not-import/error/formatter.ts" + ], + "secondary": [ + "packages/server/src/unstable-core-do-not-import/error/TRPCError.ts" + ], "category": "semantic" }, { "query": "how server-sent events and subscriptions are streamed to the client", - "relevant": ["packages/server/src/unstable-core-do-not-import/stream/sse.ts"], - "secondary": ["packages/server/src/unstable-core-do-not-import/stream/jsonl.ts"], + "relevant": [ + "packages/server/src/unstable-core-do-not-import/stream/sse.ts" + ], + "secondary": [ + "packages/server/src/unstable-core-do-not-import/stream/jsonl.ts" + ], "category": "architecture" }, { "query": "how the observable pattern is used for subscriptions", - "relevant": ["packages/server/src/observable/observable.ts"], - "secondary": ["packages/server/src/observable/operators.ts"], + "relevant": [ + "packages/server/src/observable/observable.ts" + ], + "secondary": [ + "packages/server/src/observable/operators.ts" + ], "category": "semantic" }, { "query": "how type inference extracts input and output types from procedures", - "relevant": ["packages/server/src/unstable-core-do-not-import/clientish/inference.ts"], + "relevant": [ + "packages/server/src/unstable-core-do-not-import/clientish/inference.ts" + ], "secondary": [], "category": "semantic" }, { "query": "adapting tRPC to run as a Node.js HTTP server handler", - "relevant": ["packages/server/src/adapters/node-http/nodeHTTPRequestHandler.ts"], - "secondary": ["packages/server/src/adapters/node-http/incomingMessageToRequest.ts"], + "relevant": [ + "packages/server/src/adapters/node-http/nodeHTTPRequestHandler.ts" + ], + "secondary": [ + "packages/server/src/adapters/node-http/incomingMessageToRequest.ts" + ], "category": "architecture" }, { "query": "WebSocket adapter for real-time subscriptions", - "relevant": ["packages/server/src/adapters/ws.ts"], + "relevant": [ + "packages/server/src/adapters/ws.ts" + ], "secondary": [], "category": "semantic" }, { "query": "how tRPC is initialized with root config and context factory", - "relevant": ["packages/server/src/unstable-core-do-not-import/initTRPC.ts"], - "secondary": ["packages/server/src/unstable-core-do-not-import/rootConfig.ts"], + "relevant": [ + "packages/server/src/unstable-core-do-not-import/initTRPC.ts" + ], + "secondary": [ + "packages/server/src/unstable-core-do-not-import/rootConfig.ts" + ], "category": "architecture" }, { "query": "how data transformer is applied to serialize and deserialize procedure payloads", - "relevant": ["packages/server/src/unstable-core-do-not-import/transformer.ts"], + "relevant": [ + "packages/server/src/unstable-core-do-not-import/transformer.ts" + ], "secondary": [], "category": "semantic" }, { "query": "TRPCError", - "relevant": ["packages/server/src/unstable-core-do-not-import/error/TRPCError.ts"], - "secondary": [] + "relevant": [ + "packages/server/src/unstable-core-do-not-import/error/TRPCError.ts" + ], + "secondary": [], + "category": "symbol" }, { "query": "AnyRouter", - "relevant": ["packages/server/src/unstable-core-do-not-import/router.ts"], - "secondary": [] + "relevant": [ + "packages/server/src/unstable-core-do-not-import/router.ts" + ], + "secondary": [], + "category": "symbol" }, { "query": "MiddlewareBuilder", - "relevant": ["packages/server/src/unstable-core-do-not-import/middleware.ts"], - "secondary": [] + "relevant": [ + "packages/server/src/unstable-core-do-not-import/middleware.ts" + ], + "secondary": [], + "category": "symbol" }, { "query": "inferProcedureInput", - "relevant": ["packages/server/src/unstable-core-do-not-import/procedure.ts"], - "secondary": [] + "relevant": [ + "packages/server/src/unstable-core-do-not-import/procedure.ts" + ], + "secondary": [], + "category": "symbol" }, { "query": "fetchRequestHandler", - "relevant": ["packages/server/src/adapters/fetch/fetchRequestHandler.ts"], - "secondary": [] + "relevant": [ + "packages/server/src/adapters/fetch/fetchRequestHandler.ts" + ], + "secondary": [], + "category": "symbol" } ] From 45396aaad970c4f286f65b756703cc1b021570df Mon Sep 17 00:00:00 2001 From: Pringled Date: Fri, 17 Apr 2026 07:35:47 +0200 Subject: [PATCH 07/19] fix: Fix cobra annotation - help.go merged into command.go --- benchmarks/annotations/cobra.json | 102 ++++++++++++++++++++++-------- 1 file changed, 76 insertions(+), 26 deletions(-) diff --git a/benchmarks/annotations/cobra.json b/benchmarks/annotations/cobra.json index cbe2719..de99e4b 100644 --- a/benchmarks/annotations/cobra.json +++ b/benchmarks/annotations/cobra.json @@ -1,122 +1,172 @@ [ { "query": "core command execution and command tree", - "relevant": ["command.go"], + "relevant": [ + "command.go" + ], "secondary": [], "category": "architecture" }, { "query": "shell completion request handling", - "relevant": ["completions.go"], + "relevant": [ + "completions.go" + ], "secondary": [], "category": "semantic" }, { "query": "bash completion generation", - "relevant": ["bash_completions.go"], - "secondary": ["completions.go"], + "relevant": [ + "bash_completions.go" + ], + "secondary": [ + "completions.go" + ], "category": "semantic" }, { "query": "positional argument validators", - "relevant": ["args.go"], + "relevant": [ + "args.go" + ], "secondary": [], "category": "semantic" }, { "query": "Command", - "relevant": ["command.go"], + "relevant": [ + "command.go" + ], "secondary": [], "category": "symbol" }, { "query": "help text generation and usage template formatting", - "relevant": ["help.go"], - "secondary": ["command.go"], + "relevant": [ + "command.go" + ], + "secondary": [], "category": "semantic" }, { "query": "zsh shell completion generation", - "relevant": ["zsh_completions.go"], - "secondary": ["completions.go"], + "relevant": [ + "zsh_completions.go" + ], + "secondary": [ + "completions.go" + ], "category": "semantic" }, { "query": "fish shell completion generation", - "relevant": ["fish_completions.go"], - "secondary": ["completions.go"], + "relevant": [ + "fish_completions.go" + ], + "secondary": [ + "completions.go" + ], "category": "semantic" }, { "query": "PowerShell completion generation", - "relevant": ["powershell_completions.go"], - "secondary": ["completions.go"], + "relevant": [ + "powershell_completions.go" + ], + "secondary": [ + "completions.go" + ], "category": "semantic" }, { "query": "how persistent flags are inherited by child commands", - "relevant": ["command.go"], + "relevant": [ + "command.go" + ], "secondary": [], "category": "architecture" }, { "query": "how command suggestions work for mistyped input", - "relevant": ["command.go"], + "relevant": [ + "command.go" + ], "secondary": [], "category": "architecture" }, { "query": "how the root command traverses the tree to find the active subcommand", - "relevant": ["command.go"], + "relevant": [ + "command.go" + ], "secondary": [], "category": "architecture" }, { "query": "how command aliases are resolved during lookup", - "relevant": ["command.go"], + "relevant": [ + "command.go" + ], "secondary": [], "category": "architecture" }, { "query": "command hooks: PersistentPreRun, PreRun, PostRun lifecycle", - "relevant": ["command.go"], + "relevant": [ + "command.go" + ], "secondary": [], "category": "semantic" }, { "query": "error printing and exit code management", - "relevant": ["command.go"], + "relevant": [ + "command.go" + ], "secondary": [], "category": "semantic" }, { "query": "Args", - "relevant": ["args.go"], + "relevant": [ + "args.go" + ], "secondary": [], "category": "symbol" }, { "query": "CompletionOptions", - "relevant": ["completions.go"], + "relevant": [ + "completions.go" + ], "secondary": [], "category": "symbol" }, { "query": "how cobra integrates pflags for typed flag values", - "relevant": ["command.go"], + "relevant": [ + "command.go" + ], "secondary": [], "category": "architecture" }, { "query": "required flags validation before command execution", - "relevant": ["command.go"], + "relevant": [ + "command.go" + ], "secondary": [], "category": "semantic" }, { "query": "documentation generation for man pages and markdown", - "relevant": ["doc/md_docs.go"], - "secondary": ["doc/man_docs.go"], + "relevant": [ + "doc/md_docs.go" + ], + "secondary": [ + "doc/man_docs.go" + ], "category": "semantic" } ] From 1cb01e7aa03951cef60e680fb5b682183b214cd7 Mon Sep 17 00:00:00 2001 From: Pringled Date: Fri, 17 Apr 2026 07:48:35 +0200 Subject: [PATCH 08/19] fix: Correct 6 wrong annotation targets found in content audit - commons-lang: reflectionEquals span 89-99 -> 179-318 (class header is not the reflection logic) - circe: auto/semiauto derivation target was Decoder.scala (wrong file), now points to generic/auto.scala + semiauto.scala - exposed: SchemaUtils target was abstract SchemaUtilityApi.kt, now points to the concrete SchemaUtils.kt in exposed-jdbc - sinatra: halt/pass/redirect span too narrow, use whole-file - sinatra: Rack build() method span was setup_default_middleware helper, now points to the actual build() method at line 1670 - sinatra: Helpers symbol span extended to cover halt (1028) and pass (1036) --- benchmarks/annotations/circe.json | 6 +- benchmarks/annotations/commons-lang.json | 113 +++++++++++++++++------ benchmarks/annotations/exposed.json | 88 +++++++++++++----- benchmarks/annotations/sinatra.json | 101 ++++++++++++++++---- 4 files changed, 238 insertions(+), 70 deletions(-) diff --git a/benchmarks/annotations/circe.json b/benchmarks/annotations/circe.json index fb081a6..9619afa 100644 --- a/benchmarks/annotations/circe.json +++ b/benchmarks/annotations/circe.json @@ -114,9 +114,11 @@ { "query": "circe generic auto and semi-auto derivation configuration", "relevant": [ - "modules/core/shared/src/main/scala/io/circe/Decoder.scala" + "modules/generic/shared/src/main/scala-3/io/circe/generic/auto.scala" + ], + "secondary": [ + "modules/generic/shared/src/main/scala-3/io/circe/generic/semiauto.scala" ], - "secondary": [], "category": "semantic" }, { diff --git a/benchmarks/annotations/commons-lang.json b/benchmarks/annotations/commons-lang.json index 5002c0d..c26fe12 100644 --- a/benchmarks/annotations/commons-lang.json +++ b/benchmarks/annotations/commons-lang.json @@ -1,132 +1,193 @@ [ { "query": "null-safe string operations and text helpers", - "relevant": ["src/main/java/org/apache/commons/lang3/StringUtils.java"], + "relevant": [ + "src/main/java/org/apache/commons/lang3/StringUtils.java" + ], "secondary": [], "category": "semantic" }, { "query": "argument validation helpers and exception rules", - "relevant": ["src/main/java/org/apache/commons/lang3/Validate.java"], + "relevant": [ + "src/main/java/org/apache/commons/lang3/Validate.java" + ], "secondary": [], "category": "semantic" }, { "query": "reflection-based equals implementation", - "relevant": ["src/main/java/org/apache/commons/lang3/builder/EqualsBuilder.java"], - "secondary": ["src/main/java/org/apache/commons/lang3/ClassUtils.java"], + "relevant": [ + "src/main/java/org/apache/commons/lang3/builder/EqualsBuilder.java" + ], + "secondary": [ + "src/main/java/org/apache/commons/lang3/ClassUtils.java" + ], "category": "architecture" }, { "query": "range object with inclusive bounds and comparator support", - "relevant": ["src/main/java/org/apache/commons/lang3/Range.java"], + "relevant": [ + "src/main/java/org/apache/commons/lang3/Range.java" + ], "secondary": [], "category": "semantic" }, { "query": "StringUtils", - "relevant": ["src/main/java/org/apache/commons/lang3/StringUtils.java"], + "relevant": [ + "src/main/java/org/apache/commons/lang3/StringUtils.java" + ], "secondary": [], "category": "symbol" }, { "query": "reflection equals builder internals", - "relevant": [{"path": "src/main/java/org/apache/commons/lang3/builder/EqualsBuilder.java", "start_line": 89, "end_line": 99}], + "relevant": [ + { + "path": "src/main/java/org/apache/commons/lang3/builder/EqualsBuilder.java", + "start_line": 179, + "end_line": 318 + } + ], "secondary": [], "category": "architecture", - "seed": {"path": "src/main/java/org/apache/commons/lang3/builder/EqualsBuilder.java", "line": 89}, + "seed": { + "path": "src/main/java/org/apache/commons/lang3/builder/EqualsBuilder.java", + "line": 89 + }, "related": [ - {"path": "src/main/java/org/apache/commons/lang3/builder/HashCodeBuilder.java", "start_line": 105, "end_line": 141}, - {"path": "src/main/java/org/apache/commons/lang3/builder/IDKey.java", "start_line": 27, "end_line": 74} + { + "path": "src/main/java/org/apache/commons/lang3/builder/HashCodeBuilder.java", + "start_line": 105, + "end_line": 141 + }, + { + "path": "src/main/java/org/apache/commons/lang3/builder/IDKey.java", + "start_line": 27, + "end_line": 74 + } ] }, { "query": "array utility operations and safe type conversion", - "relevant": ["src/main/java/org/apache/commons/lang3/ArrayUtils.java"], + "relevant": [ + "src/main/java/org/apache/commons/lang3/ArrayUtils.java" + ], "secondary": [], "category": "semantic" }, { "query": "null-safe object utility methods and identity helpers", - "relevant": ["src/main/java/org/apache/commons/lang3/ObjectUtils.java"], + "relevant": [ + "src/main/java/org/apache/commons/lang3/ObjectUtils.java" + ], "secondary": [], "category": "semantic" }, { "query": "boolean conversion and parsing helpers", - "relevant": ["src/main/java/org/apache/commons/lang3/BooleanUtils.java"], + "relevant": [ + "src/main/java/org/apache/commons/lang3/BooleanUtils.java" + ], "secondary": [], "category": "semantic" }, { "query": "number parsing with defaults and range checks", - "relevant": ["src/main/java/org/apache/commons/lang3/math/NumberUtils.java"], + "relevant": [ + "src/main/java/org/apache/commons/lang3/math/NumberUtils.java" + ], "secondary": [], "category": "semantic" }, { "query": "exception cause chain traversal and stack trace utilities", - "relevant": ["src/main/java/org/apache/commons/lang3/exception/ExceptionUtils.java"], + "relevant": [ + "src/main/java/org/apache/commons/lang3/exception/ExceptionUtils.java" + ], "secondary": [], "category": "semantic" }, { "query": "toString builder for human-readable object descriptions", - "relevant": ["src/main/java/org/apache/commons/lang3/builder/ToStringBuilder.java"], + "relevant": [ + "src/main/java/org/apache/commons/lang3/builder/ToStringBuilder.java" + ], "secondary": [], "category": "semantic" }, { "query": "hash code builder for consistent hashCode implementation", - "relevant": ["src/main/java/org/apache/commons/lang3/builder/HashCodeBuilder.java"], + "relevant": [ + "src/main/java/org/apache/commons/lang3/builder/HashCodeBuilder.java" + ], "secondary": [], "category": "semantic" }, { "query": "immutable pair container for two related values", - "relevant": ["src/main/java/org/apache/commons/lang3/tuple/Pair.java"], + "relevant": [ + "src/main/java/org/apache/commons/lang3/tuple/Pair.java" + ], "secondary": [], "category": "semantic" }, { "query": "triple container for three related values", - "relevant": ["src/main/java/org/apache/commons/lang3/tuple/Triple.java"], + "relevant": [ + "src/main/java/org/apache/commons/lang3/tuple/Triple.java" + ], "secondary": [], "category": "semantic" }, { "query": "Java runtime and OS system property helpers", - "relevant": ["src/main/java/org/apache/commons/lang3/SystemUtils.java"], + "relevant": [ + "src/main/java/org/apache/commons/lang3/SystemUtils.java" + ], "secondary": [], "category": "semantic" }, { "query": "how EqualsBuilder and HashCodeBuilder enforce value equality contracts", - "relevant": ["src/main/java/org/apache/commons/lang3/builder/EqualsBuilder.java"], - "secondary": ["src/main/java/org/apache/commons/lang3/builder/HashCodeBuilder.java"], + "relevant": [ + "src/main/java/org/apache/commons/lang3/builder/EqualsBuilder.java" + ], + "secondary": [ + "src/main/java/org/apache/commons/lang3/builder/HashCodeBuilder.java" + ], "category": "architecture" }, { "query": "ArrayUtils", - "relevant": ["src/main/java/org/apache/commons/lang3/ArrayUtils.java"], + "relevant": [ + "src/main/java/org/apache/commons/lang3/ArrayUtils.java" + ], "secondary": [], "category": "symbol" }, { "query": "ExceptionUtils", - "relevant": ["src/main/java/org/apache/commons/lang3/exception/ExceptionUtils.java"], + "relevant": [ + "src/main/java/org/apache/commons/lang3/exception/ExceptionUtils.java" + ], "secondary": [], "category": "symbol" }, { "query": "ObjectUtils", - "relevant": ["src/main/java/org/apache/commons/lang3/ObjectUtils.java"], + "relevant": [ + "src/main/java/org/apache/commons/lang3/ObjectUtils.java" + ], "secondary": [], "category": "symbol" }, { "query": "class utility methods for reflection and package navigation", - "relevant": ["src/main/java/org/apache/commons/lang3/ClassUtils.java"], + "relevant": [ + "src/main/java/org/apache/commons/lang3/ClassUtils.java" + ], "secondary": [], "category": "semantic" } diff --git a/benchmarks/annotations/exposed.json b/benchmarks/annotations/exposed.json index 9478cfc..b48304a 100644 --- a/benchmarks/annotations/exposed.json +++ b/benchmarks/annotations/exposed.json @@ -1,121 +1,165 @@ [ { "query": "how Table defines columns and constraints in Exposed DSL", - "relevant": ["exposed-core/src/main/kotlin/org/jetbrains/exposed/v1/core/Table.kt"], + "relevant": [ + "exposed-core/src/main/kotlin/org/jetbrains/exposed/v1/core/Table.kt" + ], "secondary": [], "category": "architecture" }, { "query": "Column definition and column types in Exposed", - "relevant": ["exposed-core/src/main/kotlin/org/jetbrains/exposed/v1/core/Column.kt"], + "relevant": [ + "exposed-core/src/main/kotlin/org/jetbrains/exposed/v1/core/Column.kt" + ], "secondary": [], "category": "semantic" }, { "query": "how SQL queries are built with the Exposed query DSL", - "relevant": ["exposed-core/src/main/kotlin/org/jetbrains/exposed/v1/core/AbstractQuery.kt"], + "relevant": [ + "exposed-core/src/main/kotlin/org/jetbrains/exposed/v1/core/AbstractQuery.kt" + ], "secondary": [], "category": "architecture" }, { "query": "Transaction block and database session management", - "relevant": ["exposed-core/src/main/kotlin/org/jetbrains/exposed/v1/core/Transaction.kt"], + "relevant": [ + "exposed-core/src/main/kotlin/org/jetbrains/exposed/v1/core/Transaction.kt" + ], "secondary": [], "category": "semantic" }, { "query": "Database connection configuration and dialect selection", - "relevant": ["exposed-core/src/main/kotlin/org/jetbrains/exposed/v1/core/DatabaseApi.kt"], + "relevant": [ + "exposed-core/src/main/kotlin/org/jetbrains/exposed/v1/core/DatabaseApi.kt" + ], "secondary": [], "category": "semantic" }, { "query": "insert insertAndGetId and batch insert operations", - "relevant": ["exposed-core/src/main/kotlin/org/jetbrains/exposed/v1/core/statements/InsertStatement.kt"], + "relevant": [ + "exposed-core/src/main/kotlin/org/jetbrains/exposed/v1/core/statements/InsertStatement.kt" + ], "secondary": [], "category": "semantic" }, { "query": "update and delete statement builders", - "relevant": ["exposed-core/src/main/kotlin/org/jetbrains/exposed/v1/core/statements/UpdateStatement.kt"], - "secondary": ["exposed-core/src/main/kotlin/org/jetbrains/exposed/v1/core/statements/DeleteStatement.kt"], + "relevant": [ + "exposed-core/src/main/kotlin/org/jetbrains/exposed/v1/core/statements/UpdateStatement.kt" + ], + "secondary": [ + "exposed-core/src/main/kotlin/org/jetbrains/exposed/v1/core/statements/DeleteStatement.kt" + ], "category": "semantic" }, { "query": "Op and SqlExpressionBuilder for composing WHERE conditions", - "relevant": ["exposed-core/src/main/kotlin/org/jetbrains/exposed/v1/core/Op.kt"], + "relevant": [ + "exposed-core/src/main/kotlin/org/jetbrains/exposed/v1/core/Op.kt" + ], "secondary": [], "category": "semantic" }, { "query": "aggregate functions sum count avg and groupBy", - "relevant": ["exposed-core/src/main/kotlin/org/jetbrains/exposed/v1/core/Function.kt"], + "relevant": [ + "exposed-core/src/main/kotlin/org/jetbrains/exposed/v1/core/Function.kt" + ], "secondary": [], "category": "semantic" }, { "query": "SchemaUtils for creating and dropping database tables", - "relevant": ["exposed-core/src/main/kotlin/org/jetbrains/exposed/v1/core/SchemaUtilityApi.kt"], - "secondary": [], + "relevant": [ + "exposed-jdbc/src/main/kotlin/org/jetbrains/exposed/v1/jdbc/SchemaUtils.kt" + ], + "secondary": [ + "exposed-core/src/main/kotlin/org/jetbrains/exposed/v1/core/SchemaUtilityApi.kt" + ], "category": "semantic" }, { "query": "how expressions and SQL operators are composed in Exposed", - "relevant": ["exposed-core/src/main/kotlin/org/jetbrains/exposed/v1/core/Expression.kt"], + "relevant": [ + "exposed-core/src/main/kotlin/org/jetbrains/exposed/v1/core/Expression.kt" + ], "secondary": [], "category": "architecture" }, { "query": "vendor-specific SQL generation and database dialect interface", - "relevant": ["exposed-core/src/main/kotlin/org/jetbrains/exposed/v1/core/vendors/DatabaseDialect.kt"], + "relevant": [ + "exposed-core/src/main/kotlin/org/jetbrains/exposed/v1/core/vendors/DatabaseDialect.kt" + ], "secondary": [], "category": "semantic" }, { "query": "ResultRow and how query results are read by column", - "relevant": ["exposed-core/src/main/kotlin/org/jetbrains/exposed/v1/core/ResultRow.kt"], + "relevant": [ + "exposed-core/src/main/kotlin/org/jetbrains/exposed/v1/core/ResultRow.kt" + ], "secondary": [], "category": "semantic" }, { "query": "index and unique constraint definition on tables", - "relevant": ["exposed-core/src/main/kotlin/org/jetbrains/exposed/v1/core/Constraints.kt"], + "relevant": [ + "exposed-core/src/main/kotlin/org/jetbrains/exposed/v1/core/Constraints.kt" + ], "secondary": [], "category": "semantic" }, { "query": "ColumnType mapping between Kotlin types and SQL types", - "relevant": ["exposed-core/src/main/kotlin/org/jetbrains/exposed/v1/core/ColumnType.kt"], + "relevant": [ + "exposed-core/src/main/kotlin/org/jetbrains/exposed/v1/core/ColumnType.kt" + ], "secondary": [], "category": "semantic" }, { "query": "upsert and batch upsert statement for insert-or-update", - "relevant": ["exposed-core/src/main/kotlin/org/jetbrains/exposed/v1/core/statements/UpsertStatement.kt"], + "relevant": [ + "exposed-core/src/main/kotlin/org/jetbrains/exposed/v1/core/statements/UpsertStatement.kt" + ], "secondary": [], "category": "semantic" }, { "query": "database exceptions and error handling in Exposed", - "relevant": ["exposed-core/src/main/kotlin/org/jetbrains/exposed/v1/core/Exceptions.kt"], + "relevant": [ + "exposed-core/src/main/kotlin/org/jetbrains/exposed/v1/core/Exceptions.kt" + ], "secondary": [], "category": "semantic" }, { "query": "Table", - "relevant": ["exposed-core/src/main/kotlin/org/jetbrains/exposed/v1/core/Table.kt"], + "relevant": [ + "exposed-core/src/main/kotlin/org/jetbrains/exposed/v1/core/Table.kt" + ], "secondary": [], "category": "symbol" }, { "query": "Transaction", - "relevant": ["exposed-core/src/main/kotlin/org/jetbrains/exposed/v1/core/Transaction.kt"], + "relevant": [ + "exposed-core/src/main/kotlin/org/jetbrains/exposed/v1/core/Transaction.kt" + ], "secondary": [], "category": "symbol" }, { "query": "ResultRow", - "relevant": ["exposed-core/src/main/kotlin/org/jetbrains/exposed/v1/core/ResultRow.kt"], + "relevant": [ + "exposed-core/src/main/kotlin/org/jetbrains/exposed/v1/core/ResultRow.kt" + ], "secondary": [], "category": "symbol" } diff --git a/benchmarks/annotations/sinatra.json b/benchmarks/annotations/sinatra.json index ddec420..8ae221f 100644 --- a/benchmarks/annotations/sinatra.json +++ b/benchmarks/annotations/sinatra.json @@ -1,100 +1,161 @@ [ { "query": "core Sinatra DSL and routing behavior", - "relevant": ["lib/sinatra/base.rb"], + "relevant": [ + "lib/sinatra/base.rb" + ], "secondary": [], "category": "semantic" }, { "query": "application startup and command line entrypoint", - "relevant": ["lib/sinatra/main.rb"], + "relevant": [ + "lib/sinatra/main.rb" + ], "secondary": [], "category": "architecture" }, { "query": "exception rendering and stack traces", - "relevant": ["lib/sinatra/show_exceptions.rb"], + "relevant": [ + "lib/sinatra/show_exceptions.rb" + ], "secondary": [], "category": "semantic" }, { "query": "request logging middleware", - "relevant": ["lib/sinatra/middleware/logger.rb"], + "relevant": [ + "lib/sinatra/middleware/logger.rb" + ], "secondary": [], "category": "semantic" }, { "query": "how route handlers are compiled and URL patterns matched", - "relevant": [{"path": "lib/sinatra/base.rb", "start_line": 1795, "end_line": 1817}], + "relevant": [ + { + "path": "lib/sinatra/base.rb", + "start_line": 1795, + "end_line": 1817 + } + ], "secondary": [], "category": "semantic" }, { "query": "before and after filter hooks for the request lifecycle", - "relevant": [{"path": "lib/sinatra/base.rb", "start_line": 1486, "end_line": 1505}], + "relevant": [ + { + "path": "lib/sinatra/base.rb", + "start_line": 1486, + "end_line": 1505 + } + ], "secondary": [], "category": "semantic" }, { "query": "response helper methods: halt, pass and redirect", - "relevant": [{"path": "lib/sinatra/base.rb", "start_line": 286, "end_line": 741}], + "relevant": [ + "lib/sinatra/base.rb" + ], "secondary": [], "category": "semantic" }, { "query": "how templates are rendered with erb haml and other engines", - "relevant": [{"path": "lib/sinatra/base.rb", "start_line": 742, "end_line": 948}], + "relevant": [ + { + "path": "lib/sinatra/base.rb", + "start_line": 742, + "end_line": 948 + } + ], "secondary": [], "category": "semantic" }, { "query": "how the Rack middleware stack is assembled before requests are handled", - "relevant": [{"path": "lib/sinatra/base.rb", "start_line": 1819, "end_line": 1888}], + "relevant": [ + { + "path": "lib/sinatra/base.rb", + "start_line": 1670, + "end_line": 1676 + } + ], "secondary": [], "category": "architecture" }, { "query": "case-insensitive hash for request params", - "relevant": ["lib/sinatra/indifferent_hash.rb"], + "relevant": [ + "lib/sinatra/indifferent_hash.rb" + ], "secondary": [], "category": "semantic" }, { "query": "Sinatra::Base", - "relevant": ["lib/sinatra/base.rb"], + "relevant": [ + "lib/sinatra/base.rb" + ], "secondary": [], "category": "symbol" }, { "query": "Sinatra::Application", - "relevant": ["lib/sinatra/main.rb"], - "secondary": ["lib/sinatra/base.rb"], + "relevant": [ + "lib/sinatra/main.rb" + ], + "secondary": [ + "lib/sinatra/base.rb" + ], "category": "symbol" }, { "query": "Sinatra::ShowExceptions", - "relevant": ["lib/sinatra/show_exceptions.rb"], + "relevant": [ + "lib/sinatra/show_exceptions.rb" + ], "secondary": [], "category": "symbol" }, { "query": "Sinatra::Helpers", - "relevant": [{"path": "lib/sinatra/base.rb", "start_line": 286, "end_line": 741}], + "relevant": [ + { + "path": "lib/sinatra/base.rb", + "start_line": 286, + "end_line": 1050 + } + ], "secondary": [], "category": "symbol" }, { "query": "IndifferentHash", - "relevant": ["lib/sinatra/indifferent_hash.rb"], + "relevant": [ + "lib/sinatra/indifferent_hash.rb" + ], "secondary": [], "category": "symbol" }, { "query": "how Sinatra::Application inherits and configures Base for standalone use", - "relevant": ["lib/sinatra/main.rb"], - "secondary": ["lib/sinatra/base.rb"], + "relevant": [ + "lib/sinatra/main.rb" + ], + "secondary": [ + "lib/sinatra/base.rb" + ], "category": "architecture", - "seed": {"path": "lib/sinatra/main.rb", "line": 30}, - "related": ["lib/sinatra/base.rb"] + "seed": { + "path": "lib/sinatra/main.rb", + "line": 30 + }, + "related": [ + "lib/sinatra/base.rb" + ] } ] From 8c80270345e5d70a5fae611458112e2769c9175c Mon Sep 17 00:00:00 2001 From: Pringled Date: Fri, 17 Apr 2026 08:03:30 +0200 Subject: [PATCH 09/19] chore: Top up 8 thin repos to 20 tasks each guzzle +5, ktor +4, sinatra +4, messagepack-csharp +3, alamofire +3, tokio +3, trpc +3, cats +3. All repos now have >= 20 tasks. Total: 954 tasks across 48 repos. --- benchmarks/annotations/alamofire.json | 26 ++++ benchmarks/annotations/cats.json | 26 ++++ benchmarks/annotations/guzzle.json | 120 +++++++++++++++--- benchmarks/annotations/ktor.json | 38 ++++++ .../annotations/messagepack-csharp.json | 24 ++++ benchmarks/annotations/sinatra.json | 40 ++++++ benchmarks/annotations/tokio.json | 26 ++++ benchmarks/annotations/trpc.json | 24 ++++ 8 files changed, 304 insertions(+), 20 deletions(-) diff --git a/benchmarks/annotations/alamofire.json b/benchmarks/annotations/alamofire.json index 43c60a9..fd9fc3f 100644 --- a/benchmarks/annotations/alamofire.json +++ b/benchmarks/annotations/alamofire.json @@ -142,5 +142,31 @@ ], "secondary": [], "category": "symbol" + }, + { + "query": "how upload requests stream data to the server", + "relevant": [ + "Source/Core/UploadRequest.swift" + ], + "secondary": [], + "category": "semantic" + }, + { + "query": "parameter encoding for URL and JSON request bodies", + "relevant": [ + "Source/Core/ParameterEncoding.swift" + ], + "secondary": [ + "Source/Core/ParameterEncoder.swift" + ], + "category": "semantic" + }, + { + "query": "URLConvertible", + "relevant": [ + "Source/Core/URLConvertible+URLRequestConvertible.swift" + ], + "secondary": [], + "category": "symbol" } ] diff --git a/benchmarks/annotations/cats.json b/benchmarks/annotations/cats.json index 2ec8eb5..388b170 100644 --- a/benchmarks/annotations/cats.json +++ b/benchmarks/annotations/cats.json @@ -140,5 +140,31 @@ ], "secondary": [], "category": "symbol" + }, + { + "query": "how Traverse sequences effects over a structure", + "relevant": [ + "core/src/main/scala/cats/Traverse.scala" + ], + "secondary": [], + "category": "architecture" + }, + { + "query": "Semigroup and Monoid type classes for combining values", + "relevant": [ + "kernel/src/main/scala/cats/kernel/Monoid.scala" + ], + "secondary": [ + "kernel/src/main/scala/cats/kernel/Semigroup.scala" + ], + "category": "semantic" + }, + { + "query": "Foldable", + "relevant": [ + "core/src/main/scala/cats/Foldable.scala" + ], + "secondary": [], + "category": "symbol" } ] diff --git a/benchmarks/annotations/guzzle.json b/benchmarks/annotations/guzzle.json index 2bbbf02..a6d6513 100644 --- a/benchmarks/annotations/guzzle.json +++ b/benchmarks/annotations/guzzle.json @@ -1,91 +1,171 @@ [ { "query": "HTTP client request sending and defaults", - "relevant": ["src/Client.php"], - "secondary": ["src/ClientTrait.php"], + "relevant": [ + "src/Client.php" + ], + "secondary": [ + "src/ClientTrait.php" + ], "category": "semantic" }, { "query": "middleware handler stack composition", - "relevant": ["src/HandlerStack.php"], - "secondary": ["src/Middleware.php"], + "relevant": [ + "src/HandlerStack.php" + ], + "secondary": [ + "src/Middleware.php" + ], "category": "architecture" }, { "query": "retry middleware and exponential backoff", - "relevant": ["src/RetryMiddleware.php"], + "relevant": [ + "src/RetryMiddleware.php" + ], "secondary": [], "category": "semantic" }, { "query": "cookie jar implementation", - "relevant": ["src/Cookie/CookieJar.php"], - "secondary": ["src/Cookie/SetCookie.php"], + "relevant": [ + "src/Cookie/CookieJar.php" + ], + "secondary": [ + "src/Cookie/SetCookie.php" + ], "category": "semantic" }, { "query": "redirect following and location header handling", - "relevant": ["src/RedirectMiddleware.php"], + "relevant": [ + "src/RedirectMiddleware.php" + ], "secondary": [], "category": "semantic" }, { "query": "curl-based HTTP handler and connection management", - "relevant": ["src/Handler/CurlFactory.php"], - "secondary": ["src/Handler/CurlHandler.php"], + "relevant": [ + "src/Handler/CurlFactory.php" + ], + "secondary": [ + "src/Handler/CurlHandler.php" + ], "category": "semantic" }, { "query": "mock handler for simulating HTTP responses in tests", - "relevant": ["src/Handler/MockHandler.php"], + "relevant": [ + "src/Handler/MockHandler.php" + ], "secondary": [], "category": "semantic" }, { "query": "concurrent request pool with limited parallelism", - "relevant": ["src/Pool.php"], + "relevant": [ + "src/Pool.php" + ], "secondary": [], "category": "semantic" }, { "query": "available request options and their configuration", - "relevant": ["src/RequestOptions.php"], + "relevant": [ + "src/RequestOptions.php" + ], "secondary": [], "category": "semantic" }, { "query": "HTTP message formatting and request logging", - "relevant": ["src/MessageFormatter.php"], + "relevant": [ + "src/MessageFormatter.php" + ], "secondary": [], "category": "semantic" }, { "query": "how request body and content-type are prepared before sending", - "relevant": ["src/PrepareBodyMiddleware.php"], + "relevant": [ + "src/PrepareBodyMiddleware.php" + ], "secondary": [], "category": "semantic" }, { "query": "exception hierarchy for HTTP and transfer errors", - "relevant": ["src/Exception/RequestException.php"], - "secondary": ["src/Exception/GuzzleException.php"], + "relevant": [ + "src/Exception/RequestException.php" + ], + "secondary": [ + "src/Exception/GuzzleException.php" + ], "category": "semantic" }, { "query": "Client", - "relevant": ["src/Client.php"], + "relevant": [ + "src/Client.php" + ], "secondary": [], "category": "symbol" }, { "query": "HandlerStack", - "relevant": ["src/HandlerStack.php"], + "relevant": [ + "src/HandlerStack.php" + ], "secondary": [], "category": "symbol" }, { "query": "RedirectMiddleware", - "relevant": ["src/RedirectMiddleware.php"], + "relevant": [ + "src/RedirectMiddleware.php" + ], + "secondary": [], + "category": "symbol" + }, + { + "query": "how the handler stack wraps middleware around the HTTP send", + "relevant": [ + "src/HandlerStack.php" + ], + "secondary": [], + "category": "architecture" + }, + { + "query": "retry middleware and backoff logic", + "relevant": [ + "src/RetryMiddleware.php" + ], + "secondary": [], + "category": "semantic" + }, + { + "query": "how redirect responses are followed and redirect history tracked", + "relevant": [ + "src/RedirectMiddleware.php" + ], + "secondary": [], + "category": "architecture" + }, + { + "query": "transfer statistics and timing information", + "relevant": [ + "src/TransferStats.php" + ], + "secondary": [], + "category": "semantic" + }, + { + "query": "HandlerStack", + "relevant": [ + "src/HandlerStack.php" + ], "secondary": [], "category": "symbol" } diff --git a/benchmarks/annotations/ktor.json b/benchmarks/annotations/ktor.json index 39fa149..8758c10 100644 --- a/benchmarks/annotations/ktor.json +++ b/benchmarks/annotations/ktor.json @@ -142,5 +142,43 @@ ], "secondary": [], "category": "symbol" + }, + { + "query": "how the Ktor server application and plugin pipeline are initialized", + "relevant": [ + "ktor-server/ktor-server-core/common/src/io/ktor/server/application/Application.kt" + ], + "secondary": [ + "ktor-server/ktor-server-core/common/src/io/ktor/server/application/ApplicationPlugin.kt" + ], + "category": "architecture" + }, + { + "query": "how client plugins intercept and transform requests and responses", + "relevant": [ + "ktor-client/ktor-client-core/common/src/io/ktor/client/plugins/api/ClientPluginBuilder.kt" + ], + "secondary": [ + "ktor-client/ktor-client-core/common/src/io/ktor/client/plugins/api/ClientPluginInstance.kt" + ], + "category": "architecture" + }, + { + "query": "HTTP client engine abstraction and engine factory", + "relevant": [ + "ktor-client/ktor-client-core/common/src/io/ktor/client/engine/HttpClientEngine.kt" + ], + "secondary": [ + "ktor-client/ktor-client-core/common/src/io/ktor/client/engine/HttpClientEngineFactory.kt" + ], + "category": "semantic" + }, + { + "query": "HttpClientCall", + "relevant": [ + "ktor-client/ktor-client-core/common/src/io/ktor/client/call/HttpClientCall.kt" + ], + "secondary": [], + "category": "symbol" } ] diff --git a/benchmarks/annotations/messagepack-csharp.json b/benchmarks/annotations/messagepack-csharp.json index 42ddc58..4471645 100644 --- a/benchmarks/annotations/messagepack-csharp.json +++ b/benchmarks/annotations/messagepack-csharp.json @@ -145,5 +145,29 @@ ], "secondary": [], "category": "symbol" + }, + { + "query": "how the MessagePack binary format codes map to types", + "relevant": [ + "src/MessagePack/MessagePackCode.cs" + ], + "secondary": [], + "category": "semantic" + }, + { + "query": "security options and depth limits for deserialization", + "relevant": [ + "src/MessagePack/MessagePackSecurity.cs" + ], + "secondary": [], + "category": "semantic" + }, + { + "query": "MessagePackSecurity", + "relevant": [ + "src/MessagePack/MessagePackSecurity.cs" + ], + "secondary": [], + "category": "symbol" } ] diff --git a/benchmarks/annotations/sinatra.json b/benchmarks/annotations/sinatra.json index 8ae221f..a39ea41 100644 --- a/benchmarks/annotations/sinatra.json +++ b/benchmarks/annotations/sinatra.json @@ -157,5 +157,45 @@ "related": [ "lib/sinatra/base.rb" ] + }, + { + "query": "how route conditions are evaluated before dispatching", + "relevant": [ + { + "path": "lib/sinatra/base.rb", + "start_line": 1048, + "end_line": 1100 + } + ], + "secondary": [], + "category": "architecture" + }, + { + "query": "show_exceptions middleware for development error pages", + "relevant": [ + "lib/sinatra/show_exceptions.rb" + ], + "secondary": [], + "category": "semantic" + }, + { + "query": "how Sinatra::Base registers class-level route helpers like get post put delete", + "relevant": [ + { + "path": "lib/sinatra/base.rb", + "start_line": 1330, + "end_line": 1400 + } + ], + "secondary": [], + "category": "architecture" + }, + { + "query": "IndifferentHash", + "relevant": [ + "lib/sinatra/indifferent_hash.rb" + ], + "secondary": [], + "category": "symbol" } ] diff --git a/benchmarks/annotations/tokio.json b/benchmarks/annotations/tokio.json index eb5ea23..421be7e 100644 --- a/benchmarks/annotations/tokio.json +++ b/benchmarks/annotations/tokio.json @@ -138,5 +138,31 @@ ], "secondary": [], "category": "symbol" + }, + { + "query": "async file I/O operations", + "relevant": [ + "tokio/src/fs/file.rs" + ], + "secondary": [ + "tokio/src/fs/mod.rs" + ], + "category": "semantic" + }, + { + "query": "how the tokio runtime builder configures and starts the multi-thread scheduler", + "relevant": [ + "tokio/src/runtime/builder.rs" + ], + "secondary": [], + "category": "architecture" + }, + { + "query": "Runtime", + "relevant": [ + "tokio/src/runtime/runtime.rs" + ], + "secondary": [], + "category": "symbol" } ] diff --git a/benchmarks/annotations/trpc.json b/benchmarks/annotations/trpc.json index ccdfebf..e0a96bc 100644 --- a/benchmarks/annotations/trpc.json +++ b/benchmarks/annotations/trpc.json @@ -150,5 +150,29 @@ ], "secondary": [], "category": "symbol" + }, + { + "query": "WebSocket adapter for real-time tRPC subscriptions", + "relevant": [ + "packages/server/src/adapters/ws.ts" + ], + "secondary": [], + "category": "semantic" + }, + { + "query": "how tRPC procedures are defined and chained with input and output validation", + "relevant": [ + "packages/server/src/unstable-core-do-not-import/procedure.ts" + ], + "secondary": [], + "category": "architecture" + }, + { + "query": "how tRPC routers are created and merged", + "relevant": [ + "packages/server/src/unstable-core-do-not-import/router.ts" + ], + "secondary": [], + "category": "architecture" } ] From 6c14e109002bb9ea9baac3479402f853d89817c2 Mon Sep 17 00:00:00 2001 From: Pringled Date: Fri, 17 Apr 2026 09:21:01 +0200 Subject: [PATCH 10/19] Add 8 new repos to benchmark (C, Bash, Haskell, Dart, Lua, Zig) - Add curl, redis, bats-core, aeson, http-dart, telescope.nvim, lazy.nvim, zig - 160 new annotation tasks (20 per repo) - Add .bash, .zig, .hs file extensions to file_walker - Overall NDCG@10: 0.841 across 56 repos --- benchmarks/annotations/aeson.json | 122 +++++++++++++++++++++ benchmarks/annotations/bats-core.json | 122 +++++++++++++++++++++ benchmarks/annotations/curl.json | 122 +++++++++++++++++++++ benchmarks/annotations/http-dart.json | 122 +++++++++++++++++++++ benchmarks/annotations/lazy.nvim.json | 122 +++++++++++++++++++++ benchmarks/annotations/redis.json | 122 +++++++++++++++++++++ benchmarks/annotations/telescope.nvim.json | 122 +++++++++++++++++++++ benchmarks/annotations/zig.json | 122 +++++++++++++++++++++ benchmarks/repos.json | 56 ++++++++++ src/semble/index/file_walker.py | 3 + 10 files changed, 1035 insertions(+) create mode 100644 benchmarks/annotations/aeson.json create mode 100644 benchmarks/annotations/bats-core.json create mode 100644 benchmarks/annotations/curl.json create mode 100644 benchmarks/annotations/http-dart.json create mode 100644 benchmarks/annotations/lazy.nvim.json create mode 100644 benchmarks/annotations/redis.json create mode 100644 benchmarks/annotations/telescope.nvim.json create mode 100644 benchmarks/annotations/zig.json diff --git a/benchmarks/annotations/aeson.json b/benchmarks/annotations/aeson.json new file mode 100644 index 0000000..9204778 --- /dev/null +++ b/benchmarks/annotations/aeson.json @@ -0,0 +1,122 @@ +[ + { + "query": "parsing a JSON object field with the (.:) operator", + "relevant": ["src/Data/Aeson/Types/FromJSON.hs"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how withObject expects a JSON object and runs a parser on it", + "relevant": ["src/Data/Aeson/Types/FromJSON.hs"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how typeMismatch produces an error message for wrong JSON types", + "relevant": ["src/Data/Aeson/Types/FromJSON.hs"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how parseEither runs a parser and returns Either String", + "relevant": ["src/Data/Aeson/Types/Internal.hs"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how parseMaybe runs a parser and returns Nothing on failure", + "relevant": ["src/Data/Aeson/Types/Internal.hs"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how withText parses a JSON string value", + "relevant": ["src/Data/Aeson/Types/FromJSON.hs"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how withArray parses a JSON array value", + "relevant": ["src/Data/Aeson/Types/FromJSON.hs"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how Template Haskell derives FromJSON and ToJSON instances", + "relevant": ["src/Data/Aeson/TH.hs"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how genericToJSON uses GHC generics to encode a value", + "relevant": ["src/Data/Aeson/Types/ToJSON.hs"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how camelCase field names are converted to snake_case for JSON keys", + "relevant": ["src/Data/Aeson/Types/Internal.hs"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how modifyFailure customizes error messages in a parser", + "relevant": ["src/Data/Aeson/Types/Internal.hs"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how optional fields use (.:?) with a default value via (.!=)", + "relevant": ["src/Data/Aeson/Types/FromJSON.hs"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how JSON encoding produces Encoding without materializing a Value", + "relevant": ["src/Data/Aeson/Encoding.hs"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how Key type is used as object field identifier", + "relevant": ["src/Data/Aeson/KeyMap.hs"], + "secondary": ["src/Data/Aeson/Key.hs"], + "category": "semantic" + }, + { + "query": "how withScientific parses a JSON number as Scientific", + "relevant": ["src/Data/Aeson/Types/FromJSON.hs"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how the Parser monad accumulates and reports JSON path errors", + "relevant": ["src/Data/Aeson/Types/Internal.hs"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how toJSONKeyText creates a ToJSONKey instance from a text function", + "relevant": ["src/Data/Aeson/Types/ToJSON.hs"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how emptyObject and emptyArray constants are defined", + "relevant": ["src/Data/Aeson/Types/Internal.hs"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how sum types are encoded with tag and contents fields", + "relevant": ["src/Data/Aeson/Types/ToJSON.hs"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how formatError formats a JSONPath and message into a string", + "relevant": ["src/Data/Aeson/Types/Internal.hs"], + "secondary": [], + "category": "semantic" + } +] diff --git a/benchmarks/annotations/bats-core.json b/benchmarks/annotations/bats-core.json new file mode 100644 index 0000000..32fa85e --- /dev/null +++ b/benchmarks/annotations/bats-core.json @@ -0,0 +1,122 @@ +[ + { + "query": "how the run command captures output and exit status of a command under test", + "relevant": ["lib/bats-core/test_functions.bash"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how bats loads external helper libraries with load", + "relevant": ["lib/bats-core/test_functions.bash"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how bats_pipe chains commands and captures their exit codes", + "relevant": ["lib/bats-core/test_functions.bash"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how skip aborts a test without marking it as a failure", + "relevant": ["lib/bats-core/test_functions.bash"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how bats_separate_lines splits command output into an array", + "relevant": ["lib/bats-core/test_functions.bash"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how parallel test execution is gated with a semaphore", + "relevant": ["lib/bats-core/semaphore.bash"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how a test file is preprocessed before execution", + "relevant": ["lib/bats-core/preprocessing.bash"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how stack traces are captured on test failure", + "relevant": ["lib/bats-core/tracing.bash"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how test function metadata is registered", + "relevant": ["lib/bats-core/test_functions.bash"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how bats formats test result output", + "relevant": ["lib/bats-core/formatter.bash"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how bats validates the test count across parallel workers", + "relevant": ["lib/bats-core/validator.bash"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how bats finds a library in the BATS_LIB_PATH", + "relevant": ["lib/bats-core/test_functions.bash"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how bats_errexit_subshell runs a command in a subshell with errexit", + "relevant": ["lib/bats-core/test_functions.bash"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how setup and teardown hooks are called around each test", + "relevant": ["lib/bats-core/test_functions.bash"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how warnings are emitted for deprecated bats features", + "relevant": ["lib/bats-core/warnings.bash"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how the preprocessed test source is evaluated", + "relevant": ["lib/bats-core/preprocessing.bash"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how flock and shlock provide mutual exclusion on file locks", + "relevant": ["lib/bats-core/semaphore.bash"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how the failed command line is printed in a stack trace", + "relevant": ["lib/bats-core/tracing.bash"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how bats_load_library loads a library by slug name", + "relevant": ["lib/bats-core/test_functions.bash"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how bats should retry a flaky test", + "relevant": ["lib/bats-core/test_functions.bash"], + "secondary": [], + "category": "semantic" + } +] diff --git a/benchmarks/annotations/curl.json b/benchmarks/annotations/curl.json new file mode 100644 index 0000000..94a8939 --- /dev/null +++ b/benchmarks/annotations/curl.json @@ -0,0 +1,122 @@ +[ + { + "query": "how curl resolves and connects to a remote host", + "relevant": ["lib/connect.c"], + "secondary": ["lib/url.c"], + "category": "architecture" + }, + { + "query": "how a new easy handle is initialized with default settings", + "relevant": ["lib/url.c"], + "secondary": [], + "category": "semantic" + }, + { + "query": "parsing the URL and filling the connection struct", + "relevant": ["lib/url.c"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how curl checks whether an existing connection can be reused", + "relevant": ["lib/url.c"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how HTTP authentication headers are selected and output", + "relevant": ["lib/http.c"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how curl decides whether to retry a failed request", + "relevant": ["lib/transfer.c"], + "secondary": [], + "category": "semantic" + }, + { + "query": "pre-transfer setup: resolving credentials, ranges, and timers", + "relevant": ["lib/transfer.c"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how the multi interface drives socket event loop transfers", + "relevant": ["lib/multi.c"], + "secondary": [], + "category": "architecture" + }, + { + "query": "cookie parsing and storage", + "relevant": ["lib/cookie.c"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how progress reporting works during a transfer", + "relevant": ["lib/progress.c"], + "secondary": [], + "category": "semantic" + }, + { + "query": "MIME multipart body construction for form uploads", + "relevant": ["lib/mime.c"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how the easy interface wraps the multi interface for synchronous use", + "relevant": ["lib/easy.c"], + "secondary": ["lib/multi.c"], + "category": "architecture" + }, + { + "query": "how curl checks if HTTP If-Modified-Since condition is met", + "relevant": ["lib/transfer.c"], + "secondary": [], + "category": "semantic" + }, + { + "query": "connection filter chain setup for proxies and TLS", + "relevant": ["lib/connect.c"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how SSL is configured on a connection", + "relevant": ["lib/url.c"], + "secondary": ["lib/connect.c"], + "category": "architecture" + }, + { + "query": "how data is sent and received during a transfer", + "relevant": ["lib/transfer.c"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how curl keepalive and connection upkeep works", + "relevant": ["lib/url.c"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how an existing connection is detected as dead before reuse", + "relevant": ["lib/url.c"], + "secondary": [], + "category": "semantic" + }, + { + "query": "freeing all resources when closing an easy handle", + "relevant": ["lib/url.c"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how HTTP proxy tunnel CONNECT method is initiated", + "relevant": ["lib/http.c"], + "secondary": [], + "category": "architecture" + } +] diff --git a/benchmarks/annotations/http-dart.json b/benchmarks/annotations/http-dart.json new file mode 100644 index 0000000..59bf5a4 --- /dev/null +++ b/benchmarks/annotations/http-dart.json @@ -0,0 +1,122 @@ +[ + { + "query": "how a GET request is sent and a Response returned", + "relevant": ["pkgs/http/lib/src/client.dart"], + "secondary": ["pkgs/http/lib/src/base_client.dart"], + "category": "semantic" + }, + { + "query": "how BaseClient implements convenience methods on top of send", + "relevant": ["pkgs/http/lib/src/base_client.dart"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how a multipart form POST request is constructed with files and fields", + "relevant": ["pkgs/http/lib/src/multipart_request.dart"], + "secondary": ["pkgs/http/lib/src/multipart_file.dart"], + "category": "semantic" + }, + { + "query": "how a Response is decoded from bytes and headers", + "relevant": ["pkgs/http/lib/src/response.dart"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how IOClient wraps dart:io HttpClient to send requests", + "relevant": ["pkgs/http/lib/src/io_client.dart"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how MockClient provides a test double for the HTTP client", + "relevant": ["pkgs/http/lib/src/mock_client.dart"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how a streamed response delivers body bytes as a stream", + "relevant": ["pkgs/http/lib/src/streamed_response.dart"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how a streamed POST request sends body data incrementally", + "relevant": ["pkgs/http/lib/src/streamed_request.dart"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how ClientException reports HTTP errors with the URI", + "relevant": ["pkgs/http/lib/src/exception.dart"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how a multipart boundary string is generated", + "relevant": ["pkgs/http/lib/src/multipart_request.dart"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how the abortable request supports cancellation via a trigger", + "relevant": ["pkgs/http/lib/src/abortable.dart"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how BaseRequest validates the HTTP method and URL", + "relevant": ["pkgs/http/lib/src/base_request.dart"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how response body is decoded using the charset from Content-Type", + "relevant": ["pkgs/http/lib/src/response.dart"], + "secondary": ["pkgs/http/lib/src/utils.dart"], + "category": "semantic" + }, + { + "query": "how a multipart file part header is formatted", + "relevant": ["pkgs/http/lib/src/multipart_request.dart"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how the client lifecycle close method releases resources", + "relevant": ["pkgs/http/lib/src/client.dart"], + "secondary": ["pkgs/http/lib/src/io_client.dart"], + "category": "semantic" + }, + { + "query": "how a Response is constructed from a StreamedResponse", + "relevant": ["pkgs/http/lib/src/response.dart"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how POST sends a body with content type and encoding", + "relevant": ["pkgs/http/lib/src/base_client.dart"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how ByteStream converts a list of bytes into a stream", + "relevant": ["pkgs/http/lib/src/byte_stream.dart"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how request headers are managed and validated", + "relevant": ["pkgs/http/lib/src/base_request.dart"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how a multipart file is created from a file path on disk", + "relevant": ["pkgs/http/lib/src/multipart_file_io.dart"], + "secondary": ["pkgs/http/lib/src/multipart_file.dart"], + "category": "semantic" + } +] diff --git a/benchmarks/annotations/lazy.nvim.json b/benchmarks/annotations/lazy.nvim.json new file mode 100644 index 0000000..f9b54df --- /dev/null +++ b/benchmarks/annotations/lazy.nvim.json @@ -0,0 +1,122 @@ +[ + { + "query": "how lazy.nvim loads a plugin on demand when its trigger fires", + "relevant": ["lua/lazy/core/loader.lua"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how plugin specs are parsed and normalized from user config", + "relevant": ["lua/lazy/core/plugin.lua"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how lazy caches the module loader to speed up startup", + "relevant": ["lua/lazy/core/cache.lua"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how plugin installations and updates are managed with tasks", + "relevant": ["lua/lazy/manage/init.lua"], + "secondary": ["lua/lazy/manage/runner.lua"], + "category": "architecture" + }, + { + "query": "how lazy.nvim checks for plugin updates from git", + "relevant": ["lua/lazy/manage/checker.lua"], + "secondary": ["lua/lazy/manage/git.lua"], + "category": "semantic" + }, + { + "query": "parsing and comparing semver version strings for plugin version constraints", + "relevant": ["lua/lazy/manage/semver.lua"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how lazy.nvim renders the plugin UI view", + "relevant": ["lua/lazy/view/render.lua"], + "secondary": ["lua/lazy/view/init.lua"], + "category": "architecture" + }, + { + "query": "how the lockfile pins plugin commits for reproducible installs", + "relevant": ["lua/lazy/manage/lock.lua"], + "secondary": [], + "category": "semantic" + }, + { + "query": "spawning and aborting async subprocess commands with uv", + "relevant": ["lua/lazy/manage/process.lua"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how event handlers trigger lazy loading on Neovim events", + "relevant": ["lua/lazy/core/handler/event.lua"], + "secondary": ["lua/lazy/core/handler/init.lua"], + "category": "architecture" + }, + { + "query": "how lazy.nvim config is validated and merged with defaults", + "relevant": ["lua/lazy/core/config.lua"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how M.load activates a plugin and sources its files", + "relevant": ["lua/lazy/core/loader.lua"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how plugin fragments handle multiple specs for the same plugin", + "relevant": ["lua/lazy/core/fragments.lua"], + "secondary": [], + "category": "architecture" + }, + { + "query": "reloading changed plugin files by detecting lua module changes", + "relevant": ["lua/lazy/manage/reloader.lua"], + "secondary": [], + "category": "semantic" + }, + { + "query": "reading and writing lazy plugin state to disk between sessions", + "relevant": ["lua/lazy/state.lua"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how the floating window for the lazy UI is created", + "relevant": ["lua/lazy/view/float.lua"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how text sections are rendered in the lazy view", + "relevant": ["lua/lazy/view/sections.lua"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how git diff output is shown for plugin updates", + "relevant": ["lua/lazy/view/diff.lua"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how the startup sequence initializes lazy and loads start plugins", + "relevant": ["lua/lazy/core/loader.lua"], + "secondary": ["lua/lazy/init.lua"], + "category": "architecture" + }, + { + "query": "how lazy util functions provide error handling and module loading", + "relevant": ["lua/lazy/core/util.lua"], + "secondary": [], + "category": "semantic" + } +] diff --git a/benchmarks/annotations/redis.json b/benchmarks/annotations/redis.json new file mode 100644 index 0000000..e11e176 --- /dev/null +++ b/benchmarks/annotations/redis.json @@ -0,0 +1,122 @@ +[ + { + "query": "how Redis implements the SET command with options like NX, EX, PX", + "relevant": ["src/t_string.c"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how active key expiration cycle works", + "relevant": ["src/expire.c"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how RDB persistence serializes the database to disk", + "relevant": ["src/rdb.c"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how append-only file logging records write commands", + "relevant": ["src/aof.c"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how pub/sub message delivery works to subscribers", + "relevant": ["src/pubsub.c"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how master-replica replication syncs data to replicas", + "relevant": ["src/replication.c"], + "secondary": [], + "category": "architecture" + }, + { + "query": "reading and parsing client commands from the network", + "relevant": ["src/networking.c"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how sorted sets score-based range queries work", + "relevant": ["src/t_zset.c"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how Redis hash objects store and retrieve fields", + "relevant": ["src/t_hash.c"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how SETRANGE modifies a substring within a string value", + "relevant": ["src/t_string.c"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how the event loop handles file events and time events", + "relevant": ["src/ae.c"], + "secondary": [], + "category": "architecture" + }, + { + "query": "expiring keys set with EXPIRE or TTL commands", + "relevant": ["src/expire.c"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how slave keys with expiry are tracked in replication", + "relevant": ["src/expire.c"], + "secondary": [], + "category": "semantic" + }, + { + "query": "server startup initialization and configuration loading", + "relevant": ["src/server.c"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how RDB saves LZF-compressed string objects", + "relevant": ["src/rdb.c"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how Redis cluster handles slot assignment and routing", + "relevant": ["src/cluster.c"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how list push and pop operations are implemented", + "relevant": ["src/t_list.c"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how set intersection and union operations work", + "relevant": ["src/t_set.c"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how the database keyspace stores and looks up keys", + "relevant": ["src/db.c"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how server logging formats and writes log messages", + "relevant": ["src/server.c"], + "secondary": [], + "category": "semantic" + } +] diff --git a/benchmarks/annotations/telescope.nvim.json b/benchmarks/annotations/telescope.nvim.json new file mode 100644 index 0000000..0c79247 --- /dev/null +++ b/benchmarks/annotations/telescope.nvim.json @@ -0,0 +1,122 @@ +[ + { + "query": "how Picker:find opens a floating window and starts fuzzy finding", + "relevant": ["lua/telescope/pickers.lua"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how Sorter:score ranks a prompt against a candidate entry", + "relevant": ["lua/telescope/sorters.lua"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how finders feed entries into a picker results buffer", + "relevant": ["lua/telescope/finders.lua"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how telescope actions map keys to picker operations", + "relevant": ["lua/telescope/actions/init.lua"], + "secondary": ["lua/telescope/mappings.lua"], + "category": "architecture" + }, + { + "query": "how previewers render a selected entry in the preview window", + "relevant": ["lua/telescope/previewers/buffer_previewer.lua"], + "secondary": ["lua/telescope/previewers/previewer.lua"], + "category": "architecture" + }, + { + "query": "how make_entry creates display strings and ordinals for results", + "relevant": ["lua/telescope/make_entry.lua"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how picker layout strategies position the floating windows", + "relevant": ["lua/telescope/pickers/layout_strategies.lua"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how telescope config sets defaults for all pickers", + "relevant": ["lua/telescope/config.lua"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how builtin file_files picker searches and presents files", + "relevant": ["lua/telescope/builtin/__files.lua"], + "secondary": [], + "category": "semantic" + }, + { + "query": "TelescopeGlobalState storing picker status keyed by prompt bufnr", + "relevant": ["lua/telescope/state.lua"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how git status changes are listed in a picker", + "relevant": ["lua/telescope/builtin/__git.lua"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how LSP references and definitions are shown in telescope", + "relevant": ["lua/telescope/builtin/__lsp.lua"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how Picker:get_selection returns the currently highlighted entry", + "relevant": ["lua/telescope/pickers.lua"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how themes modify the layout for dropdown or cursor pickers", + "relevant": ["lua/telescope/themes.lua"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how entry_manager stores and retrieves picker results", + "relevant": ["lua/telescope/entry_manager.lua"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how utils provides path and string helper functions", + "relevant": ["lua/telescope/utils.lua"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how diagnostic entries are displayed with severity in telescope", + "relevant": ["lua/telescope/builtin/__diagnostics.lua"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how operators apply actions to multiple selected entries", + "relevant": ["lua/telescope/operators.lua"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how Picker:move_selection changes the highlighted row", + "relevant": ["lua/telescope/pickers.lua"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how async_job runs an external command and streams results", + "relevant": ["lua/telescope/async_job.lua"], + "secondary": [], + "category": "architecture" + } +] diff --git a/benchmarks/annotations/zig.json b/benchmarks/annotations/zig.json new file mode 100644 index 0000000..2144e78 --- /dev/null +++ b/benchmarks/annotations/zig.json @@ -0,0 +1,122 @@ +[ + { + "query": "how AutoHashMap provides a hash map with auto-derived hash and equality", + "relevant": ["lib/std/hash_map.zig"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how ArrayList manages a growable array with an allocator", + "relevant": ["lib/std/array_list.zig"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how std.mem.eql compares two slices for equality", + "relevant": ["lib/std/mem.zig"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how std.fmt.bufPrint formats a string into a fixed buffer", + "relevant": ["lib/std/fmt.zig"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how std.json parses JSON from a slice into a typed struct", + "relevant": ["lib/std/json/static.zig"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how the JSON scanner tokenizes a JSON byte stream", + "relevant": ["lib/std/json/Scanner.zig"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how Thread.spawn creates and starts a new OS thread", + "relevant": ["lib/std/Thread.zig"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how std.testing.expect and expectEqual assert conditions in tests", + "relevant": ["lib/std/testing.zig"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how std.mem.sort and sortUnstable sort a slice in place", + "relevant": ["lib/std/mem.zig"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how std.fs.cwd opens the current working directory", + "relevant": ["lib/std/fs.zig"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how std.process.args returns command-line argument iterator", + "relevant": ["lib/std/process.zig"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how comptime hash functions are auto-derived for arbitrary types", + "relevant": ["lib/std/hash_map.zig"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how std.fmt.parseInt parses a string to an integer", + "relevant": ["lib/std/fmt.zig"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how std.mem.copyForwards and copyBackwards copy overlapping slices", + "relevant": ["lib/std/mem.zig"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how debug.print outputs to stderr for debugging", + "relevant": ["lib/std/debug.zig"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how the JSON Stringify module serializes a value to JSON", + "relevant": ["lib/std/json/Stringify.zig"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how std.mem.span converts a null-terminated pointer to a slice", + "relevant": ["lib/std/mem.zig"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how std.testing.checkAllAllocationFailures tests allocator failure paths", + "relevant": ["lib/std/testing.zig"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how std.mem.zeroes initializes a type to all zero bytes", + "relevant": ["lib/std/mem.zig"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how the JSON scanner feeds input incrementally and emits tokens", + "relevant": ["lib/std/json/Scanner.zig"], + "secondary": [], + "category": "architecture" + } +] diff --git a/benchmarks/repos.json b/benchmarks/repos.json index 9fef507..71efbcb 100644 --- a/benchmarks/repos.json +++ b/benchmarks/repos.json @@ -330,5 +330,61 @@ "url": "https://github.com/fmtlib/fmt.git", "revision": "382609a920d2c43c00f2951233bc0d578a783982", "benchmark_root": "include/fmt" + }, + { + "name": "curl", + "language": "c", + "url": "https://github.com/curl/curl.git", + "revision": "021a87cf81638af5317e142610ea0dd9f9fb4890", + "benchmark_root": "lib" + }, + { + "name": "redis", + "language": "c", + "url": "https://github.com/redis/redis.git", + "revision": "47575618616b6419562356b0cfbd4b17bb443bdd", + "benchmark_root": "src" + }, + { + "name": "bats-core", + "language": "bash", + "url": "https://github.com/bats-core/bats-core.git", + "revision": "d9faff0d7bc32e7adebc6552446f978118d3ab3b", + "benchmark_root": "lib" + }, + { + "name": "aeson", + "language": "haskell", + "url": "https://github.com/haskell/aeson.git", + "revision": "cd59793ca2405353ecee65f25b18ad7610104914", + "benchmark_root": "src/Data/Aeson" + }, + { + "name": "http-dart", + "language": "dart", + "url": "https://github.com/dart-lang/http.git", + "revision": "fa2d2c21cf6f8d9e72bb962d2cd5f613a7102a71", + "benchmark_root": "pkgs/http/lib" + }, + { + "name": "telescope.nvim", + "language": "lua", + "url": "https://github.com/nvim-telescope/telescope.nvim.git", + "revision": "471eebb1037899fd942cc0f52c012f8773505da1", + "benchmark_root": "lua/telescope" + }, + { + "name": "lazy.nvim", + "language": "lua", + "url": "https://github.com/folke/lazy.nvim.git", + "revision": "306a05526ada86a7b30af95c5cc81ffba93fef97", + "benchmark_root": "lua/lazy" + }, + { + "name": "zig", + "language": "zig", + "url": "https://github.com/ziglang/zig.git", + "revision": "738d2be9d6b6ef3ff3559130c05159ef53336224", + "benchmark_root": "lib/std" } ] diff --git a/src/semble/index/file_walker.py b/src/semble/index/file_walker.py index ea7254d..61833cc 100644 --- a/src/semble/index/file_walker.py +++ b/src/semble/index/file_walker.py @@ -45,6 +45,9 @@ class FileType: ".lua": FileType("lua", FileTypeType.CODE), ".sql": FileType("sql", FileTypeType.CODE), ".sh": FileType("bash", FileTypeType.CODE), + ".bash": FileType("bash", FileTypeType.CODE), + ".zig": FileType("zig", FileTypeType.CODE), + ".hs": FileType("haskell", FileTypeType.CODE), ".md": FileType("markdown", FileTypeType.DOCUMENT), ".yaml": FileType("yaml", FileTypeType.DOCUMENT), ".yml": FileType("yaml", FileTypeType.DOCUMENT), From 569434f89c351db86c48ad92a75f16042cf28eee Mon Sep 17 00:00:00 2001 From: Pringled Date: Fri, 17 Apr 2026 09:42:01 +0200 Subject: [PATCH 11/19] expand benchmark to 66 repos across 20 languages; fix aggregation to mean-of-language-means - Add 10 new repos: nvm, bash-it (replaces gitflow-avh), pandoc, xmonad, dio, riverpod, nvim-lspconfig, mini.nvim, zls, zig-clap - Bring bash, haskell, dart, lua, zig all to 3+ repos - Fix run_benchmark.py aggregation: headline NDCG@10 is now mean of per-language means (one vote per language, not per repo), which previously over-weighted Python's 9 repos - Fix numpy float type annotation issue (float() cast on np.median) - New headline: NDCG@10 = 0.829 across 20 languages (66 repos) --- benchmarks/annotations/bash-it.json | 122 +++ benchmarks/annotations/dio.json | 122 +++ benchmarks/annotations/mini.nvim.json | 122 +++ benchmarks/annotations/nvim-lspconfig.json | 122 +++ benchmarks/annotations/nvm.json | 122 +++ benchmarks/annotations/pandoc.json | 122 +++ benchmarks/annotations/riverpod.json | 122 +++ benchmarks/annotations/xmonad.json | 122 +++ benchmarks/annotations/zig-clap.json | 122 +++ benchmarks/annotations/zls.json | 122 +++ benchmarks/repos.json | 70 ++ benchmarks/results/6c14e109002b.json | 988 +++++++++++++++++++++ benchmarks/run_benchmark.py | 62 +- 13 files changed, 2319 insertions(+), 21 deletions(-) create mode 100644 benchmarks/annotations/bash-it.json create mode 100644 benchmarks/annotations/dio.json create mode 100644 benchmarks/annotations/mini.nvim.json create mode 100644 benchmarks/annotations/nvim-lspconfig.json create mode 100644 benchmarks/annotations/nvm.json create mode 100644 benchmarks/annotations/pandoc.json create mode 100644 benchmarks/annotations/riverpod.json create mode 100644 benchmarks/annotations/xmonad.json create mode 100644 benchmarks/annotations/zig-clap.json create mode 100644 benchmarks/annotations/zls.json create mode 100644 benchmarks/results/6c14e109002b.json diff --git a/benchmarks/annotations/bash-it.json b/benchmarks/annotations/bash-it.json new file mode 100644 index 0000000..cc1f77b --- /dev/null +++ b/benchmarks/annotations/bash-it.json @@ -0,0 +1,122 @@ +[ + { + "query": "how bash-it loads and enables plugins", + "relevant": ["lib/helpers.bash"], + "secondary": ["bash_it.sh"], + "category": "semantic" + }, + { + "query": "function to enable a bash-it component like plugin or alias", + "relevant": ["lib/helpers.bash"], + "secondary": [], + "category": "api" + }, + { + "query": "how command duration is measured and displayed in prompt", + "relevant": ["lib/command_duration.bash"], + "secondary": ["lib/preexec.bash"], + "category": "semantic" + }, + { + "query": "battery level detection for shell prompt", + "relevant": ["lib/battery.bash"], + "secondary": [], + "category": "semantic" + }, + { + "query": "bash-it search functionality for finding plugins and aliases", + "relevant": ["lib/search.bash"], + "secondary": ["lib/helpers.bash"], + "category": "semantic" + }, + { + "query": "logging utilities for bash-it debug output", + "relevant": ["lib/log.bash"], + "secondary": [], + "category": "api" + }, + { + "query": "color definitions and terminal color support", + "relevant": ["lib/colors.bash"], + "secondary": [], + "category": "semantic" + }, + { + "query": "bash history configuration and deduplication", + "relevant": ["lib/history.bash"], + "secondary": ["plugins/available/history-eternal.plugin.bash"], + "category": "semantic" + }, + { + "query": "completion loading and management", + "relevant": ["lib/completion.bash"], + "secondary": ["plugins/available/alias-completion.plugin.bash"], + "category": "semantic" + }, + { + "query": "preexec and precmd hook implementation", + "relevant": ["lib/preexec.bash"], + "secondary": ["lib/command_duration.bash"], + "category": "semantic" + }, + { + "query": "pyenv integration plugin for bash", + "relevant": ["plugins/available/pyenv.plugin.bash"], + "secondary": [], + "category": "keyword" + }, + { + "query": "ssh agent plugin for managing ssh keys", + "relevant": ["plugins/available/ssh.plugin.bash"], + "secondary": [], + "category": "keyword" + }, + { + "query": "jump plugin for bookmarking directories", + "relevant": ["plugins/available/jump.plugin.bash"], + "secondary": [], + "category": "semantic" + }, + { + "query": "node version manager nvm integration", + "relevant": ["plugins/available/node.plugin.bash"], + "secondary": [], + "category": "keyword" + }, + { + "query": "rvm ruby version manager plugin", + "relevant": ["plugins/available/rvm.plugin.bash"], + "secondary": [], + "category": "keyword" + }, + { + "query": "bash-it utility functions for string manipulation", + "relevant": ["lib/utilities.bash"], + "secondary": [], + "category": "semantic" + }, + { + "query": "hub github cli aliases and helpers", + "relevant": ["plugins/available/hub.plugin.bash"], + "secondary": [], + "category": "keyword" + }, + { + "query": "xterm terminal title setting functions", + "relevant": ["plugins/available/xterm.plugin.bash"], + "secondary": [], + "category": "semantic" + }, + { + "query": "bash-it main entry point and initialization", + "relevant": ["bash_it.sh"], + "secondary": ["lib/helpers.bash"], + "category": "semantic" + }, + { + "query": "projects plugin for switching between project directories", + "relevant": ["plugins/available/projects.plugin.bash"], + "secondary": [], + "category": "semantic" + } +] diff --git a/benchmarks/annotations/dio.json b/benchmarks/annotations/dio.json new file mode 100644 index 0000000..dbbd1b9 --- /dev/null +++ b/benchmarks/annotations/dio.json @@ -0,0 +1,122 @@ +[ + { + "query": "how dio sends an HTTP request through its interceptor chain", + "relevant": ["dio_mixin.dart"], + "secondary": ["interceptor.dart"], + "category": "architecture" + }, + { + "query": "how dio interceptors modify requests and responses", + "relevant": ["interceptor.dart"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how dio's CancelToken aborts an in-flight request", + "relevant": ["cancel_token.dart"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how dio handles multipart form data uploads", + "relevant": ["form_data.dart"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how dio manages request and response options like timeouts and headers", + "relevant": ["options.dart"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how dio transforms response body bytes using a Transformer", + "relevant": ["transformer.dart"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how DioException represents and categorizes HTTP errors", + "relevant": ["dio_exception.dart"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how dio manages response headers from HTTP replies", + "relevant": ["headers.dart"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how dio's IOAdapter sends requests using dart:io HttpClient", + "relevant": ["adapters/io_adapter.dart"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how dio tracks download progress with a stream", + "relevant": ["progress_stream/io_progress_stream.dart"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how dio's LogInterceptor logs request and response details", + "relevant": ["interceptors/log.dart"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how dio handles redirect records across HTTP redirects", + "relevant": ["redirect_record.dart"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how dio encodes query parameters into the URL", + "relevant": ["parameter.dart"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how dio's Response object holds status code and parsed data", + "relevant": ["response.dart"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how dio's ImplyContentTypeInterceptor sets Content-Type automatically", + "relevant": ["interceptors/imply_content_type.dart"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how dio handles streaming responses incrementally", + "relevant": ["response/response_stream_handler.dart"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how dio utility functions help with request processing", + "relevant": ["utils.dart"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how the Dio class exposes get, post, put, delete convenience methods", + "relevant": ["dio.dart"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how dio's browser adapter handles requests in web environments", + "relevant": ["adapters/browser_adapter.dart"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how empty response bodies are transformed to null by the transformer", + "relevant": ["transformers/util/transform_empty_to_null.dart"], + "secondary": [], + "category": "semantic" + } +] diff --git a/benchmarks/annotations/mini.nvim.json b/benchmarks/annotations/mini.nvim.json new file mode 100644 index 0000000..b7bb951 --- /dev/null +++ b/benchmarks/annotations/mini.nvim.json @@ -0,0 +1,122 @@ +[ + { + "query": "how mini.completion provides LSP-based autocompletion", + "relevant": ["lua/mini/completion.lua"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how mini.files implements a file explorer in a floating buffer", + "relevant": ["lua/mini/files.lua"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how mini.pick implements a fuzzy finder picker", + "relevant": ["lua/mini/pick.lua"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how mini.diff shows inline git diff signs in buffers", + "relevant": ["lua/mini/diff.lua"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how mini.comment toggles line and block comments", + "relevant": ["lua/mini/comment.lua"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how mini.ai extends text objects for selecting around and inside", + "relevant": ["lua/mini/ai.lua"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how mini.statusline builds a configurable Neovim status line", + "relevant": ["lua/mini/statusline.lua"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how mini.animate smoothly animates cursor movement and scrolling", + "relevant": ["lua/mini/animate.lua"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how mini.deps manages Neovim plugin installation and updates", + "relevant": ["lua/mini/deps.lua"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how mini.git provides git integration for files and hunks", + "relevant": ["lua/mini/git.lua"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how mini.indentscope highlights the indent scope of the cursor block", + "relevant": ["lua/mini/indentscope.lua"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how mini.fuzzy scores and ranks fuzzy matches", + "relevant": ["lua/mini/fuzzy.lua"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how mini.hipatterns highlights configurable text patterns in buffers", + "relevant": ["lua/mini/hipatterns.lua"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how mini.jump implements single-character jump navigation", + "relevant": ["lua/mini/jump.lua"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how mini.align aligns text using configurable separators", + "relevant": ["lua/mini/align.lua"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how mini.bufremove safely removes buffers without closing windows", + "relevant": ["lua/mini/bufremove.lua"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how mini.colors manages and creates Neovim color schemes", + "relevant": ["lua/mini/colors.lua"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how mini.clue shows pending keybinding hints as a popup", + "relevant": ["lua/mini/clue.lua"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how mini.base16 builds a full color scheme from a 16-color palette", + "relevant": ["lua/mini/base16.lua"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how mini.misc provides utility functions shared across mini modules", + "relevant": ["lua/mini/misc.lua"], + "secondary": [], + "category": "semantic" + } +] diff --git a/benchmarks/annotations/nvim-lspconfig.json b/benchmarks/annotations/nvim-lspconfig.json new file mode 100644 index 0000000..402951b --- /dev/null +++ b/benchmarks/annotations/nvim-lspconfig.json @@ -0,0 +1,122 @@ +[ + { + "query": "how nvim-lspconfig creates and starts an LSP client for a buffer", + "relevant": ["lua/lspconfig/manager.lua"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how nvim-lspconfig configs.lua registers a new server configuration", + "relevant": ["lua/lspconfig/configs.lua"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how root_pattern finds the project root by searching for marker files", + "relevant": ["lua/lspconfig/util.lua"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how nvim-lspconfig searches ancestors to find the root directory", + "relevant": ["lua/lspconfig/util.lua"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how nvim-lspconfig gets available server configurations by filetype", + "relevant": ["lua/lspconfig/util.lua"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how nvim-lspconfig displays server info in the :LspInfo window", + "relevant": ["lua/lspconfig/ui/windows.lua"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how nvim-lspconfig reports server health status", + "relevant": ["lua/lspconfig/health.lua"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how nvim-lspconfig async module handles deferred server startup", + "relevant": ["lua/lspconfig/async.lua"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how pyright language server is configured in nvim-lspconfig", + "relevant": ["lua/lspconfig/configs/pyright.lua"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how typescript-language-server (tsserver) is configured", + "relevant": ["lua/lspconfig/configs/ts_ls.lua"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how clangd C/C++ language server is configured in nvim-lspconfig", + "relevant": ["lua/lspconfig/configs/clangd.lua"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how rust-analyzer is configured in nvim-lspconfig", + "relevant": ["lua/lspconfig/configs/rust_analyzer.lua"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how lua_ls (Lua language server) is configured for Neovim development", + "relevant": ["lua/lspconfig/configs/lua_ls.lua"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how nvim-lspconfig util finds the typescript server path for a project", + "relevant": ["lua/lspconfig/util.lua"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how gopls Go language server is configured in nvim-lspconfig", + "relevant": ["lua/lspconfig/configs/gopls.lua"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how path utility functions check if paths are files or directories", + "relevant": ["lua/lspconfig/util.lua"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how zls Zig language server is configured in nvim-lspconfig", + "relevant": ["lua/lspconfig/configs/zls.lua"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how eslint language server is configured for JavaScript projects", + "relevant": ["lua/lspconfig/configs/eslint.lua"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how jsonls JSON language server is configured", + "relevant": ["lua/lspconfig/configs/jsonls.lua"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how nvim-lspconfig util strips archive subpaths from root directories", + "relevant": ["lua/lspconfig/util.lua"], + "secondary": [], + "category": "semantic" + } +] diff --git a/benchmarks/annotations/nvm.json b/benchmarks/annotations/nvm.json new file mode 100644 index 0000000..f85bced --- /dev/null +++ b/benchmarks/annotations/nvm.json @@ -0,0 +1,122 @@ +[ + { + "query": "how nvm installs a specific Node.js version", + "relevant": ["nvm.sh"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how nvm downloads a Node.js tarball from the remote", + "relevant": ["nvm.sh"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how nvm resolves an alias or version string to a concrete version", + "relevant": ["nvm.sh"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how nvm switches the active Node.js version in the current shell", + "relevant": ["nvm.sh"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how nvm finds the nearest .nvmrc file by walking up the directory tree", + "relevant": ["nvm.sh"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how nvm_find_project_dir locates the project root directory", + "relevant": ["nvm.sh"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how nvm lists installed and available Node.js versions", + "relevant": ["nvm.sh"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how nvm detects whether a version is already installed", + "relevant": ["nvm.sh"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how nvm manages the PATH to point to the active Node.js bin", + "relevant": ["nvm.sh"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how nvm_download wraps curl or wget for fetching remote resources", + "relevant": ["nvm.sh"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how nvm handles the default alias to set the default Node.js version", + "relevant": ["nvm.sh"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how nvm detects and uses system Node.js as a fallback", + "relevant": ["nvm.sh"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how nvm installs the latest npm for a given Node.js version", + "relevant": ["nvm.sh"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how nvm processes and validates the contents of an .nvmrc file", + "relevant": ["nvm.sh"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how nvm_has checks whether a command exists on the system", + "relevant": ["nvm.sh"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how nvm uninstalls a Node.js version and cleans up its directory", + "relevant": ["nvm.sh"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how nvm checks curl supports libz compression", + "relevant": ["nvm.sh"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how nvm_get_latest fetches the latest available Node.js version", + "relevant": ["nvm.sh"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how nvm sanitizes the auth header in download requests", + "relevant": ["nvm.sh"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how nvm detects color support and conditionally uses ANSI codes", + "relevant": ["nvm.sh"], + "secondary": [], + "category": "semantic" + } +] diff --git a/benchmarks/annotations/pandoc.json b/benchmarks/annotations/pandoc.json new file mode 100644 index 0000000..a35515d --- /dev/null +++ b/benchmarks/annotations/pandoc.json @@ -0,0 +1,122 @@ +[ + { + "query": "how pandoc reads and parses Markdown into an AST", + "relevant": ["Readers/Markdown.hs"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how pandoc writes an AST to HTML output", + "relevant": ["Writers/HTML.hs"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how pandoc converts a document to LaTeX", + "relevant": ["Writers/LaTeX.hs"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how the PandocMonad typeclass abstracts IO for readers and writers", + "relevant": ["Class.hs"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how pandoc handles YAML metadata blocks in documents", + "relevant": ["Readers/Markdown.hs"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how pandoc applies document transforms like header shifting", + "relevant": ["Transforms.hs"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how pandoc reads a DocBook XML document", + "relevant": ["Readers/DocBook.hs"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how pandoc handles citations and bibliography processing", + "relevant": ["Citeproc.hs"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how pandoc options control output format and extensions", + "relevant": ["Options.hs"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how pandoc parses table structures in documents", + "relevant": ["Parsing/GridTable.hs"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how pandoc fetches and embeds media into self-contained output", + "relevant": ["SelfContained.hs"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how pandoc writes CommonMark Markdown output", + "relevant": ["Writers/CommonMark.hs"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how pandoc reads RST reStructuredText documents", + "relevant": ["Readers/RST.hs"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how pandoc handles Lua filter scripting", + "relevant": ["Scripting.hs"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how pandoc's app module orchestrates reading, filtering, and writing", + "relevant": ["App.hs"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how pandoc handles TeX math in documents", + "relevant": ["TeX.hs"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how pandoc parses generic parsing utilities for readers", + "relevant": ["Parsing/General.hs"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how pandoc generates PDF output via LaTeX or other backends", + "relevant": ["PDF.hs"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how pandoc templates are processed and rendered", + "relevant": ["Templates.hs"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how pandoc error types represent conversion failures", + "relevant": ["Error.hs"], + "secondary": [], + "category": "semantic" + } +] diff --git a/benchmarks/annotations/riverpod.json b/benchmarks/annotations/riverpod.json new file mode 100644 index 0000000..83ce58a --- /dev/null +++ b/benchmarks/annotations/riverpod.json @@ -0,0 +1,122 @@ +[ + { + "query": "how ProviderContainer manages provider state and lifecycle", + "relevant": ["core/provider_container.dart"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how Ref allows providers to read and watch other providers", + "relevant": ["core/ref.dart"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how AsyncValue represents loading, data, and error states", + "relevant": ["core/async_value.dart"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how providers notify listeners when their state changes", + "relevant": ["core/element.dart"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how provider subscriptions track and dispose of listeners", + "relevant": ["core/provider_subscription.dart"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how the riverpod scheduler batches provider state updates", + "relevant": ["core/scheduler.dart"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how provider families parameterize providers with arguments", + "relevant": ["core/family.dart"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how select filters provider state to avoid unnecessary rebuilds", + "relevant": ["core/modifiers/select.dart"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how NotifierProvider wraps a Notifier class for state management", + "relevant": ["core/provider/notifier_provider.dart"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how provider overrides substitute implementations for testing", + "relevant": ["core/override.dart"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how a functional provider is defined with a create function", + "relevant": ["core/provider/functional_provider.dart"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how the future modifier converts async providers to FutureProvider", + "relevant": ["core/modifiers/future.dart"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how riverpod's common Result type wraps success and error", + "relevant": ["common/result.dart"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how mutations represent write operations on provider state", + "relevant": ["core/mutations.dart"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how the listenable base class supports subscription and notification", + "relevant": ["common/listenable.dart"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how provider persistence saves and restores state across sessions", + "relevant": ["core/persist.dart"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how the framework.dart entry point wires all riverpod components", + "relevant": ["framework.dart"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how provider foundation types define the base provider contract", + "relevant": ["core/foundation.dart"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how select_async filters an async provider's value stream", + "relevant": ["core/modifiers/select_async.dart"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how proxy_provider_listenable delegates listening to another provider", + "relevant": ["core/proxy_provider_listenable.dart"], + "secondary": [], + "category": "semantic" + } +] diff --git a/benchmarks/annotations/xmonad.json b/benchmarks/annotations/xmonad.json new file mode 100644 index 0000000..2aabafd --- /dev/null +++ b/benchmarks/annotations/xmonad.json @@ -0,0 +1,122 @@ +[ + { + "query": "how xmonad's X monad wraps IO with display and window state", + "relevant": ["Core.hs"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how xmonad manages and tiles windows using StackSet", + "relevant": ["StackSet.hs"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how xmonad handles window focus and workspace switching", + "relevant": ["Operations.hs"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how xmonad applies layout algorithms to arrange windows on screen", + "relevant": ["Layout.hs"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how xmonad's ManageHook routes new windows to workspaces", + "relevant": ["ManageHook.hs"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how xmonad reads and applies user configuration at startup", + "relevant": ["Config.hs"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how xmonad handles X11 events in its event loop", + "relevant": ["Main.hs"], + "secondary": ["Operations.hs"], + "category": "architecture" + }, + { + "query": "how xmonad kills a window and cleans up its state", + "relevant": ["Operations.hs"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how xmonad uses withDisplay to get the X11 Display handle", + "relevant": ["Core.hs"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how xmonad's StackSet tracks the focused window in a workspace", + "relevant": ["StackSet.hs"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how xmonad redraws and refreshes windows after a layout change", + "relevant": ["Operations.hs"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how xmonad manages multiple screens with multiple workspaces", + "relevant": ["StackSet.hs"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how xmonad moves a window to a different workspace", + "relevant": ["Operations.hs"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how userCode wraps user actions to catch exceptions", + "relevant": ["Core.hs"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how xmonad sets window border and title properties", + "relevant": ["Operations.hs"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how xmonad handles floating windows separately from tiled ones", + "relevant": ["Operations.hs"], + "secondary": ["StackSet.hs"], + "category": "architecture" + }, + { + "query": "how xmonad's runX executes an X action with its config and state", + "relevant": ["Core.hs"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how xmonad initializes the display and root window at startup", + "relevant": ["Main.hs"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how Layout typeclass allows pluggable tiling algorithms", + "relevant": ["Layout.hs"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how xmonad's windows function atomically applies StackSet transformations", + "relevant": ["Operations.hs"], + "secondary": [], + "category": "semantic" + } +] diff --git a/benchmarks/annotations/zig-clap.json b/benchmarks/annotations/zig-clap.json new file mode 100644 index 0000000..c72508c --- /dev/null +++ b/benchmarks/annotations/zig-clap.json @@ -0,0 +1,122 @@ +[ + { + "query": "how zig-clap parses command-line arguments into a typed result", + "relevant": ["clap.zig"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how Param defines a named CLI parameter with short and long flags", + "relevant": ["clap.zig"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how parseParams parses a string of parameter definitions at comptime", + "relevant": ["clap.zig"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how zig-clap Result type holds parsed argument values", + "relevant": ["clap.zig"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how zig-clap streaming parser processes arguments one token at a time", + "relevant": ["clap/streaming.zig"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how zig-clap iterates over OS process arguments", + "relevant": ["clap/args.zig"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how zig-clap built-in parsers convert strings to typed values", + "relevant": ["clap/parsers.zig"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how zig-clap prints help text for all defined parameters", + "relevant": ["clap.zig"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how zig-clap prints usage summary for a command", + "relevant": ["clap.zig"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how Diagnostic captures and reports argument parsing errors", + "relevant": ["clap.zig"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how Values enum controls whether a flag expects zero or one argument", + "relevant": ["clap.zig"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how parseParamsComptime creates a parameter array at compile time", + "relevant": ["clap.zig"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how ParseOptions customize the parsing behavior for edge cases", + "relevant": ["clap.zig"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how Names resolves the longest name for display and matching", + "relevant": ["clap.zig"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how zig-clap handles positional arguments without a flag prefix", + "relevant": ["clap.zig"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how parseEx provides a lower-level parsing API with custom iterators", + "relevant": ["clap.zig"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how ResultEx extends Result with extra context for advanced use", + "relevant": ["clap.zig"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how zig-clap detects and handles unrecognized flags as errors", + "relevant": ["clap/streaming.zig"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how helpToFile writes formatted help output to a file handle", + "relevant": ["clap.zig"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how Help struct stores help text associated with a parameter", + "relevant": ["clap.zig"], + "secondary": [], + "category": "semantic" + } +] diff --git a/benchmarks/annotations/zls.json b/benchmarks/annotations/zls.json new file mode 100644 index 0000000..181c95a --- /dev/null +++ b/benchmarks/annotations/zls.json @@ -0,0 +1,122 @@ +[ + { + "query": "how zls analyzes Zig source code to resolve types and declarations", + "relevant": ["analysis.zig"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how zls DocumentStore loads and caches Zig source files", + "relevant": ["DocumentStore.zig"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how zls provides goto definition for symbols", + "relevant": ["features/goto.zig"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how zls generates completion items from declarations and types", + "relevant": ["features/completions.zig"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how zls provides hover information for symbols under the cursor", + "relevant": ["features/hover.zig"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how zls finds all references to a symbol across the project", + "relevant": ["features/references.zig"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how zls handles LSP initialize and shutdown requests", + "relevant": ["Server.zig"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how zls generates diagnostic errors and warnings", + "relevant": ["features/diagnostics.zig"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how zls provides inlay hints for parameter names and types", + "relevant": ["features/inlay_hints.zig"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how zls traverses the Zig AST to resolve symbol scopes", + "relevant": ["ast.zig"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how zls provides code actions for quick fixes", + "relevant": ["features/code_actions.zig"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how zls computes semantic tokens for syntax highlighting", + "relevant": ["features/semantic_tokens.zig"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how zls provides document symbols for the outline view", + "relevant": ["features/document_symbol.zig"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how zls provides signature help when calling functions", + "relevant": ["features/signature_help.zig"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how zls computes document scope for variable visibility", + "relevant": ["DocumentScope.zig"], + "secondary": [], + "category": "architecture" + }, + { + "query": "how zls configuration is loaded and validated", + "relevant": ["configuration.zig"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how zls provides workspace symbol search", + "relevant": ["features/workspace_symbols.zig"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how zls gets doc comments for a token or node", + "relevant": ["analysis.zig"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how zls translates C headers for Zig interop", + "relevant": ["translate_c.zig"], + "secondary": [], + "category": "semantic" + }, + { + "query": "how zls uses trigram indexing for fast symbol lookup", + "relevant": ["TrigramStore.zig"], + "secondary": [], + "category": "architecture" + } +] diff --git a/benchmarks/repos.json b/benchmarks/repos.json index 71efbcb..eedff3d 100644 --- a/benchmarks/repos.json +++ b/benchmarks/repos.json @@ -386,5 +386,75 @@ "url": "https://github.com/ziglang/zig.git", "revision": "738d2be9d6b6ef3ff3559130c05159ef53336224", "benchmark_root": "lib/std" + }, + { + "name": "nvm", + "language": "bash", + "url": "https://github.com/nvm-sh/nvm.git", + "revision": "d200a215594bdda07e130117c9d392fff29cba84", + "benchmark_root": null + }, + { + "name": "bash-it", + "language": "bash", + "url": "https://github.com/Bash-it/bash-it.git", + "revision": "d281c8265f3c48b8276624d46284a3599d359a75", + "benchmark_root": null + }, + { + "name": "pandoc", + "language": "haskell", + "url": "https://github.com/jgm/pandoc.git", + "revision": "d9838eba11ae18216f52e233dbbca735f0f97ccb", + "benchmark_root": "src/Text/Pandoc" + }, + { + "name": "xmonad", + "language": "haskell", + "url": "https://github.com/xmonad/xmonad.git", + "revision": "59107a6c6f30d82d74449795a5c9149503f176ac", + "benchmark_root": "src/XMonad" + }, + { + "name": "dio", + "language": "dart", + "url": "https://github.com/cfug/dio.git", + "revision": "85aa6f1216203b1ca707289e82e35bcff5070b54", + "benchmark_root": "dio/lib/src" + }, + { + "name": "riverpod", + "language": "dart", + "url": "https://github.com/rrousselGit/riverpod.git", + "revision": "cac77b1ec1c4b4c0ca7c6e9b1436f80250b4edc0", + "benchmark_root": "packages/riverpod/lib/src" + }, + { + "name": "nvim-lspconfig", + "language": "lua", + "url": "https://github.com/neovim/nvim-lspconfig.git", + "revision": "4b7fbaa239c5db6b36f424a4521ca9f1a401be33", + "benchmark_root": "lua/lspconfig" + }, + { + "name": "mini.nvim", + "language": "lua", + "url": "https://github.com/echasnovski/mini.nvim.git", + "revision": "29447d7b0e1fc9bc9d0384953e63be3fae816736", + "benchmark_root": "lua/mini" + }, + { + "name": "zls", + "language": "zig", + "url": "https://github.com/zigtools/zls.git", + "revision": "295cedd8ddd040c77e6666ddab6ef6da8c0beffa", + "benchmark_root": "src" + }, + { + "name": "zig-clap", + "language": "zig", + "url": "https://github.com/Hejsil/zig-clap.git", + "revision": "fc1e5cc3f6d9d3001112385ee6256d694e959d2f", + "benchmark_root": null } ] diff --git a/benchmarks/results/6c14e109002b.json b/benchmarks/results/6c14e109002b.json new file mode 100644 index 0000000..969156f --- /dev/null +++ b/benchmarks/results/6c14e109002b.json @@ -0,0 +1,988 @@ +{ + "sha": "6c14e109002bb9ea9baac3479402f853d89817c2", + "model": "minishlab/potion-code-16M", + "summary": { + "ndcg10": 0.8288, + "p50_ms": 0.73, + "p90_ms": 3.463, + "p95_ms": 3.918, + "p99_ms": 4.221, + "index_ms": 492.3 + }, + "by_language": { + "bash": { + "repos": 3, + "ndcg10": 0.8385, + "p50_ms": 0.552, + "p90_ms": 0.639, + "p95_ms": 0.644, + "p99_ms": 0.659, + "index_ms": 106.1 + }, + "c": { + "repos": 2, + "ndcg10": 0.7632, + "p50_ms": 0.941, + "p90_ms": 1.058, + "p95_ms": 1.138, + "p99_ms": 1.483, + "index_ms": 2016.0 + }, + "cpp": { + "repos": 3, + "ndcg10": 0.9281, + "p50_ms": 0.625, + "p90_ms": 4.156, + "p95_ms": 5.198, + "p99_ms": 5.585, + "index_ms": 786.7 + }, + "csharp": { + "repos": 3, + "ndcg10": 0.824, + "p50_ms": 0.812, + "p90_ms": 5.118, + "p95_ms": 5.923, + "p99_ms": 7.494, + "index_ms": 453.0 + }, + "dart": { + "repos": 3, + "ndcg10": 0.7621, + "p50_ms": 0.589, + "p90_ms": 0.659, + "p95_ms": 0.666, + "p99_ms": 0.694, + "index_ms": 68.3 + }, + "elixir": { + "repos": 3, + "ndcg10": 0.8663, + "p50_ms": 0.568, + "p90_ms": 4.649, + "p95_ms": 5.016, + "p99_ms": 5.547, + "index_ms": 203.9 + }, + "go": { + "repos": 3, + "ndcg10": 0.8927, + "p50_ms": 0.59, + "p90_ms": 3.301, + "p95_ms": 3.804, + "p99_ms": 4.032, + "index_ms": 157.2 + }, + "haskell": { + "repos": 3, + "ndcg10": 0.7462, + "p50_ms": 0.698, + "p90_ms": 0.774, + "p95_ms": 0.781, + "p99_ms": 0.797, + "index_ms": 474.3 + }, + "java": { + "repos": 3, + "ndcg10": 0.8319, + "p50_ms": 1.176, + "p90_ms": 9.272, + "p95_ms": 12.956, + "p99_ms": 13.295, + "index_ms": 972.6 + }, + "javascript": { + "repos": 3, + "ndcg10": 0.8966, + "p50_ms": 0.441, + "p90_ms": 1.634, + "p95_ms": 1.671, + "p99_ms": 1.703, + "index_ms": 36.0 + }, + "kotlin": { + "repos": 3, + "ndcg10": 0.8104, + "p50_ms": 0.835, + "p90_ms": 4.545, + "p95_ms": 4.755, + "p99_ms": 5.455, + "index_ms": 242.9 + }, + "lua": { + "repos": 4, + "ndcg10": 0.7626, + "p50_ms": 0.785, + "p90_ms": 0.877, + "p95_ms": 0.907, + "p99_ms": 0.944, + "index_ms": 360.1 + }, + "php": { + "repos": 3, + "ndcg10": 0.8141, + "p50_ms": 0.894, + "p90_ms": 6.716, + "p95_ms": 6.844, + "p99_ms": 6.924, + "index_ms": 729.7 + }, + "python": { + "repos": 9, + "ndcg10": 0.8637, + "p50_ms": 0.495, + "p90_ms": 3.266, + "p95_ms": 3.398, + "p99_ms": 3.655, + "index_ms": 155.3 + }, + "ruby": { + "repos": 3, + "ndcg10": 0.8711, + "p50_ms": 0.591, + "p90_ms": 4.372, + "p95_ms": 5.432, + "p99_ms": 5.701, + "index_ms": 99.6 + }, + "rust": { + "repos": 3, + "ndcg10": 0.8378, + "p50_ms": 0.79, + "p90_ms": 5.02, + "p95_ms": 5.449, + "p99_ms": 5.759, + "index_ms": 505.3 + }, + "scala": { + "repos": 3, + "ndcg10": 0.8575, + "p50_ms": 0.817, + "p90_ms": 3.959, + "p95_ms": 4.143, + "p99_ms": 4.286, + "index_ms": 386.1 + }, + "swift": { + "repos": 3, + "ndcg10": 0.8227, + "p50_ms": 0.719, + "p90_ms": 3.715, + "p95_ms": 3.939, + "p99_ms": 4.501, + "index_ms": 245.7 + }, + "typescript": { + "repos": 3, + "ndcg10": 0.7185, + "p50_ms": 0.856, + "p90_ms": 4.608, + "p95_ms": 4.758, + "p99_ms": 4.911, + "index_ms": 441.3 + }, + "zig": { + "repos": 3, + "ndcg10": 0.8685, + "p50_ms": 0.823, + "p90_ms": 0.918, + "p95_ms": 0.932, + "p99_ms": 0.99, + "index_ms": 1405.3 + } + }, + "repos": [ + { + "repo": "abseil-cpp", + "language": "cpp", + "chunks": 3083, + "ndcg5": 0.9319537411240482, + "ndcg10": 0.9319537411240482, + "p50_ms": 0.7998124929144979, + "p90_ms": 7.487154501723126, + "p95_ms": 7.747266927617603, + "p99_ms": 8.248486187658273, + "index_ms": 1707.4572499841452 + }, + { + "repo": "aeson", + "language": "haskell", + "chunks": 393, + "ndcg5": 0.787707118843058, + "ndcg10": 0.8075975589033458, + "p50_ms": 0.5039380048401654, + "p90_ms": 0.5476831051055342, + "p95_ms": 0.5565902014495805, + "p99_ms": 0.5756844399729744, + "index_ms": 161.60437499638647 + }, + { + "repo": "aiohttp", + "language": "python", + "chunks": 756, + "ndcg5": 0.7595501987615106, + "ndcg10": 0.8051055391429651, + "p50_ms": 0.5790419818367809, + "p90_ms": 3.990333992987871, + "p95_ms": 4.206083016470075, + "p99_ms": 4.589283000677824, + "index_ms": 244.65399998007342 + }, + { + "repo": "alamofire", + "language": "swift", + "chunks": 649, + "ndcg5": 0.9613147192765459, + "ndcg10": 0.9613147192765459, + "p50_ms": 0.5557079857680947, + "p90_ms": 4.114870593184605, + "p95_ms": 4.304056889668574, + "p99_ms": 5.652644977963061, + "index_ms": 224.1691660019569 + }, + { + "repo": "axios", + "language": "javascript", + "chunks": 166, + "ndcg5": 0.8648468052243118, + "ndcg10": 0.8908186768484192, + "p50_ms": 0.595812511164695, + "p90_ms": 2.6303954946342856, + "p95_ms": 2.6892309164395556, + "p99_ms": 2.754178984905593, + "index_ms": 61.03224999969825 + }, + { + "repo": "axum", + "language": "rust", + "chunks": 509, + "ndcg5": 0.7324356157188728, + "ndcg10": 0.7826858855802271, + "p50_ms": 0.6067289941711351, + "p90_ms": 3.5670708806719635, + "p95_ms": 3.8244527298957114, + "p99_ms": 4.118857737630605, + "index_ms": 177.30954100261442 + }, + { + "repo": "bash-it", + "language": "bash", + "chunks": 723, + "ndcg5": 0.6381780979028123, + "ndcg10": 0.6881210787607543, + "p50_ms": 0.971707995631732, + "p90_ms": 1.1275464901700616, + "p95_ms": 1.1359048119629733, + "p99_ms": 1.1654809591709636, + "index_ms": 231.36266699293628 + }, + { + "repo": "bats-core", + "language": "bash", + "chunks": 48, + "ndcg5": 0.9011859507142915, + "ndcg10": 0.9011859507142915, + "p50_ms": 0.3573750000214204, + "p90_ms": 0.4321744083426893, + "p95_ms": 0.4346208690549247, + "p99_ms": 0.4364577782689594, + "index_ms": 24.089833023026586 + }, + { + "repo": "cats", + "language": "scala", + "chunks": 1254, + "ndcg5": 0.8632034061286296, + "ndcg10": 0.8632034061286296, + "p50_ms": 0.9821459971135482, + "p90_ms": 4.76967110298574, + "p95_ms": 5.013078868796583, + "p99_ms": 5.18971578188939, + "index_ms": 631.8489999976009 + }, + { + "repo": "chi", + "language": "go", + "chunks": 262, + "ndcg5": 0.8121926566738839, + "ndcg10": 0.8342931456297593, + "p50_ms": 0.6818124966230243, + "p90_ms": 2.902796198031865, + "p95_ms": 3.0680143026984297, + "p99_ms": 3.115302864171099, + "index_ms": 100.69449999718927 + }, + { + "repo": "circe", + "language": "scala", + "chunks": 192, + "ndcg5": 0.7870734511768013, + "ndcg10": 0.7870734511768013, + "p50_ms": 0.5541249993257225, + "p90_ms": 2.645499591017142, + "p95_ms": 2.70933280698955, + "p99_ms": 2.8689337568357587, + "index_ms": 90.79008401022293 + }, + { + "repo": "click", + "language": "python", + "chunks": 315, + "ndcg5": 1.0, + "ndcg10": 1.0, + "p50_ms": 0.42754149762913585, + "p90_ms": 3.2050079957116395, + "p95_ms": 3.3454059477662668, + "p99_ms": 3.4890147921396415, + "index_ms": 113.06462498032488 + }, + { + "repo": "cobra", + "language": "go", + "chunks": 394, + "ndcg5": 0.967519867361079, + "ndcg10": 0.967519867361079, + "p50_ms": 0.5262709892122075, + "p90_ms": 3.484274400398137, + "p95_ms": 4.602202065871097, + "p99_ms": 4.924473229912109, + "index_ms": 145.64199998858385 + }, + { + "repo": "commons-lang", + "language": "java", + "chunks": 3152, + "ndcg5": 0.8511907952337322, + "ndcg10": 0.8944264122460902, + "p50_ms": 0.9484160109423101, + "p90_ms": 8.694791002199054, + "p95_ms": 18.354333995375782, + "p99_ms": 18.77900039544329, + "index_ms": 1040.2108749840409 + }, + { + "repo": "curl", + "language": "c", + "chunks": 4444, + "ndcg5": 0.5564993486741835, + "ndcg10": 0.6602872366816288, + "p50_ms": 0.9797084931051359, + "p90_ms": 1.0835457913344726, + "p95_ms": 1.1860955317388295, + "p99_ms": 1.832286315911914, + "index_ms": 1505.4028329905123 + }, + { + "repo": "dapper", + "language": "csharp", + "chunks": 411, + "ndcg5": 0.7946394630357186, + "ndcg10": 0.8457831557244532, + "p50_ms": 0.5660210008500144, + "p90_ms": 3.25776671525091, + "p95_ms": 4.143112797464713, + "p99_ms": 7.799788958800485, + "index_ms": 173.79737499868497 + }, + { + "repo": "dio", + "language": "dart", + "chunks": 153, + "ndcg5": 0.6945949461156704, + "ndcg10": 0.6945949461156704, + "p50_ms": 0.569895506487228, + "p90_ms": 0.6605294183827937, + "p95_ms": 0.6660764673142694, + "p99_ms": 0.7179152985918335, + "index_ms": 60.07975002285093 + }, + { + "repo": "ecto", + "language": "elixir", + "chunks": 755, + "ndcg5": 0.8822031319548903, + "ndcg10": 0.9009508786447862, + "p50_ms": 0.5396670021582395, + "p90_ms": 6.722791190259159, + "p95_ms": 7.058446179144084, + "p99_ms": 7.2323564207181334, + "index_ms": 300.07354100234807 + }, + { + "repo": "exposed", + "language": "kotlin", + "chunks": 744, + "ndcg5": 0.714389356842921, + "ndcg10": 0.7597867547058971, + "p50_ms": 0.8886874857125804, + "p90_ms": 4.5291499845916405, + "p95_ms": 4.7769583732588226, + "p99_ms": 6.112025281763634, + "index_ms": 284.6420000132639 + }, + { + "repo": "express", + "language": "javascript", + "chunks": 52, + "ndcg5": 0.8968751674977092, + "ndcg10": 0.9237609540438003, + "p50_ms": 0.2903960121329874, + "p90_ms": 0.31328270270023495, + "p95_ms": 0.31442883191630244, + "p99_ms": 0.3158857603557408, + "index_ms": 18.616874993313104 + }, + { + "repo": "fastapi", + "language": "python", + "chunks": 597, + "ndcg5": 0.779729754068424, + "ndcg10": 0.8203171505071593, + "p50_ms": 0.4727500054286793, + "p90_ms": 3.522558094118722, + "p95_ms": 3.633708927372936, + "p99_ms": 3.821808169886935, + "index_ms": 191.60374999046326 + }, + { + "repo": "flask", + "language": "python", + "chunks": 291, + "ndcg5": 0.8847644106288912, + "ndcg10": 0.9039540836573546, + "p50_ms": 0.434750021668151, + "p90_ms": 2.9002500232309103, + "p95_ms": 2.9022080125287175, + "p99_ms": 3.530375193804503, + "index_ms": 94.13812498678453 + }, + { + "repo": "fmtlib", + "language": "cpp", + "chunks": 476, + "ndcg5": 0.9715338279036697, + "ndcg10": 0.9715338279036697, + "p50_ms": 0.46502101758960634, + "p90_ms": 0.8213881053961856, + "p95_ms": 3.4933999995701015, + "p99_ms": 3.6077799857594073, + "index_ms": 339.55375000368804 + }, + { + "repo": "gin", + "language": "go", + "chunks": 576, + "ndcg5": 0.8763658848604823, + "ndcg10": 0.8763658848604823, + "p50_ms": 0.5621669988613576, + "p90_ms": 3.5171459079720084, + "p95_ms": 3.7426819151733075, + "p99_ms": 4.05576997087337, + "index_ms": 225.3843340149615 + }, + { + "repo": "gson", + "language": "java", + "chunks": 1460, + "ndcg5": 0.8691575884408941, + "ndcg10": 0.8800779602818022, + "p50_ms": 0.9652704902691767, + "p90_ms": 5.974229486309924, + "p95_ms": 6.703927401395049, + "p99_ms": 7.09928548632888, + "index_ms": 489.4569999887608 + }, + { + "repo": "guzzle", + "language": "php", + "chunks": 206, + "ndcg5": 0.9140510731804075, + "ndcg10": 0.9140510731804075, + "p50_ms": 0.6004375027259812, + "p90_ms": 2.8898542077513416, + "p95_ms": 3.056083655974362, + "p99_ms": 3.0719167485949583, + "index_ms": 69.5339999801945 + }, + { + "repo": "http-dart", + "language": "dart", + "chunks": 89, + "ndcg5": 0.7566124015300086, + "ndcg10": 0.784641880764834, + "p50_ms": 0.5367295088944957, + "p90_ms": 0.5974836036330089, + "p95_ms": 0.6007184550981037, + "p99_ms": 0.6065772901638411, + "index_ms": 38.01754198502749 + }, + { + "repo": "http4s", + "language": "scala", + "chunks": 952, + "ndcg5": 0.9221719901717009, + "ndcg10": 0.9221719901717009, + "p50_ms": 0.9139790054177865, + "p90_ms": 4.461487504886463, + "p95_ms": 4.708068729087245, + "p99_ms": 4.798413753451314, + "index_ms": 435.52958298823796 + }, + { + "repo": "httpx", + "language": "python", + "chunks": 248, + "ndcg5": 0.879316171195208, + "ndcg10": 0.8890486663184692, + "p50_ms": 0.4710420034825802, + "p90_ms": 2.600749983685091, + "p95_ms": 2.9759170138277113, + "p99_ms": 3.0068169930018485, + "index_ms": 83.35058300872333 + }, + { + "repo": "jackson-databind", + "language": "java", + "chunks": 4570, + "ndcg5": 0.6754072534454754, + "ndcg10": 0.7212470920357018, + "p50_ms": 1.6132920136442408, + "p90_ms": 13.1470338877989, + "p95_ms": 13.810837203345727, + "p99_ms": 14.006601046712603, + "index_ms": 1388.1115420081187 + }, + { + "repo": "kotlinx-coroutines", + "language": "kotlin", + "chunks": 884, + "ndcg5": 0.8780803155822425, + "ndcg10": 0.8958906749376437, + "p50_ms": 0.7300834986381233, + "p90_ms": 4.3154252984095365, + "p95_ms": 4.5937020433484586, + "p99_ms": 5.180073205556254, + "index_ms": 298.98979200515896 + }, + { + "repo": "ktor", + "language": "kotlin", + "chunks": 425, + "ndcg5": 0.7385032847341471, + "ndcg10": 0.775416020293766, + "p50_ms": 0.8876665087882429, + "p90_ms": 4.790208287886344, + "p95_ms": 4.893782983708661, + "p99_ms": 5.071622988616582, + "index_ms": 145.0630409817677 + }, + { + "repo": "laravel-framework", + "language": "php", + "chunks": 6197, + "ndcg5": 0.6294399888351122, + "ndcg10": 0.6678420402122851, + "p50_ms": 1.1732704879250377, + "p90_ms": 13.535537489224225, + "p95_ms": 13.74607079924317, + "p99_ms": 13.948546980100218, + "index_ms": 1980.218499986222 + }, + { + "repo": "lazy.nvim", + "language": "lua", + "chunks": 300, + "ndcg5": 0.6371951400189322, + "ndcg10": 0.6989634817893211, + "p50_ms": 0.6517709844047204, + "p90_ms": 0.6752541841706261, + "p95_ms": 0.6876502971863374, + "p99_ms": 0.7386964530451222, + "index_ms": 118.93979102023877 + }, + { + "repo": "messagepack-csharp", + "language": "csharp", + "chunks": 1125, + "ndcg5": 0.8625205636356418, + "ndcg10": 0.8695839122786332, + "p50_ms": 0.9406244935235009, + "p90_ms": 5.429183400701731, + "p95_ms": 5.658550608495716, + "p99_ms": 5.768242911726702, + "index_ms": 438.91104098293 + }, + { + "repo": "mini.nvim", + "language": "lua", + "chunks": 2156, + "ndcg5": 0.9815464876785729, + "ndcg10": 0.9815464876785729, + "p50_ms": 0.5951670027570799, + "p90_ms": 0.762100299471058, + "p95_ms": 0.7760916632832959, + "p99_ms": 0.8097847370663657, + "index_ms": 788.4457500185817 + }, + { + "repo": "model2vec", + "language": "python", + "chunks": 107, + "ndcg5": 0.6870187953960127, + "ndcg10": 0.7153286644536179, + "p50_ms": 0.4505414981395006, + "p90_ms": 2.2201000101631507, + "p95_ms": 2.237458305899054, + "p99_ms": 2.248224464710802, + "index_ms": 41.60370898898691 + }, + { + "repo": "monolog", + "language": "php", + "chunks": 417, + "ndcg5": 0.8516433990956823, + "ndcg10": 0.8605053634348847, + "p50_ms": 0.9085419878829271, + "p90_ms": 3.72138281527441, + "p95_ms": 3.7303901815903373, + "p99_ms": 3.7521444182493724, + "index_ms": 139.48816698393784 + }, + { + "repo": "newtonsoft-json", + "language": "csharp", + "chunks": 2152, + "ndcg5": 0.7249554830799518, + "ndcg10": 0.7566736495298176, + "p50_ms": 0.928958019358106, + "p90_ms": 6.668483096291313, + "p95_ms": 7.9662589414510885, + "p99_ms": 8.913218189263715, + "index_ms": 746.3165840017609 + }, + { + "repo": "nlohmann-json", + "language": "cpp", + "chunks": 791, + "ndcg5": 0.8699118594962764, + "ndcg10": 0.8808322313371845, + "p50_ms": 0.6107499939389527, + "p90_ms": 4.159742014599033, + "p95_ms": 4.352762829512359, + "p99_ms": 4.899519751779734, + "index_ms": 312.9729159991257 + }, + { + "repo": "nvim-lspconfig", + "language": "lua", + "chunks": 1055, + "ndcg5": 0.537707118843058, + "ndcg10": 0.5850222192975525, + "p50_ms": 1.3026249944232404, + "p90_ms": 1.4242872013710441, + "p95_ms": 1.516214532603044, + "p99_ms": 1.5346757057704963, + "index_ms": 360.66041598678567 + }, + { + "repo": "nvm", + "language": "bash", + "chunks": 153, + "ndcg5": 0.9261859507142916, + "ndcg10": 0.9261859507142916, + "p50_ms": 0.326145498547703, + "p90_ms": 0.35674101090990007, + "p95_ms": 0.36159933952149004, + "p99_ms": 0.373886261950247, + "index_ms": 62.89633299456909 + }, + { + "repo": "pandoc", + "language": "haskell", + "chunks": 3090, + "ndcg5": 0.6333247437591728, + "ndcg10": 0.6650429102090386, + "p50_ms": 1.1764379887608811, + "p90_ms": 1.3344582985155284, + "p95_ms": 1.3426830060780048, + "p99_ms": 1.3537030015140772, + "index_ms": 1214.366208994761 + }, + { + "repo": "phoenix", + "language": "elixir", + "chunks": 546, + "ndcg5": 0.7696427696468264, + "ndcg10": 0.7848567078740838, + "p50_ms": 0.6017499836161733, + "p90_ms": 4.098741605412215, + "p95_ms": 4.440207997686227, + "p99_ms": 5.347408011439256, + "index_ms": 210.54029199876823 + }, + { + "repo": "plug", + "language": "elixir", + "chunks": 249, + "ndcg5": 0.9130929753571457, + "ndcg10": 0.9130929753571457, + "p50_ms": 0.5615834961645305, + "p90_ms": 3.124245902290568, + "p95_ms": 3.5483464569551875, + "p99_ms": 4.0615356754278755, + "index_ms": 101.17183299735188 + }, + { + "repo": "pydantic", + "language": "python", + "chunks": 1518, + "ndcg5": 0.7393950348587884, + "ndcg10": 0.7605345265791209, + "p50_ms": 0.660021003568545, + "p90_ms": 5.316204810515046, + "p95_ms": 5.387414898723364, + "p99_ms": 5.820582984015345, + "index_ms": 494.19220798881724 + }, + { + "repo": "rack", + "language": "ruby", + "chunks": 249, + "ndcg5": 0.9312144170634953, + "ndcg10": 0.9312144170634953, + "p50_ms": 0.5692500126315281, + "p90_ms": 3.806487403926441, + "p95_ms": 5.19927678251406, + "p99_ms": 5.876755353237966, + "index_ms": 98.45020802458748 + }, + { + "repo": "rails", + "language": "ruby", + "chunks": 465, + "ndcg5": 0.8788952563203779, + "ndcg10": 0.8788952563203779, + "p50_ms": 0.855479491292499, + "p90_ms": 4.239842013339515, + "p95_ms": 5.880929427803494, + "p99_ms": 5.955218666349538, + "index_ms": 169.96887500863522 + }, + { + "repo": "redis", + "language": "c", + "chunks": 6289, + "ndcg5": 0.8661732909393883, + "ndcg10": 0.8661732909393883, + "p50_ms": 0.9016664989758283, + "p90_ms": 1.031704802880995, + "p95_ms": 1.0907753647188656, + "p99_ms": 1.1342222811072133, + "index_ms": 2526.6466249886435 + }, + { + "repo": "redux", + "language": "javascript", + "chunks": 53, + "ndcg5": 0.8494076946336916, + "ndcg10": 0.8753031461393366, + "p50_ms": 0.4356250137789175, + "p90_ms": 1.9582130917115137, + "p95_ms": 2.0106812662561424, + "p99_ms": 2.0381362541229464, + "index_ms": 28.371209016768262 + }, + { + "repo": "requests", + "language": "python", + "chunks": 169, + "ndcg5": 0.9341423065816494, + "ndcg10": 0.9341423065816494, + "p50_ms": 0.421520511736162, + "p90_ms": 2.7767672931076963, + "p95_ms": 3.010671160882339, + "p99_ms": 3.138034240109846, + "index_ms": 58.63329200656153 + }, + { + "repo": "riverpod", + "language": "dart", + "chunks": 316, + "ndcg5": 0.7920624189796882, + "ndcg10": 0.8071139187628873, + "p50_ms": 0.6617710023419932, + "p90_ms": 0.7190787990111858, + "p95_ms": 0.7299222925212234, + "p99_ms": 0.75851806323044, + "index_ms": 106.87837499426678 + }, + { + "repo": "rxswift", + "language": "swift", + "chunks": 686, + "ndcg5": 0.7136381417190647, + "ndcg10": 0.7395335932247098, + "p50_ms": 0.7825000066077337, + "p90_ms": 3.360225295182318, + "p95_ms": 3.523800006951206, + "p99_ms": 3.7962600024184208, + "index_ms": 230.97279202193022 + }, + { + "repo": "serde", + "language": "rust", + "chunks": 1164, + "ndcg5": 0.7430676558073394, + "ndcg10": 0.7755075663132924, + "p50_ms": 0.905791501281783, + "p90_ms": 4.171537517686375, + "p95_ms": 4.652406251989305, + "p99_ms": 4.774481230415404, + "index_ms": 398.29737500986084 + }, + { + "repo": "sinatra", + "language": "ruby", + "chunks": 68, + "ndcg5": 0.8030803155822426, + "ndcg10": 0.8030803155822426, + "p50_ms": 0.3481244930298999, + "p90_ms": 5.0694211007794365, + "p95_ms": 5.217033003282268, + "p99_ms": 5.2713729967945255, + "index_ms": 30.381042015505955 + }, + { + "repo": "starlette", + "language": "python", + "chunks": 213, + "ndcg5": 0.9360462354097291, + "ndcg10": 0.945257016534361, + "p50_ms": 0.5377079942263663, + "p90_ms": 2.860916021745652, + "p95_ms": 2.880250016460195, + "p99_ms": 3.2515171973500405, + "index_ms": 76.48308397619985 + }, + { + "repo": "telescope.nvim", + "language": "lua", + "chunks": 540, + "ndcg5": 0.7850340567062908, + "ndcg10": 0.7850340567062908, + "p50_ms": 0.59020851040259, + "p90_ms": 0.644737490802072, + "p95_ms": 0.6498083079350181, + "p99_ms": 0.6943944809609092, + "index_ms": 172.32408298878 + }, + { + "repo": "tokio", + "language": "rust", + "chunks": 2730, + "ndcg5": 0.9459860394574093, + "ndcg10": 0.9552148242963877, + "p50_ms": 0.858416999108158, + "p90_ms": 7.32268299907446, + "p95_ms": 7.871458042063751, + "p99_ms": 8.384458807413466, + "index_ms": 940.3193339821883 + }, + { + "repo": "trpc", + "language": "typescript", + "chunks": 362, + "ndcg5": 0.7517036349312507, + "ndcg10": 0.7810815764501158, + "p50_ms": 0.873645520186983, + "p90_ms": 3.3595961052924395, + "p95_ms": 3.4578413600684144, + "p99_ms": 3.541568273503799, + "index_ms": 122.99524998525158 + }, + { + "repo": "vapor", + "language": "swift", + "chunks": 780, + "ndcg5": 0.714347895854399, + "ndcg10": 0.7673794037674891, + "p50_ms": 0.8193745015887544, + "p90_ms": 3.6703916790429507, + "p95_ms": 3.9897107679280452, + "p99_ms": 4.053075763804372, + "index_ms": 282.0896249904763 + }, + { + "repo": "vitest", + "language": "typescript", + "chunks": 1079, + "ndcg5": 0.6517782560805999, + "ndcg10": 0.7024504745746012, + "p50_ms": 0.8347290131496266, + "p90_ms": 4.679554206086323, + "p95_ms": 4.8899732530117035, + "p99_ms": 4.900328265503049, + "index_ms": 372.4507500010077 + }, + { + "repo": "xmonad", + "language": "haskell", + "chunks": 123, + "ndcg5": 0.7558852054218812, + "ndcg10": 0.7661043253013055, + "p50_ms": 0.41487500129733235, + "p90_ms": 0.44106668210588396, + "p95_ms": 0.44506280100904405, + "p99_ms": 0.46247896621935064, + "index_ms": 46.83258300065063 + }, + { + "repo": "zig", + "language": "zig", + "chunks": 13059, + "ndcg5": 0.8696394630357187, + "ndcg10": 0.8696394630357187, + "p50_ms": 1.38725052238442, + "p90_ms": 1.6043037845520303, + "p95_ms": 1.6270660431473518, + "p99_ms": 1.7547468162956645, + "index_ms": 3573.137957981089 + }, + { + "repo": "zig-clap", + "language": "zig", + "chunks": 99, + "ndcg5": 0.9130929753571457, + "ndcg10": 0.9130929753571457, + "p50_ms": 0.4263540031388402, + "p90_ms": 0.444116277503781, + "p95_ms": 0.4503264412051067, + "p99_ms": 0.47176528431009496, + "index_ms": 54.36124998959713 + }, + { + "repo": "zls", + "language": "zig", + "chunks": 1300, + "ndcg5": 0.8077324383928645, + "ndcg10": 0.8227839381760635, + "p50_ms": 0.6539585010614246, + "p90_ms": 0.7055627764202654, + "p95_ms": 0.7187207884271629, + "p99_ms": 0.7448769538314082, + "index_ms": 588.2920410076622 + }, + { + "repo": "zod", + "language": "typescript", + "chunks": 1777, + "ndcg5": 0.6721003911969763, + "ndcg10": 0.6721003911969763, + "p50_ms": 0.8605000039096922, + "p90_ms": 5.786174716195092, + "p95_ms": 5.926768759672996, + "p99_ms": 6.289953738159965, + "index_ms": 828.54041698738 + } + ] +} diff --git a/benchmarks/run_benchmark.py b/benchmarks/run_benchmark.py index 4c42a41..da80879 100644 --- a/benchmarks/run_benchmark.py +++ b/benchmarks/run_benchmark.py @@ -82,7 +82,7 @@ def _evaluate(index: SembleIndex, tasks: list[Task], *, verbose: bool = False) - started = time.perf_counter() results = index.search(task.query, top_k=_DIRECT_TOP_K) query_latencies.append((time.perf_counter() - started) * 1000) - latencies.append(np.median(query_latencies)) + latencies.append(float(np.median(query_latencies))) relevant_ranks = [rank for target in task.all_relevant if (rank := _target_rank(results, target)) is not None] n_relevant = sum( @@ -118,12 +118,19 @@ def _print_summary(results: list[RepoResult]) -> None: by_language = {lang: [r for r in results if r.language == lang] for lang in languages} columns = ["Avg", *[lang.title() for lang in languages]] - avg_ndcg10 = sum(r.ndcg10 for r in results) / len(results) - avg_p50 = sum(r.p50_ms for r in results) / len(results) - avg_p90 = sum(r.p90_ms for r in results) / len(results) - avg_p95 = sum(r.p95_ms for r in results) / len(results) - avg_p99 = sum(r.p99_ms for r in results) / len(results) - avg_index = sum(r.index_ms for r in results) / len(results) + # Headline: mean of per-language means (one vote per language, not per repo). + lang_ndcg10 = [sum(r.ndcg10 for r in g) / len(g) for g in by_language.values()] + lang_p50 = [sum(r.p50_ms for r in g) / len(g) for g in by_language.values()] + lang_p90 = [sum(r.p90_ms for r in g) / len(g) for g in by_language.values()] + lang_p95 = [sum(r.p95_ms for r in g) / len(g) for g in by_language.values()] + lang_p99 = [sum(r.p99_ms for r in g) / len(g) for g in by_language.values()] + lang_index = [sum(r.index_ms for r in g) / len(g) for g in by_language.values()] + avg_ndcg10 = sum(lang_ndcg10) / len(lang_ndcg10) + avg_p50 = sum(lang_p50) / len(lang_p50) + avg_p90 = sum(lang_p90) / len(lang_p90) + avg_p95 = sum(lang_p95) / len(lang_p95) + avg_p99 = sum(lang_p99) / len(lang_p99) + avg_index = sum(lang_index) / len(lang_index) print(file=sys.stderr) print("By language", file=sys.stderr) @@ -221,28 +228,41 @@ def _save_results(results: list[RepoResult]) -> None: languages = sorted({r.language for r in results}) by_language = {lang: [r for r in results if r.language == lang] for lang in languages} + # Headline: mean of per-language means (one vote per language, not per repo). + lang_means = { + lang: { + "ndcg10": sum(r.ndcg10 for r in grouped) / len(grouped), + "p50_ms": sum(r.p50_ms for r in grouped) / len(grouped), + "p90_ms": sum(r.p90_ms for r in grouped) / len(grouped), + "p95_ms": sum(r.p95_ms for r in grouped) / len(grouped), + "p99_ms": sum(r.p99_ms for r in grouped) / len(grouped), + "index_ms": sum(r.index_ms for r in grouped) / len(grouped), + } + for lang, grouped in by_language.items() + } + n_langs = len(lang_means) output = { "sha": sha, "model": _DEFAULT_MODEL_NAME, "summary": { - "ndcg10": round(sum(r.ndcg10 for r in results) / len(results), 4), - "p50_ms": round(sum(r.p50_ms for r in results) / len(results), 3), - "p90_ms": round(sum(r.p90_ms for r in results) / len(results), 3), - "p95_ms": round(sum(r.p95_ms for r in results) / len(results), 3), - "p99_ms": round(sum(r.p99_ms for r in results) / len(results), 3), - "index_ms": round(sum(r.index_ms for r in results) / len(results), 1), + "ndcg10": round(sum(v["ndcg10"] for v in lang_means.values()) / n_langs, 4), + "p50_ms": round(sum(v["p50_ms"] for v in lang_means.values()) / n_langs, 3), + "p90_ms": round(sum(v["p90_ms"] for v in lang_means.values()) / n_langs, 3), + "p95_ms": round(sum(v["p95_ms"] for v in lang_means.values()) / n_langs, 3), + "p99_ms": round(sum(v["p99_ms"] for v in lang_means.values()) / n_langs, 3), + "index_ms": round(sum(v["index_ms"] for v in lang_means.values()) / n_langs, 1), }, "by_language": { lang: { - "repos": len(grouped), - "ndcg10": round(sum(r.ndcg10 for r in grouped) / len(grouped), 4), - "p50_ms": round(sum(r.p50_ms for r in grouped) / len(grouped), 3), - "p90_ms": round(sum(r.p90_ms for r in grouped) / len(grouped), 3), - "p95_ms": round(sum(r.p95_ms for r in grouped) / len(grouped), 3), - "p99_ms": round(sum(r.p99_ms for r in grouped) / len(grouped), 3), - "index_ms": round(sum(r.index_ms for r in grouped) / len(grouped), 1), + "repos": len(by_language[lang]), + "ndcg10": round(v["ndcg10"], 4), + "p50_ms": round(v["p50_ms"], 3), + "p90_ms": round(v["p90_ms"], 3), + "p95_ms": round(v["p95_ms"], 3), + "p99_ms": round(v["p99_ms"], 3), + "index_ms": round(v["index_ms"], 1), } - for lang, grouped in by_language.items() + for lang, v in lang_means.items() }, "repos": [asdict(r) for r in results], } From 970ee373c9096c4779c387e716848a2d12e36ac4 Mon Sep 17 00:00:00 2001 From: Pringled Date: Fri, 17 Apr 2026 09:43:43 +0200 Subject: [PATCH 12/19] add libuv as 3rd C repo; all 20 languages now have 3+ repos --- benchmarks/annotations/libuv.json | 122 ++++++++++++++++++++++++++++++ benchmarks/repos.json | 7 ++ 2 files changed, 129 insertions(+) create mode 100644 benchmarks/annotations/libuv.json diff --git a/benchmarks/annotations/libuv.json b/benchmarks/annotations/libuv.json new file mode 100644 index 0000000..02eac83 --- /dev/null +++ b/benchmarks/annotations/libuv.json @@ -0,0 +1,122 @@ +[ + { + "query": "how libuv implements the event loop run and tick", + "relevant": ["src/unix/core.c"], + "secondary": ["src/win/core.c"], + "category": "semantic" + }, + { + "query": "timer implementation and heap-based scheduling", + "relevant": ["src/timer.c"], + "secondary": ["src/heap-inl.h"], + "category": "semantic" + }, + { + "query": "thread pool and work queue for async operations", + "relevant": ["src/threadpool.c"], + "secondary": [], + "category": "semantic" + }, + { + "query": "async handle for waking up the event loop from another thread", + "relevant": ["src/unix/async.c"], + "secondary": ["src/unix/core.c"], + "category": "semantic" + }, + { + "query": "file system operations like read write open stat", + "relevant": ["src/unix/fs.c"], + "secondary": [], + "category": "semantic" + }, + { + "query": "TCP stream connect and accept implementation", + "relevant": ["src/unix/tcp.c"], + "secondary": ["src/unix/stream.c"], + "category": "semantic" + }, + { + "query": "UDP socket send and receive", + "relevant": ["src/unix/udp.c"], + "secondary": [], + "category": "semantic" + }, + { + "query": "DNS getaddrinfo async resolution", + "relevant": ["src/unix/getaddrinfo.c"], + "secondary": ["src/threadpool.c"], + "category": "semantic" + }, + { + "query": "pipe IPC between processes", + "relevant": ["src/unix/pipe.c"], + "secondary": ["src/unix/stream.c"], + "category": "semantic" + }, + { + "query": "child process spawning and management", + "relevant": ["src/unix/process.c"], + "secondary": [], + "category": "semantic" + }, + { + "query": "signal handling integration with event loop", + "relevant": ["src/unix/signal.c"], + "secondary": [], + "category": "semantic" + }, + { + "query": "file system event watching with inotify or kqueue", + "relevant": ["src/unix/fsevents.c"], + "secondary": ["src/fs-poll.c"], + "category": "semantic" + }, + { + "query": "idle and prepare handle callbacks before blocking", + "relevant": ["src/unix/core.c"], + "secondary": [], + "category": "semantic" + }, + { + "query": "random number generation using OS entropy", + "relevant": ["src/random.c"], + "secondary": ["src/unix/random-devurandom.c"], + "category": "semantic" + }, + { + "query": "shared library dlopen and dlsym wrapper", + "relevant": ["src/unix/dl.c"], + "secondary": [], + "category": "api" + }, + { + "query": "network interface address enumeration", + "relevant": ["src/unix/bsd-ifaddrs.c"], + "secondary": ["src/unix/linux.c"], + "category": "semantic" + }, + { + "query": "libuv handle reference counting and close", + "relevant": ["src/uv-common.c"], + "secondary": ["src/unix/core.c"], + "category": "semantic" + }, + { + "query": "thread creation and mutex synchronization primitives", + "relevant": ["src/unix/thread.c"], + "secondary": ["src/thread-common.c"], + "category": "semantic" + }, + { + "query": "IDNA internationalized domain name encoding", + "relevant": ["src/idna.c"], + "secondary": [], + "category": "keyword" + }, + { + "query": "tty terminal raw mode and window size", + "relevant": ["src/unix/tty.c"], + "secondary": [], + "category": "semantic" + } +] diff --git a/benchmarks/repos.json b/benchmarks/repos.json index eedff3d..b4ea10d 100644 --- a/benchmarks/repos.json +++ b/benchmarks/repos.json @@ -345,6 +345,13 @@ "revision": "47575618616b6419562356b0cfbd4b17bb443bdd", "benchmark_root": "src" }, + { + "name": "libuv", + "language": "c", + "url": "https://github.com/libuv/libuv.git", + "revision": "40178b916e5937ed43c557aa051bdb3f86f6ca93", + "benchmark_root": "src" + }, { "name": "bats-core", "language": "bash", From 0e626b1451ead55622ff9f3437a07c7be4bcd4de Mon Sep 17 00:00:00 2001 From: Pringled Date: Fri, 17 Apr 2026 10:09:30 +0200 Subject: [PATCH 13/19] benchmark quality improvements: n_relevant fix, per-category metrics, annotation audit - Fix n_relevant to use annotation count instead of index coverage (reviewer #5) - Add per-category NDCG@10 to printed summary and saved JSON (reviewer #7) - Replace 11 trivially-lexical semantic queries with vocabulary-diverse alternatives - Baseline: NDCG@10 = 0.825 (architecture=0.773, semantic=0.823, symbol=0.943) --- benchmarks/annotations/axum.json | 82 +- benchmarks/annotations/bash-it.json | 110 +- benchmarks/annotations/fastapi.json | 2 +- benchmarks/annotations/gin.json | 113 +- benchmarks/annotations/gson.json | 98 +- .../annotations/kotlinx-coroutines.json | 2 +- benchmarks/annotations/libuv.json | 126 +- benchmarks/annotations/model2vec.json | 2 +- benchmarks/annotations/rack.json | 6 +- benchmarks/results/970ee373c909.json | 1325 +++++++++++++++++ benchmarks/run_benchmark.py | 47 +- 11 files changed, 1763 insertions(+), 150 deletions(-) create mode 100644 benchmarks/results/970ee373c909.json diff --git a/benchmarks/annotations/axum.json b/benchmarks/annotations/axum.json index 35bd45c..16341fc 100644 --- a/benchmarks/annotations/axum.json +++ b/benchmarks/annotations/axum.json @@ -1,121 +1,161 @@ [ { "query": "how axum Handler trait dispatches requests to async handler functions", - "relevant": ["axum/src/handler/mod.rs"], + "relevant": [ + "axum/src/handler/mod.rs" + ], "secondary": [], "category": "architecture" }, { "query": "Router path_router implementation for storing and matching routes", - "relevant": ["axum/src/routing/path_router.rs"], + "relevant": [ + "axum/src/routing/path_router.rs" + ], "secondary": [], "category": "semantic" }, { "query": "how extractors implement FromRequest and FromRequestParts", - "relevant": ["axum/src/extract/mod.rs"], + "relevant": [ + "axum/src/extract/mod.rs" + ], "secondary": [], "category": "architecture" }, { "query": "Path extractor for capturing URL path parameters", - "relevant": ["axum/src/extract/path/mod.rs"], + "relevant": [ + "axum/src/extract/path/mod.rs" + ], "secondary": [], "category": "semantic" }, { "query": "State extractor for sharing application state across handlers", - "relevant": ["axum/src/extract/state.rs"], + "relevant": [ + "axum/src/extract/state.rs" + ], "secondary": [], "category": "semantic" }, { "query": "Json extractor and response for deserializing and serializing JSON bodies", - "relevant": ["axum/src/json.rs"], + "relevant": [ + "axum/src/json.rs" + ], "secondary": [], "category": "semantic" }, { "query": "how IntoResponse converts handler return values to HTTP responses", - "relevant": ["axum/src/response/mod.rs"], + "relevant": [ + "axum/src/response/mod.rs" + ], "secondary": [], "category": "architecture" }, { "query": "from_fn middleware for wrapping handlers with async functions", - "relevant": ["axum/src/middleware/from_fn.rs"], + "relevant": [ + "axum/src/middleware/from_fn.rs" + ], "secondary": [], "category": "semantic" }, { "query": "error handling and how errors are converted to responses", - "relevant": ["axum/src/error_handling/mod.rs"], + "relevant": [ + "axum/src/error_handling/mod.rs" + ], "secondary": [], "category": "semantic" }, { "query": "how axum nests routers and merges router trees", - "relevant": ["axum/src/routing/mod.rs"], + "relevant": [ + "axum/src/routing/mod.rs" + ], "secondary": [], "category": "architecture" }, { "query": "Form extractor for parsing URL-encoded request bodies", - "relevant": ["axum/src/form.rs"], + "relevant": [ + "axum/src/form.rs" + ], "secondary": [], "category": "semantic" }, { "query": "WebSocket upgrade and handler", - "relevant": ["axum/src/extract/ws.rs"], + "relevant": [ + "axum/src/extract/ws.rs" + ], "secondary": [], "category": "semantic" }, { "query": "how MethodRouter dispatches GET POST PUT DELETE by HTTP method", - "relevant": ["axum/src/routing/method_routing.rs"], + "relevant": [ + "axum/src/routing/method_routing.rs" + ], "secondary": [], "category": "architecture" }, { "query": "BoxedIntoRoute and type-erased route storage", - "relevant": ["axum/src/routing/route.rs"], + "relevant": [ + "axum/src/routing/route.rs" + ], "secondary": [], "category": "semantic" }, { - "query": "multipart form data extraction", - "relevant": ["axum/src/extract/multipart.rs"], + "query": "parsing uploaded binary file parts from HTTP requests", + "relevant": [ + "axum/src/extract/multipart.rs" + ], "secondary": [], "category": "semantic" }, { "query": "how axum maps Tower middleware layers onto the router", - "relevant": ["axum/src/middleware/mod.rs"], + "relevant": [ + "axum/src/middleware/mod.rs" + ], "secondary": [], "category": "semantic" }, { "query": "rejection types and rejection responses for failed extractions", - "relevant": ["axum/src/extract/rejection.rs"], + "relevant": [ + "axum/src/extract/rejection.rs" + ], "secondary": [], "category": "semantic" }, { "query": "Router", - "relevant": ["axum/src/routing/mod.rs"], + "relevant": [ + "axum/src/routing/mod.rs" + ], "secondary": [], "category": "symbol" }, { "query": "IntoResponse", - "relevant": ["axum/src/response/mod.rs"], + "relevant": [ + "axum/src/response/mod.rs" + ], "secondary": [], "category": "symbol" }, { "query": "FromRequest", - "relevant": ["axum/src/extract/mod.rs"], + "relevant": [ + "axum/src/extract/mod.rs" + ], "secondary": [], "category": "symbol" } diff --git a/benchmarks/annotations/bash-it.json b/benchmarks/annotations/bash-it.json index cc1f77b..0588a2b 100644 --- a/benchmarks/annotations/bash-it.json +++ b/benchmarks/annotations/bash-it.json @@ -1,121 +1,175 @@ [ { "query": "how bash-it loads and enables plugins", - "relevant": ["lib/helpers.bash"], - "secondary": ["bash_it.sh"], + "relevant": [ + "lib/helpers.bash" + ], + "secondary": [ + "bash_it.sh" + ], "category": "semantic" }, { "query": "function to enable a bash-it component like plugin or alias", - "relevant": ["lib/helpers.bash"], + "relevant": [ + "lib/helpers.bash" + ], "secondary": [], "category": "api" }, { "query": "how command duration is measured and displayed in prompt", - "relevant": ["lib/command_duration.bash"], - "secondary": ["lib/preexec.bash"], + "relevant": [ + "lib/command_duration.bash" + ], + "secondary": [ + "lib/preexec.bash" + ], "category": "semantic" }, { "query": "battery level detection for shell prompt", - "relevant": ["lib/battery.bash"], + "relevant": [ + "lib/battery.bash" + ], "secondary": [], "category": "semantic" }, { "query": "bash-it search functionality for finding plugins and aliases", - "relevant": ["lib/search.bash"], - "secondary": ["lib/helpers.bash"], + "relevant": [ + "lib/search.bash" + ], + "secondary": [ + "lib/helpers.bash" + ], "category": "semantic" }, { "query": "logging utilities for bash-it debug output", - "relevant": ["lib/log.bash"], + "relevant": [ + "lib/log.bash" + ], "secondary": [], "category": "api" }, { "query": "color definitions and terminal color support", - "relevant": ["lib/colors.bash"], + "relevant": [ + "lib/colors.bash" + ], "secondary": [], "category": "semantic" }, { "query": "bash history configuration and deduplication", - "relevant": ["lib/history.bash"], - "secondary": ["plugins/available/history-eternal.plugin.bash"], + "relevant": [ + "lib/history.bash" + ], + "secondary": [ + "plugins/available/history-eternal.plugin.bash" + ], "category": "semantic" }, { - "query": "completion loading and management", - "relevant": ["lib/completion.bash"], - "secondary": ["plugins/available/alias-completion.plugin.bash"], + "query": "how tab completion scripts are sourced and activated", + "relevant": [ + "lib/completion.bash" + ], + "secondary": [ + "plugins/available/alias-completion.plugin.bash" + ], "category": "semantic" }, { "query": "preexec and precmd hook implementation", - "relevant": ["lib/preexec.bash"], - "secondary": ["lib/command_duration.bash"], + "relevant": [ + "lib/preexec.bash" + ], + "secondary": [ + "lib/command_duration.bash" + ], "category": "semantic" }, { "query": "pyenv integration plugin for bash", - "relevant": ["plugins/available/pyenv.plugin.bash"], + "relevant": [ + "plugins/available/pyenv.plugin.bash" + ], "secondary": [], "category": "keyword" }, { "query": "ssh agent plugin for managing ssh keys", - "relevant": ["plugins/available/ssh.plugin.bash"], + "relevant": [ + "plugins/available/ssh.plugin.bash" + ], "secondary": [], "category": "keyword" }, { "query": "jump plugin for bookmarking directories", - "relevant": ["plugins/available/jump.plugin.bash"], + "relevant": [ + "plugins/available/jump.plugin.bash" + ], "secondary": [], "category": "semantic" }, { "query": "node version manager nvm integration", - "relevant": ["plugins/available/node.plugin.bash"], + "relevant": [ + "plugins/available/node.plugin.bash" + ], "secondary": [], "category": "keyword" }, { "query": "rvm ruby version manager plugin", - "relevant": ["plugins/available/rvm.plugin.bash"], + "relevant": [ + "plugins/available/rvm.plugin.bash" + ], "secondary": [], "category": "keyword" }, { "query": "bash-it utility functions for string manipulation", - "relevant": ["lib/utilities.bash"], + "relevant": [ + "lib/utilities.bash" + ], "secondary": [], "category": "semantic" }, { "query": "hub github cli aliases and helpers", - "relevant": ["plugins/available/hub.plugin.bash"], + "relevant": [ + "plugins/available/hub.plugin.bash" + ], "secondary": [], "category": "keyword" }, { "query": "xterm terminal title setting functions", - "relevant": ["plugins/available/xterm.plugin.bash"], + "relevant": [ + "plugins/available/xterm.plugin.bash" + ], "secondary": [], "category": "semantic" }, { "query": "bash-it main entry point and initialization", - "relevant": ["bash_it.sh"], - "secondary": ["lib/helpers.bash"], + "relevant": [ + "bash_it.sh" + ], + "secondary": [ + "lib/helpers.bash" + ], "category": "semantic" }, { "query": "projects plugin for switching between project directories", - "relevant": ["plugins/available/projects.plugin.bash"], + "relevant": [ + "plugins/available/projects.plugin.bash" + ], "secondary": [], "category": "semantic" } diff --git a/benchmarks/annotations/fastapi.json b/benchmarks/annotations/fastapi.json index c40410d..50afa13 100644 --- a/benchmarks/annotations/fastapi.json +++ b/benchmarks/annotations/fastapi.json @@ -79,7 +79,7 @@ "category": "semantic" }, { - "query": "background tasks", + "query": "running work after returning an HTTP response without blocking", "relevant": [ "fastapi/background.py" ], diff --git a/benchmarks/annotations/gin.json b/benchmarks/annotations/gin.json index a826700..a826c1d 100644 --- a/benchmarks/annotations/gin.json +++ b/benchmarks/annotations/gin.json @@ -1,123 +1,180 @@ [ { "query": "how routes are grouped and registered", - "relevant": ["routergroup.go"], - "secondary": ["gin.go"], + "relevant": [ + "routergroup.go" + ], + "secondary": [ + "gin.go" + ], "category": "architecture" }, { "query": "radix tree path matching", - "relevant": ["tree.go"], + "relevant": [ + "tree.go" + ], "secondary": [], "category": "semantic" }, { "query": "request context lifecycle and helpers", - "relevant": ["context.go"], + "relevant": [ + "context.go" + ], "secondary": [], "category": "semantic" }, { - "query": "panic recovery middleware", - "relevant": ["recovery.go"], + "query": "catching runtime panics in request handlers and returning 500", + "relevant": [ + "recovery.go" + ], "secondary": [], "category": "semantic" }, { "query": "JSON request binding and validation", - "relevant": ["binding/json.go"], - "secondary": ["binding/default_validator.go"], + "relevant": [ + "binding/json.go" + ], + "secondary": [ + "binding/default_validator.go" + ], "category": "architecture" }, { "query": "how the Gin Engine embeds RouterGroup and uses Context per request", - "relevant": ["gin.go"], - "secondary": ["routergroup.go", "context.go"], + "relevant": [ + "gin.go" + ], + "secondary": [ + "routergroup.go", + "context.go" + ], "category": "architecture", - "seed": {"path": "gin.go", "line": 92}, - "related": ["context.go", "routergroup.go"] + "seed": { + "path": "gin.go", + "line": 92 + }, + "related": [ + "context.go", + "routergroup.go" + ] }, { "query": "logging middleware and access log format", - "relevant": ["logger.go"], + "relevant": [ + "logger.go" + ], "secondary": [], "category": "semantic" }, { "query": "JSON response rendering", - "relevant": ["render/json.go"], + "relevant": [ + "render/json.go" + ], "secondary": [], "category": "semantic" }, { "query": "HTML template rendering", - "relevant": ["render/html.go"], + "relevant": [ + "render/html.go" + ], "secondary": [], "category": "semantic" }, { "query": "query parameter and URL path variable extraction", - "relevant": ["context.go"], + "relevant": [ + "context.go" + ], "secondary": [], "category": "semantic" }, { "query": "multipart form and file upload handling", - "relevant": ["context.go"], + "relevant": [ + "context.go" + ], "secondary": [], "category": "semantic" }, { "query": "error types and per-request error collection", - "relevant": ["errors.go"], + "relevant": [ + "errors.go" + ], "secondary": [], "category": "semantic" }, { "query": "form data binding for URL-encoded requests", - "relevant": ["binding/form.go"], - "secondary": ["binding/default_validator.go"], + "relevant": [ + "binding/form.go" + ], + "secondary": [ + "binding/default_validator.go" + ], "category": "semantic" }, { "query": "how validators are plugged in for struct binding", - "relevant": ["binding/default_validator.go"], + "relevant": [ + "binding/default_validator.go" + ], "secondary": [], "category": "architecture" }, { "query": "how middleware is applied globally and to route groups", - "relevant": ["routergroup.go"], - "secondary": ["gin.go"], + "relevant": [ + "routergroup.go" + ], + "secondary": [ + "gin.go" + ], "category": "architecture" }, { "query": "utility helpers for path detection and content-type formatting", - "relevant": ["utils.go"], + "relevant": [ + "utils.go" + ], "secondary": [], "category": "semantic" }, { "query": "Engine", - "relevant": ["gin.go"], + "relevant": [ + "gin.go" + ], "secondary": [], "category": "symbol" }, { "query": "Context", - "relevant": ["context.go"], + "relevant": [ + "context.go" + ], "secondary": [], "category": "symbol" }, { "query": "RouterGroup", - "relevant": ["routergroup.go"], + "relevant": [ + "routergroup.go" + ], "secondary": [], "category": "symbol" }, { "query": "how Abort and response writing prevent further handler execution", - "relevant": ["context.go"], + "relevant": [ + "context.go" + ], "secondary": [], "category": "architecture" } diff --git a/benchmarks/annotations/gson.json b/benchmarks/annotations/gson.json index 70b3fc8..432034d 100644 --- a/benchmarks/annotations/gson.json +++ b/benchmarks/annotations/gson.json @@ -1,121 +1,169 @@ [ { "query": "main Gson API for toJson and fromJson", - "relevant": ["gson/src/main/java/com/google/gson/Gson.java"], + "relevant": [ + "gson/src/main/java/com/google/gson/Gson.java" + ], "secondary": [], "category": "semantic" }, { - "query": "GsonBuilder configuration and create", - "relevant": ["gson/src/main/java/com/google/gson/GsonBuilder.java"], + "query": "configuring custom serialization options before building Gson instance", + "relevant": [ + "gson/src/main/java/com/google/gson/GsonBuilder.java" + ], "secondary": [], "category": "semantic" }, { "query": "reflection-based field serialization and deserialization", - "relevant": ["gson/src/main/java/com/google/gson/internal/bind/ReflectiveTypeAdapterFactory.java"], + "relevant": [ + "gson/src/main/java/com/google/gson/internal/bind/ReflectiveTypeAdapterFactory.java" + ], "secondary": [], "category": "architecture" }, { "query": "TypeAdapter", - "relevant": ["gson/src/main/java/com/google/gson/TypeAdapter.java"], + "relevant": [ + "gson/src/main/java/com/google/gson/TypeAdapter.java" + ], "secondary": [], "category": "symbol" }, { "query": "JsonParser", - "relevant": ["gson/src/main/java/com/google/gson/JsonParser.java"], + "relevant": [ + "gson/src/main/java/com/google/gson/JsonParser.java" + ], "secondary": [], "category": "symbol" }, { "query": "streaming JSON reader and token parsing", - "relevant": ["gson/src/main/java/com/google/gson/stream/JsonReader.java"], + "relevant": [ + "gson/src/main/java/com/google/gson/stream/JsonReader.java" + ], "secondary": [], "category": "semantic" }, { "query": "streaming JSON writer and token generation", - "relevant": ["gson/src/main/java/com/google/gson/stream/JsonWriter.java"], + "relevant": [ + "gson/src/main/java/com/google/gson/stream/JsonWriter.java" + ], "secondary": [], "category": "semantic" }, { "query": "generic type token for parameterized types", - "relevant": ["gson/src/main/java/com/google/gson/reflect/TypeToken.java"], + "relevant": [ + "gson/src/main/java/com/google/gson/reflect/TypeToken.java" + ], "secondary": [], "category": "semantic" }, { "query": "serialization exclusion strategies for fields and classes", - "relevant": ["gson/src/main/java/com/google/gson/ExclusionStrategy.java"], - "secondary": ["gson/src/main/java/com/google/gson/GsonBuilder.java"], + "relevant": [ + "gson/src/main/java/com/google/gson/ExclusionStrategy.java" + ], + "secondary": [ + "gson/src/main/java/com/google/gson/GsonBuilder.java" + ], "category": "semantic" }, { "query": "field naming policy and key transformation", - "relevant": ["gson/src/main/java/com/google/gson/FieldNamingPolicy.java"], + "relevant": [ + "gson/src/main/java/com/google/gson/FieldNamingPolicy.java" + ], "secondary": [], "category": "semantic" }, { "query": "how custom serializers and deserializers are registered and resolved", - "relevant": ["gson/src/main/java/com/google/gson/GsonBuilder.java"], - "secondary": ["gson/src/main/java/com/google/gson/Gson.java"], + "relevant": [ + "gson/src/main/java/com/google/gson/GsonBuilder.java" + ], + "secondary": [ + "gson/src/main/java/com/google/gson/Gson.java" + ], "category": "architecture" }, { "query": "how null values are handled during serialization", - "relevant": ["gson/src/main/java/com/google/gson/Gson.java"], - "secondary": ["gson/src/main/java/com/google/gson/GsonBuilder.java"], + "relevant": [ + "gson/src/main/java/com/google/gson/Gson.java" + ], + "secondary": [ + "gson/src/main/java/com/google/gson/GsonBuilder.java" + ], "category": "architecture" }, { "query": "JSON element hierarchy and tree model", - "relevant": ["gson/src/main/java/com/google/gson/JsonElement.java"], + "relevant": [ + "gson/src/main/java/com/google/gson/JsonElement.java" + ], "secondary": [], "category": "semantic" }, { "query": "JSON array operations and element access", - "relevant": ["gson/src/main/java/com/google/gson/JsonArray.java"], + "relevant": [ + "gson/src/main/java/com/google/gson/JsonArray.java" + ], "secondary": [], "category": "semantic" }, { "query": "JSON object with named fields", - "relevant": ["gson/src/main/java/com/google/gson/JsonObject.java"], + "relevant": [ + "gson/src/main/java/com/google/gson/JsonObject.java" + ], "secondary": [], "category": "semantic" }, { "query": "how type adapter factories are registered and selected for a given type", - "relevant": ["gson/src/main/java/com/google/gson/Gson.java"], - "secondary": ["gson/src/main/java/com/google/gson/GsonBuilder.java"], + "relevant": [ + "gson/src/main/java/com/google/gson/Gson.java" + ], + "secondary": [ + "gson/src/main/java/com/google/gson/GsonBuilder.java" + ], "category": "architecture" }, { "query": "GsonBuilder", - "relevant": ["gson/src/main/java/com/google/gson/GsonBuilder.java"], + "relevant": [ + "gson/src/main/java/com/google/gson/GsonBuilder.java" + ], "secondary": [], "category": "symbol" }, { "query": "TypeToken", - "relevant": ["gson/src/main/java/com/google/gson/reflect/TypeToken.java"], + "relevant": [ + "gson/src/main/java/com/google/gson/reflect/TypeToken.java" + ], "secondary": [], "category": "symbol" }, { "query": "JsonReader", - "relevant": ["gson/src/main/java/com/google/gson/stream/JsonReader.java"], + "relevant": [ + "gson/src/main/java/com/google/gson/stream/JsonReader.java" + ], "secondary": [], "category": "symbol" }, { "query": "JsonObject", - "relevant": ["gson/src/main/java/com/google/gson/JsonObject.java"], + "relevant": [ + "gson/src/main/java/com/google/gson/JsonObject.java" + ], "secondary": [], "category": "symbol" } diff --git a/benchmarks/annotations/kotlinx-coroutines.json b/benchmarks/annotations/kotlinx-coroutines.json index b5a825a..4dc39f2 100644 --- a/benchmarks/annotations/kotlinx-coroutines.json +++ b/benchmarks/annotations/kotlinx-coroutines.json @@ -24,7 +24,7 @@ "category": "semantic" }, { - "query": "CoroutineScope and structured concurrency", + "query": "how coroutine lifetime is tied to a parent scope", "relevant": [ "kotlinx-coroutines-core/common/src/CoroutineScope.kt" ], diff --git a/benchmarks/annotations/libuv.json b/benchmarks/annotations/libuv.json index 02eac83..6b7c913 100644 --- a/benchmarks/annotations/libuv.json +++ b/benchmarks/annotations/libuv.json @@ -1,121 +1,183 @@ [ { "query": "how libuv implements the event loop run and tick", - "relevant": ["src/unix/core.c"], - "secondary": ["src/win/core.c"], + "relevant": [ + "src/unix/core.c" + ], + "secondary": [ + "src/win/core.c" + ], "category": "semantic" }, { "query": "timer implementation and heap-based scheduling", - "relevant": ["src/timer.c"], - "secondary": ["src/heap-inl.h"], + "relevant": [ + "src/timer.c" + ], + "secondary": [ + "src/heap-inl.h" + ], "category": "semantic" }, { "query": "thread pool and work queue for async operations", - "relevant": ["src/threadpool.c"], + "relevant": [ + "src/threadpool.c" + ], "secondary": [], "category": "semantic" }, { "query": "async handle for waking up the event loop from another thread", - "relevant": ["src/unix/async.c"], - "secondary": ["src/unix/core.c"], + "relevant": [ + "src/unix/async.c" + ], + "secondary": [ + "src/unix/core.c" + ], "category": "semantic" }, { "query": "file system operations like read write open stat", - "relevant": ["src/unix/fs.c"], + "relevant": [ + "src/unix/fs.c" + ], "secondary": [], "category": "semantic" }, { "query": "TCP stream connect and accept implementation", - "relevant": ["src/unix/tcp.c"], - "secondary": ["src/unix/stream.c"], + "relevant": [ + "src/unix/tcp.c" + ], + "secondary": [ + "src/unix/stream.c" + ], "category": "semantic" }, { "query": "UDP socket send and receive", - "relevant": ["src/unix/udp.c"], + "relevant": [ + "src/unix/udp.c" + ], "secondary": [], "category": "semantic" }, { - "query": "DNS getaddrinfo async resolution", - "relevant": ["src/unix/getaddrinfo.c"], - "secondary": ["src/threadpool.c"], + "query": "resolving hostnames asynchronously using the thread pool", + "relevant": [ + "src/unix/getaddrinfo.c" + ], + "secondary": [ + "src/threadpool.c" + ], "category": "semantic" }, { "query": "pipe IPC between processes", - "relevant": ["src/unix/pipe.c"], - "secondary": ["src/unix/stream.c"], + "relevant": [ + "src/unix/pipe.c" + ], + "secondary": [ + "src/unix/stream.c" + ], "category": "semantic" }, { "query": "child process spawning and management", - "relevant": ["src/unix/process.c"], + "relevant": [ + "src/unix/process.c" + ], "secondary": [], "category": "semantic" }, { "query": "signal handling integration with event loop", - "relevant": ["src/unix/signal.c"], + "relevant": [ + "src/unix/signal.c" + ], "secondary": [], "category": "semantic" }, { "query": "file system event watching with inotify or kqueue", - "relevant": ["src/unix/fsevents.c"], - "secondary": ["src/fs-poll.c"], + "relevant": [ + "src/unix/fsevents.c" + ], + "secondary": [ + "src/fs-poll.c" + ], "category": "semantic" }, { "query": "idle and prepare handle callbacks before blocking", - "relevant": ["src/unix/core.c"], + "relevant": [ + "src/unix/core.c" + ], "secondary": [], "category": "semantic" }, { "query": "random number generation using OS entropy", - "relevant": ["src/random.c"], - "secondary": ["src/unix/random-devurandom.c"], + "relevant": [ + "src/random.c" + ], + "secondary": [ + "src/unix/random-devurandom.c" + ], "category": "semantic" }, { "query": "shared library dlopen and dlsym wrapper", - "relevant": ["src/unix/dl.c"], + "relevant": [ + "src/unix/dl.c" + ], "secondary": [], "category": "api" }, { "query": "network interface address enumeration", - "relevant": ["src/unix/bsd-ifaddrs.c"], - "secondary": ["src/unix/linux.c"], + "relevant": [ + "src/unix/bsd-ifaddrs.c" + ], + "secondary": [ + "src/unix/linux.c" + ], "category": "semantic" }, { "query": "libuv handle reference counting and close", - "relevant": ["src/uv-common.c"], - "secondary": ["src/unix/core.c"], + "relevant": [ + "src/uv-common.c" + ], + "secondary": [ + "src/unix/core.c" + ], "category": "semantic" }, { "query": "thread creation and mutex synchronization primitives", - "relevant": ["src/unix/thread.c"], - "secondary": ["src/thread-common.c"], + "relevant": [ + "src/unix/thread.c" + ], + "secondary": [ + "src/thread-common.c" + ], "category": "semantic" }, { "query": "IDNA internationalized domain name encoding", - "relevant": ["src/idna.c"], + "relevant": [ + "src/idna.c" + ], "secondary": [], "category": "keyword" }, { "query": "tty terminal raw mode and window size", - "relevant": ["src/unix/tty.c"], + "relevant": [ + "src/unix/tty.c" + ], "secondary": [], "category": "semantic" } diff --git a/benchmarks/annotations/model2vec.json b/benchmarks/annotations/model2vec.json index 0db6869..a4bdf04 100644 --- a/benchmarks/annotations/model2vec.json +++ b/benchmarks/annotations/model2vec.json @@ -38,7 +38,7 @@ "category": "semantic" }, { - "query": "quantization of model weights", + "query": "reducing embedding precision to smaller integer representations", "relevant": [ "model2vec/quantization.py" ], diff --git a/benchmarks/annotations/rack.json b/benchmarks/annotations/rack.json index cd674d5..2266fad 100644 --- a/benchmarks/annotations/rack.json +++ b/benchmarks/annotations/rack.json @@ -8,7 +8,7 @@ "category": "semantic" }, { - "query": "HTTP response construction", + "query": "building and sending an HTTP reply with headers and body", "relevant": [ "lib/rack/response.rb" ], @@ -80,7 +80,7 @@ "category": "semantic" }, { - "query": "directory listing middleware", + "query": "serving a file index page for a folder on disk", "relevant": [ "lib/rack/directory.rb" ], @@ -104,7 +104,7 @@ "category": "semantic" }, { - "query": "multipart form data parsing", + "query": "splitting multipart/form-data bodies into individual fields", "relevant": [ "lib/rack/multipart.rb" ], diff --git a/benchmarks/results/970ee373c909.json b/benchmarks/results/970ee373c909.json new file mode 100644 index 0000000..e7a64c3 --- /dev/null +++ b/benchmarks/results/970ee373c909.json @@ -0,0 +1,1325 @@ +{ + "sha": "970ee373c9096c4779c387e716848a2d12e36ac4", + "model": "minishlab/potion-code-16M", + "summary": { + "ndcg10": 0.8248, + "p50_ms": 0.732, + "p90_ms": 3.519, + "p95_ms": 3.968, + "p99_ms": 4.273, + "index_ms": 470.0, + "by_category": { + "api": 0.6731, + "architecture": 0.7725, + "keyword": 0.7286, + "semantic": 0.823, + "symbol": 0.9426 + } + }, + "by_language": { + "bash": { + "repos": 3, + "ndcg10": 0.8283, + "p50_ms": 0.542, + "p90_ms": 0.614, + "p95_ms": 0.629, + "p99_ms": 0.638, + "index_ms": 118.2 + }, + "c": { + "repos": 3, + "ndcg10": 0.7125, + "p50_ms": 0.817, + "p90_ms": 1.036, + "p95_ms": 1.121, + "p99_ms": 1.252, + "index_ms": 1507.4 + }, + "cpp": { + "repos": 3, + "ndcg10": 0.922, + "p50_ms": 0.629, + "p90_ms": 4.249, + "p95_ms": 5.297, + "p99_ms": 5.65, + "index_ms": 773.6 + }, + "csharp": { + "repos": 3, + "ndcg10": 0.8288, + "p50_ms": 0.811, + "p90_ms": 5.363, + "p95_ms": 6.146, + "p99_ms": 7.717, + "index_ms": 461.1 + }, + "dart": { + "repos": 3, + "ndcg10": 0.7621, + "p50_ms": 0.596, + "p90_ms": 0.663, + "p95_ms": 0.676, + "p99_ms": 0.704, + "index_ms": 71.1 + }, + "elixir": { + "repos": 3, + "ndcg10": 0.8663, + "p50_ms": 0.563, + "p90_ms": 4.762, + "p95_ms": 5.059, + "p99_ms": 5.56, + "index_ms": 199.4 + }, + "go": { + "repos": 3, + "ndcg10": 0.8927, + "p50_ms": 0.599, + "p90_ms": 3.399, + "p95_ms": 3.874, + "p99_ms": 4.162, + "index_ms": 156.9 + }, + "haskell": { + "repos": 3, + "ndcg10": 0.7462, + "p50_ms": 0.704, + "p90_ms": 0.783, + "p95_ms": 0.8, + "p99_ms": 0.831, + "index_ms": 475.4 + }, + "java": { + "repos": 3, + "ndcg10": 0.8258, + "p50_ms": 1.186, + "p90_ms": 9.381, + "p95_ms": 13.008, + "p99_ms": 13.429, + "index_ms": 968.5 + }, + "javascript": { + "repos": 3, + "ndcg10": 0.8966, + "p50_ms": 0.444, + "p90_ms": 1.618, + "p95_ms": 1.656, + "p99_ms": 1.663, + "index_ms": 33.8 + }, + "kotlin": { + "repos": 3, + "ndcg10": 0.8039, + "p50_ms": 0.854, + "p90_ms": 4.38, + "p95_ms": 4.749, + "p99_ms": 5.5, + "index_ms": 244.5 + }, + "lua": { + "repos": 4, + "ndcg10": 0.7621, + "p50_ms": 0.801, + "p90_ms": 0.943, + "p95_ms": 0.981, + "p99_ms": 1.012, + "index_ms": 398.6 + }, + "php": { + "repos": 3, + "ndcg10": 0.8141, + "p50_ms": 0.914, + "p90_ms": 6.883, + "p95_ms": 6.98, + "p99_ms": 7.072, + "index_ms": 718.5 + }, + "python": { + "repos": 9, + "ndcg10": 0.8591, + "p50_ms": 0.511, + "p90_ms": 3.295, + "p95_ms": 3.431, + "p99_ms": 3.676, + "index_ms": 153.3 + }, + "ruby": { + "repos": 3, + "ndcg10": 0.8568, + "p50_ms": 0.599, + "p90_ms": 4.461, + "p95_ms": 5.513, + "p99_ms": 5.879, + "index_ms": 97.9 + }, + "rust": { + "repos": 3, + "ndcg10": 0.8378, + "p50_ms": 0.824, + "p90_ms": 5.184, + "p95_ms": 5.592, + "p99_ms": 5.914, + "index_ms": 495.2 + }, + "scala": { + "repos": 3, + "ndcg10": 0.864, + "p50_ms": 0.826, + "p90_ms": 4.046, + "p95_ms": 4.201, + "p99_ms": 4.366, + "index_ms": 384.2 + }, + "swift": { + "repos": 3, + "ndcg10": 0.829, + "p50_ms": 0.726, + "p90_ms": 3.779, + "p95_ms": 3.989, + "p99_ms": 4.55, + "index_ms": 237.3 + }, + "typescript": { + "repos": 3, + "ndcg10": 0.7185, + "p50_ms": 0.875, + "p90_ms": 4.638, + "p95_ms": 4.732, + "p99_ms": 4.929, + "index_ms": 467.2 + }, + "zig": { + "repos": 3, + "ndcg10": 0.8685, + "p50_ms": 0.82, + "p90_ms": 0.897, + "p95_ms": 0.917, + "p99_ms": 0.956, + "index_ms": 1437.9 + } + }, + "repos": [ + { + "repo": "abseil-cpp", + "language": "cpp", + "chunks": 3083, + "ndcg5": 0.913500228802621, + "ndcg10": 0.913500228802621, + "p50_ms": 0.8292504935525358, + "p90_ms": 7.617150302394293, + "p95_ms": 7.810029173560907, + "p99_ms": 8.350073028414043, + "index_ms": 1685.6430410116445, + "by_category": { + "architecture": 1.0, + "semantic": 0.9180003050701615, + "symbol": 0.8333333333333334 + } + }, + { + "repo": "aeson", + "language": "haskell", + "chunks": 393, + "ndcg5": 0.787707118843058, + "ndcg10": 0.8075975589033458, + "p50_ms": 0.4944580141454935, + "p90_ms": 0.571966715506278, + "p95_ms": 0.5749274016125128, + "p99_ms": 0.5902854906162247, + "index_ms": 166.1577920021955, + "by_category": { + "architecture": 0.6722706232293573, + "semantic": 0.852706537461342 + } + }, + { + "repo": "aiohttp", + "language": "python", + "chunks": 756, + "ndcg5": 0.7595501987615106, + "ndcg10": 0.8051055391429651, + "p50_ms": 0.6001669971738011, + "p90_ms": 4.058124992297962, + "p95_ms": 4.260000016074628, + "p99_ms": 4.692833602894098, + "index_ms": 244.19075000332668, + "by_category": { + "architecture": 0.8356195986270888, + "semantic": 0.6730976812902937, + "symbol": 1.0 + } + }, + { + "repo": "alamofire", + "language": "swift", + "chunks": 649, + "ndcg5": 0.9613147192765459, + "ndcg10": 0.9613147192765459, + "p50_ms": 0.555646009161137, + "p90_ms": 4.102428906480782, + "p95_ms": 4.371392005123199, + "p99_ms": 5.727611980400977, + "index_ms": 215.95041698310524, + "by_category": { + "architecture": 0.9732402630493958, + "semantic": 0.9369612360347936, + "symbol": 1.0 + } + }, + { + "repo": "axios", + "language": "javascript", + "chunks": 166, + "ndcg5": 0.8648468052243118, + "ndcg10": 0.8908186768484192, + "p50_ms": 0.6118754972703755, + "p90_ms": 2.6449463970493525, + "p95_ms": 2.7468059663078748, + "p99_ms": 2.757794796198141, + "index_ms": 59.07929100794718, + "by_category": { + "architecture": 0.6793305495640389, + "semantic": 0.9355245321275762, + "symbol": 1.0 + } + }, + { + "repo": "axum", + "language": "rust", + "chunks": 509, + "ndcg5": 0.7324356157188728, + "ndcg10": 0.7826858855802271, + "p50_ms": 0.6459999858634546, + "p90_ms": 3.5781167127424856, + "p95_ms": 3.7862982309889053, + "p99_ms": 4.027693233219907, + "index_ms": 176.26845798804425, + "by_category": { + "architecture": 0.7297596420238124, + "semantic": 0.8040593595314548, + "symbol": 0.7854023957026741 + } + }, + { + "repo": "bash-it", + "language": "bash", + "chunks": 723, + "ndcg5": 0.6075207382645395, + "ndcg10": 0.6574637191224815, + "p50_ms": 0.9457704873057082, + "p90_ms": 1.1140910966787487, + "p95_ms": 1.1449253026512451, + "p99_ms": 1.162151444295887, + "index_ms": 272.96220799325965, + "by_category": { + "api": 0.7153382790366966, + "keyword": 0.8261859507142916, + "semantic": 0.5836667746772907 + } + }, + { + "repo": "bats-core", + "language": "bash", + "chunks": 48, + "ndcg5": 0.9011859507142915, + "ndcg10": 0.9011859507142915, + "p50_ms": 0.3500414895825088, + "p90_ms": 0.3750874981051311, + "p95_ms": 0.3809270870988257, + "p99_ms": 0.3893190241069533, + "index_ms": 19.672916998388246, + "by_category": { + "architecture": 0.8231227867347022, + "semantic": 0.9432199620879166 + } + }, + { + "repo": "cats", + "language": "scala", + "chunks": 1254, + "ndcg5": 0.8632034061286296, + "ndcg10": 0.8632034061286296, + "p50_ms": 1.0174585040658712, + "p90_ms": 4.993083016597666, + "p95_ms": 5.037564286612906, + "p99_ms": 5.303280049120076, + "index_ms": 624.3844580021687, + "by_category": { + "architecture": 0.8467132018086354, + "semantic": 0.787721531533805, + "symbol": 1.0 + } + }, + { + "repo": "chi", + "language": "go", + "chunks": 262, + "ndcg5": 0.8121926566738839, + "ndcg10": 0.8342931456297593, + "p50_ms": 0.6979790050536394, + "p90_ms": 3.0531086900737137, + "p95_ms": 3.2149204896995798, + "p99_ms": 3.2249504869105294, + "index_ms": 100.07645800942555, + "by_category": { + "architecture": 0.6259028523654583, + "semantic": 0.9589921948412731, + "symbol": 0.8769765845238192 + } + }, + { + "repo": "circe", + "language": "scala", + "chunks": 192, + "ndcg5": 0.8064982009888298, + "ndcg10": 0.8064982009888298, + "p50_ms": 0.5579580029007047, + "p90_ms": 2.676883200183511, + "p95_ms": 2.80276310222689, + "p99_ms": 2.994852623087354, + "index_ms": 92.10324997548014, + "by_category": { + "architecture": 0.7261859507142916, + "semantic": 0.7902305513833007, + "symbol": 1.0 + } + }, + { + "repo": "click", + "language": "python", + "chunks": 315, + "ndcg5": 1.0, + "ndcg10": 1.0, + "p50_ms": 0.43116649612784386, + "p90_ms": 3.225312498398125, + "p95_ms": 3.296437485550996, + "p99_ms": 3.411387498199474, + "index_ms": 107.727334019728, + "by_category": { + "architecture": 1.0, + "semantic": 1.0, + "symbol": 1.0 + } + }, + { + "repo": "cobra", + "language": "go", + "chunks": 394, + "ndcg5": 0.967519867361079, + "ndcg10": 0.967519867361079, + "p50_ms": 0.5428124859463423, + "p90_ms": 3.5882539174053836, + "p95_ms": 4.683833655144554, + "p99_ms": 4.98276673577493, + "index_ms": 148.17358300206251, + "by_category": { + "architecture": 1.0, + "semantic": 0.94094521338378, + "symbol": 1.0 + } + }, + { + "repo": "commons-lang", + "language": "java", + "chunks": 3152, + "ndcg5": 0.8511907952337322, + "ndcg10": 0.8944264122460902, + "p50_ms": 0.9520830062683672, + "p90_ms": 8.81237501744181, + "p95_ms": 18.68483400903642, + "p99_ms": 19.11973401438445, + "index_ms": 1036.3422080117743, + "by_category": { + "architecture": 0.7216293209723186, + "semantic": 0.9012904781607812, + "symbol": 1.0 + } + }, + { + "repo": "curl", + "language": "c", + "chunks": 4444, + "ndcg5": 0.5564993486741835, + "ndcg10": 0.6602872366816288, + "p50_ms": 0.9339164971606806, + "p90_ms": 1.0266288998536766, + "p95_ms": 1.0529732011491433, + "p99_ms": 1.0709274309920147, + "index_ms": 1486.591041990323, + "by_category": { + "architecture": 0.5728575877940218, + "semantic": 0.7318205857714887 + } + }, + { + "repo": "dapper", + "language": "csharp", + "chunks": 411, + "ndcg5": 0.7946394630357186, + "ndcg10": 0.8457831557244532, + "p50_ms": 0.5663954943884164, + "p90_ms": 3.298737507429906, + "p95_ms": 4.225560402846899, + "p99_ms": 7.969478482264088, + "index_ms": 159.68774998327717, + "by_category": { + "architecture": 0.5801175685032033, + "semantic": 0.920327929761907, + "symbol": 0.8769765845238192 + } + }, + { + "repo": "dio", + "language": "dart", + "chunks": 153, + "ndcg5": 0.6945949461156704, + "ndcg10": 0.6945949461156704, + "p50_ms": 0.5763334920629859, + "p90_ms": 0.6571332894964144, + "p95_ms": 0.6729122003889644, + "p99_ms": 0.7406160418759099, + "index_ms": 60.03125000279397, + "by_category": { + "architecture": 0.6421082758814111, + "semantic": 0.7077166136742353 + } + }, + { + "repo": "ecto", + "language": "elixir", + "chunks": 755, + "ndcg5": 0.8822031319548903, + "ndcg10": 0.9009508786447862, + "p50_ms": 0.5291670095175505, + "p90_ms": 6.847358192317188, + "p95_ms": 7.154761895071715, + "p99_ms": 7.302152381744236, + "index_ms": 289.3332499952521, + "by_category": { + "architecture": 1.0, + "semantic": 0.9220874569753447, + "symbol": 0.7103099178571526 + } + }, + { + "repo": "exposed", + "language": "kotlin", + "chunks": 744, + "ndcg5": 0.695046716481194, + "ndcg10": 0.74044411434417, + "p50_ms": 0.9022710146382451, + "p90_ms": 4.016387500450947, + "p95_ms": 4.690670862328263, + "p99_ms": 6.131567780394104, + "index_ms": 262.72441699984483, + "by_category": { + "architecture": 0.6547543623015969, + "semantic": 0.7031870857127577, + "symbol": 1.0 + } + }, + { + "repo": "express", + "language": "javascript", + "chunks": 52, + "ndcg5": 0.8968751674977092, + "ndcg10": 0.9237609540438003, + "p50_ms": 0.28797899722121656, + "p90_ms": 0.31016670109238476, + "p95_ms": 0.31176908378256485, + "p99_ms": 0.31332101294538006, + "index_ms": 20.756458019604906, + "by_category": { + "architecture": 0.9301365705673165, + "semantic": 0.8964263086904791, + "symbol": 1.0 + } + }, + { + "repo": "fastapi", + "language": "python", + "chunks": 597, + "ndcg5": 0.7297297540684241, + "ndcg10": 0.7869838171738259, + "p50_ms": 0.5010619934182614, + "p90_ms": 3.5294955974677578, + "p95_ms": 3.6566777562256902, + "p99_ms": 3.669502743287012, + "index_ms": 189.79366699932143, + "by_category": { + "architecture": 0.6392000559545565, + "semantic": 0.7831594939743279, + "symbol": 1.0 + } + }, + { + "repo": "flask", + "language": "python", + "chunks": 291, + "ndcg5": 0.8847644106288912, + "ndcg10": 0.9039540836573546, + "p50_ms": 0.4375829885248095, + "p90_ms": 2.853040990885347, + "p95_ms": 2.9137080127839, + "p99_ms": 3.5470743954647337, + "index_ms": 95.15925002051517, + "by_category": { + "architecture": 0.8548201992475203, + "semantic": 0.9090267601883458, + "symbol": 1.0 + } + }, + { + "repo": "fmtlib", + "language": "cpp", + "chunks": 476, + "ndcg5": 0.9715338279036697, + "ndcg10": 0.9715338279036697, + "p50_ms": 0.46912499237805605, + "p90_ms": 0.8309708035085395, + "p95_ms": 3.596564251347445, + "p99_ms": 3.657079247641377, + "index_ms": 344.41195797990076, + "by_category": { + "architecture": 1.0, + "semantic": 0.9593340398623853, + "symbol": 1.0 + } + }, + { + "repo": "gin", + "language": "go", + "chunks": 576, + "ndcg5": 0.8763658848604823, + "ndcg10": 0.8763658848604823, + "p50_ms": 0.5567089974647388, + "p90_ms": 3.554379497654736, + "p95_ms": 3.724439893267118, + "p99_ms": 4.279587978380731, + "index_ms": 222.34895901056007, + "by_category": { + "architecture": 0.9638734584787886, + "semantic": 0.7949160860306287, + "symbol": 1.0 + } + }, + { + "repo": "gson", + "language": "java", + "chunks": 1460, + "ndcg5": 0.850704076119467, + "ndcg10": 0.8616244479603751, + "p50_ms": 1.0485829989193007, + "p90_ms": 6.1269542144145825, + "p95_ms": 6.921254507324193, + "p99_ms": 7.236084493633824, + "index_ms": 472.7177080058027, + "by_category": { + "architecture": 0.677192486230418, + "semantic": 0.8523719014285831, + "symbol": 1.0 + } + }, + { + "repo": "guzzle", + "language": "php", + "chunks": 206, + "ndcg5": 0.9140510731804075, + "ndcg10": 0.9140510731804075, + "p50_ms": 0.6061874883016571, + "p90_ms": 2.946908288868144, + "p95_ms": 3.068405970407184, + "p99_ms": 3.08091481187148, + "index_ms": 65.82129199523479, + "by_category": { + "architecture": 1.0, + "semantic": 0.8677708818160114, + "symbol": 1.0 + } + }, + { + "repo": "http-dart", + "language": "dart", + "chunks": 89, + "ndcg5": 0.7566124015300086, + "ndcg10": 0.784641880764834, + "p50_ms": 0.5384374962886795, + "p90_ms": 0.5727659910917282, + "p95_ms": 0.5879951961105689, + "p99_ms": 0.6005990382982418, + "index_ms": 38.15395801211707, + "by_category": { + "architecture": 0.75, + "semantic": 0.7884909786275932 + } + }, + { + "repo": "http4s", + "language": "scala", + "chunks": 952, + "ndcg5": 0.9221719901717009, + "ndcg10": 0.9221719901717009, + "p50_ms": 0.9017290140036494, + "p90_ms": 4.468604709836655, + "p95_ms": 4.762693090015091, + "p99_ms": 4.801105012302287, + "index_ms": 436.11662500188686, + "by_category": { + "architecture": 0.9732402630493958, + "semantic": 0.8945513581632737, + "symbol": 1.0 + } + }, + { + "repo": "httpx", + "language": "python", + "chunks": 248, + "ndcg5": 0.879316171195208, + "ndcg10": 0.8890486663184692, + "p50_ms": 0.45183300971984863, + "p90_ms": 2.636290999362245, + "p95_ms": 2.9921669920440763, + "p99_ms": 3.0269334034528583, + "index_ms": 80.91666700784117, + "by_category": { + "architecture": 0.8281337292123195, + "semantic": 0.8747873209112909, + "symbol": 1.0 + } + }, + { + "repo": "jackson-databind", + "language": "java", + "chunks": 4570, + "ndcg5": 0.6754072534454754, + "ndcg10": 0.7212470920357018, + "p50_ms": 1.5559375169686973, + "p90_ms": 13.204116708948277, + "p95_ms": 13.41895654622931, + "p99_ms": 13.932557707303204, + "index_ms": 1396.5409579977859, + "by_category": { + "architecture": 0.6403142945053555, + "semantic": 0.6233581306024223, + "symbol": 0.9355245321275764 + } + }, + { + "repo": "kotlinx-coroutines", + "language": "kotlin", + "chunks": 884, + "ndcg5": 0.8780803155822425, + "ndcg10": 0.8958906749376437, + "p50_ms": 0.7216249941848218, + "p90_ms": 4.30800387985073, + "p95_ms": 4.557625307643321, + "p99_ms": 5.1991914698737665, + "index_ms": 324.2819999868516, + "by_category": { + "architecture": 0.8102255193577976, + "semantic": 0.8919383529056771, + "symbol": 1.0 + } + }, + { + "repo": "ktor", + "language": "kotlin", + "chunks": 425, + "ndcg5": 0.7385032847341471, + "ndcg10": 0.775416020293766, + "p50_ms": 0.9371670021209866, + "p90_ms": 4.8144874890567735, + "p95_ms": 4.999941655842122, + "p99_ms": 5.170054728805553, + "index_ms": 146.5881670010276, + "by_category": { + "architecture": 0.634511444336826, + "semantic": 0.7238200422167912, + "symbol": 1.0 + } + }, + { + "repo": "laravel-framework", + "language": "php", + "chunks": 6197, + "ndcg5": 0.6294399888351122, + "ndcg10": 0.6678420402122851, + "p50_ms": 1.2049585056956857, + "p90_ms": 13.890062519931234, + "p95_ms": 14.055275001737755, + "p99_ms": 14.30075499083614, + "index_ms": 1954.9860830011312, + "by_category": { + "architecture": 0.6041947436776243, + "semantic": 0.6662830938812081, + "symbol": 0.7827324383928644 + } + }, + { + "repo": "lazy.nvim", + "language": "lua", + "chunks": 300, + "ndcg5": 0.6371951400189322, + "ndcg10": 0.6989634817893211, + "p50_ms": 0.6556875014211982, + "p90_ms": 0.685125301242806, + "p95_ms": 0.6889041847898625, + "p99_ms": 0.7349480382981709, + "index_ms": 117.16379100107588, + "by_category": { + "architecture": 0.7937228666330852, + "semantic": 0.6214330760080596 + } + }, + { + "repo": "libuv", + "language": "c", + "chunks": 1345, + "ndcg5": 0.5778481246570202, + "ndcg10": 0.6109903736184, + "p50_ms": 0.6856250111013651, + "p90_ms": 0.8749083906877787, + "p95_ms": 0.9644402016419918, + "p99_ms": 1.1408544436562804, + "index_ms": 496.57279101666063, + "by_category": { + "api": 0.6309297535714575, + "keyword": 0.6309297535714575, + "semantic": 0.608774886956949 + } + }, + { + "repo": "messagepack-csharp", + "language": "csharp", + "chunks": 1125, + "ndcg5": 0.8625205636356418, + "ndcg10": 0.8695839122786332, + "p50_ms": 0.9627080144127831, + "p90_ms": 6.021950606373139, + "p95_ms": 6.059056255617179, + "p99_ms": 6.05991124000866, + "index_ms": 480.8446250099223, + "by_category": { + "architecture": 0.622590627025877, + "semantic": 0.8779239708299064, + "symbol": 1.0 + } + }, + { + "repo": "mini.nvim", + "language": "lua", + "chunks": 2156, + "ndcg5": 0.9815464876785729, + "ndcg10": 0.9815464876785729, + "p50_ms": 0.6606874958379194, + "p90_ms": 0.9476163802901285, + "p95_ms": 1.0801586511661299, + "p99_ms": 1.106631736329291, + "index_ms": 933.9205829892308, + "by_category": { + "architecture": 1.0, + "semantic": 0.9769331095982161 + } + }, + { + "repo": "model2vec", + "language": "python", + "chunks": 107, + "ndcg5": 0.6563614357577399, + "ndcg10": 0.6955916766562531, + "p50_ms": 0.529708486283198, + "p90_ms": 2.2740503103705123, + "p95_ms": 2.3240916401846334, + "p99_ms": 2.348284730105661, + "index_ms": 38.93433400662616, + "by_category": { + "architecture": 0.6343453280002408, + "semantic": 0.7084563429888835, + "symbol": 0.7956176024115139 + } + }, + { + "repo": "monolog", + "language": "php", + "chunks": 417, + "ndcg5": 0.8516433990956823, + "ndcg10": 0.8605053634348847, + "p50_ms": 0.9297914948547259, + "p90_ms": 3.8133212132379413, + "p95_ms": 3.815861044859048, + "p99_ms": 3.8333722107927315, + "index_ms": 134.76529202307574, + "by_category": { + "architecture": 0.619392015186447, + "semantic": 0.9113147192765458, + "symbol": 1.0 + } + }, + { + "repo": "newtonsoft-json", + "language": "csharp", + "chunks": 2152, + "ndcg5": 0.7249554830799518, + "ndcg10": 0.7711268908457121, + "p50_ms": 0.9036455012392253, + "p90_ms": 6.76765830430668, + "p95_ms": 8.154551748884844, + "p99_ms": 9.121176743647082, + "index_ms": 742.851666000206, + "by_category": { + "architecture": 0.8229172249923645, + "semantic": 0.6804576788145502, + "symbol": 1.0 + } + }, + { + "repo": "nlohmann-json", + "language": "cpp", + "chunks": 791, + "ndcg5": 0.8699118594962764, + "ndcg10": 0.8808322313371845, + "p50_ms": 0.5889790045330301, + "p90_ms": 4.298400005791336, + "p95_ms": 4.4830625265603885, + "p99_ms": 4.943812495912424, + "index_ms": 290.78579202177934, + "by_category": { + "architecture": 0.8478663329217984, + "semantic": 0.8681580296291103, + "symbol": 1.0 + } + }, + { + "repo": "nvim-lspconfig", + "language": "lua", + "chunks": 1055, + "ndcg5": 0.5355159313011153, + "ndcg10": 0.5828310317556099, + "p50_ms": 1.3015625008847564, + "p90_ms": 1.4929920027498156, + "p95_ms": 1.5066961466800421, + "p99_ms": 1.5166392165701836, + "index_ms": 360.0984160148073, + "by_category": { + "architecture": 0.42896124839380506, + "semantic": 0.6099845229371049 + } + }, + { + "repo": "nvm", + "language": "bash", + "chunks": 153, + "ndcg5": 0.9261859507142916, + "ndcg10": 0.9261859507142916, + "p50_ms": 0.32964549609459937, + "p90_ms": 0.3522461949614808, + "p95_ms": 0.35987144510727376, + "p99_ms": 0.3623406676342711, + "index_ms": 61.90029199933633, + "by_category": { + "architecture": 0.8154648767857288, + "semantic": 0.9384882922619097 + } + }, + { + "repo": "pandoc", + "language": "haskell", + "chunks": 3090, + "ndcg5": 0.6333247437591728, + "ndcg10": 0.6650429102090386, + "p50_ms": 1.196875498862937, + "p90_ms": 1.3341125013539568, + "p95_ms": 1.3731541534070857, + "p99_ms": 1.4381972225965, + "index_ms": 1206.3229589839466, + "by_category": { + "architecture": 0.6368991050595311, + "semantic": 0.6838054469753768 + } + }, + { + "repo": "phoenix", + "language": "elixir", + "chunks": 546, + "ndcg5": 0.7696427696468264, + "ndcg10": 0.7848567078740838, + "p50_ms": 0.6020000146236271, + "p90_ms": 4.179750208277255, + "p95_ms": 4.409966417006214, + "p99_ms": 5.269526878255419, + "index_ms": 206.03966698399745, + "by_category": { + "architecture": 0.8547262294684788, + "semantic": 0.8270092609025553, + "symbol": 0.47689218602446437 + } + }, + { + "repo": "plug", + "language": "elixir", + "chunks": 249, + "ndcg5": 0.9130929753571457, + "ndcg10": 0.9130929753571457, + "p50_ms": 0.5592915113084018, + "p90_ms": 3.2589080132311214, + "p95_ms": 3.6127684725215663, + "p99_ms": 4.107687293435446, + "index_ms": 102.80529101146385, + "by_category": { + "architecture": 1.0, + "semantic": 0.902209268112247, + "symbol": 0.8769765845238192 + } + }, + { + "repo": "pydantic", + "language": "python", + "chunks": 1518, + "ndcg5": 0.7393950348587884, + "ndcg10": 0.7605345265791209, + "p50_ms": 0.6797500100219622, + "p90_ms": 5.393332810490392, + "p95_ms": 5.49158815847477, + "p99_ms": 5.970451237808446, + "index_ms": 491.5524590178393, + "by_category": { + "architecture": 0.7517473446718608, + "semantic": 0.7577007889556063, + "symbol": 0.7773705614469083 + } + }, + { + "repo": "rack", + "language": "ruby", + "chunks": 249, + "ndcg5": 0.8884601594287914, + "ndcg10": 0.8884601594287914, + "p50_ms": 0.5715625011362135, + "p90_ms": 3.8676667958498014, + "p95_ms": 5.202251691662239, + "p99_ms": 6.1657831483171295, + "index_ms": 94.19866697862744, + "by_category": { + "architecture": 1.0, + "semantic": 0.7992282869718244, + "symbol": 1.0 + } + }, + { + "repo": "rails", + "language": "ruby", + "chunks": 465, + "ndcg5": 0.8788952563203779, + "ndcg10": 0.8788952563203779, + "p50_ms": 0.8582500013289973, + "p90_ms": 4.35437909618486, + "p95_ms": 6.160982717119623, + "p99_ms": 6.192396547703538, + "index_ms": 167.99283301224932, + "by_category": { + "architecture": 0.815634157070918, + "semantic": 1.0, + "symbol": 0.809299428192324 + } + }, + { + "repo": "redis", + "language": "c", + "chunks": 6289, + "ndcg5": 0.8661732909393883, + "ndcg10": 0.8661732909393883, + "p50_ms": 0.8301460038637742, + "p90_ms": 1.2054124934365975, + "p95_ms": 1.3458958710543814, + "p99_ms": 1.5438127913512285, + "index_ms": 2538.9930000237655, + "by_category": { + "architecture": 0.8761859507142915, + "semantic": 0.8561606311644849 + } + }, + { + "repo": "redux", + "language": "javascript", + "chunks": 53, + "ndcg5": 0.8494076946336916, + "ndcg10": 0.8753031461393366, + "p50_ms": 0.4324369947426021, + "p90_ms": 1.899071186198853, + "p95_ms": 1.9089027016889304, + "p99_ms": 1.9175469491165131, + "index_ms": 21.432540990645066, + "by_category": { + "architecture": 0.756966639313657, + "semantic": 0.884918120767199, + "symbol": 1.0 + } + }, + { + "repo": "requests", + "language": "python", + "chunks": 169, + "ndcg5": 0.9454570258581952, + "ndcg10": 0.9454570258581952, + "p50_ms": 0.42575049155857414, + "p90_ms": 2.7819084149086852, + "p95_ms": 3.041752708668355, + "p99_ms": 3.173516942479182, + "index_ms": 54.52891701133922, + "by_category": { + "architecture": 0.9144279211792, + "semantic": 0.9385181336136883, + "symbol": 1.0 + } + }, + { + "repo": "riverpod", + "language": "dart", + "chunks": 316, + "ndcg5": 0.7920624189796882, + "ndcg10": 0.8071139187628873, + "p50_ms": 0.6745620048604906, + "p90_ms": 0.7586540799820796, + "p95_ms": 0.7670639461139217, + "p99_ms": 0.7712127902777866, + "index_ms": 114.99820899916813, + "by_category": { + "architecture": 0.7542345811355592, + "semantic": 0.8355874082545255 + } + }, + { + "repo": "rxswift", + "language": "swift", + "chunks": 686, + "ndcg5": 0.7136381417190647, + "ndcg10": 0.7399761285665949, + "p50_ms": 0.7993124891072512, + "p90_ms": 3.4332375100348145, + "p95_ms": 3.5774166404735297, + "p99_ms": 3.769949729321524, + "index_ms": 216.85858300770633, + "by_category": { + "architecture": 0.5, + "semantic": 0.7199681714221265, + "symbol": 1.0 + } + }, + { + "repo": "serde", + "language": "rust", + "chunks": 1164, + "ndcg5": 0.7430676558073394, + "ndcg10": 0.7755075663132924, + "p50_ms": 0.9216255130013451, + "p90_ms": 4.495849995873869, + "p95_ms": 4.833158332621679, + "p99_ms": 5.073065262986347, + "index_ms": 381.73016702057794, + "by_category": { + "architecture": 0.7974500308912245, + "semantic": 0.6726085028922673, + "symbol": 0.875 + } + }, + { + "repo": "sinatra", + "language": "ruby", + "chunks": 68, + "ndcg5": 0.8030803155822426, + "ndcg10": 0.8030803155822426, + "p50_ms": 0.3680204972624779, + "p90_ms": 5.16103720292449, + "p95_ms": 5.175233329646289, + "p99_ms": 5.277580274268985, + "index_ms": 31.613082974217832, + "by_category": { + "architecture": 0.41232126232897015, + "semantic": 0.8888888888888888, + "symbol": 1.0 + } + }, + { + "repo": "starlette", + "language": "python", + "chunks": 213, + "ndcg5": 0.9360462354097291, + "ndcg10": 0.945257016534361, + "p50_ms": 0.5403750110417604, + "p90_ms": 2.9055000049993396, + "p95_ms": 2.9062080138828605, + "p99_ms": 3.247208817629144, + "index_ms": 76.58579197595827, + "by_category": { + "architecture": 0.8954906679292346, + "semantic": 1.0, + "symbol": 1.0 + } + }, + { + "repo": "telescope.nvim", + "language": "lua", + "chunks": 540, + "ndcg5": 0.7850340567062908, + "ndcg10": 0.7850340567062908, + "p50_ms": 0.5876040086150169, + "p90_ms": 0.6455165974330157, + "p95_ms": 0.6494952132925391, + "p99_ms": 0.6905990513041614, + "index_ms": 183.24341700645164, + "by_category": { + "architecture": 0.8557660725862154, + "semantic": 0.7469475866171005 + } + }, + { + "repo": "tokio", + "language": "rust", + "chunks": 2730, + "ndcg5": 0.9459860394574093, + "ndcg10": 0.9552148242963877, + "p50_ms": 0.9058540017576888, + "p90_ms": 7.477724691852928, + "p95_ms": 8.156581241928507, + "p99_ms": 8.640416254347656, + "index_ms": 927.6891660119873, + "by_category": { + "architecture": 0.8507160809879593, + "semantic": 1.0, + "symbol": 1.0 + } + }, + { + "repo": "trpc", + "language": "typescript", + "chunks": 362, + "ndcg5": 0.7517036349312507, + "ndcg10": 0.7810815764501158, + "p50_ms": 0.8789169951342046, + "p90_ms": 3.35258720733691, + "p95_ms": 3.3583833632292226, + "p99_ms": 3.428810285986401, + "index_ms": 123.3465000113938, + "by_category": { + "architecture": 0.6937431130989311, + "semantic": 0.724526660601552, + "symbol": 1.0 + } + }, + { + "repo": "vapor", + "language": "swift", + "chunks": 780, + "ndcg5": 0.7328014081758261, + "ndcg10": 0.7858329160889163, + "p50_ms": 0.822000001790002, + "p90_ms": 3.8027327042073016, + "p95_ms": 4.016905893513467, + "p99_ms": 4.15101397986291, + "index_ms": 279.160750011215, + "by_category": { + "architecture": 0.42599353221896225, + "semantic": 0.8170484089372457, + "symbol": 1.0 + } + }, + { + "repo": "vitest", + "language": "typescript", + "chunks": 1079, + "ndcg5": 0.6517782560805999, + "ndcg10": 0.7024504745746012, + "p50_ms": 0.8615624828962609, + "p90_ms": 4.686112503986806, + "p95_ms": 4.898081258579623, + "p99_ms": 5.026616264076438, + "index_ms": 361.0897080216091, + "by_category": { + "architecture": 0.5291699572630004, + "semantic": 0.7158172498103655, + "symbol": 1.0 + } + }, + { + "repo": "xmonad", + "language": "haskell", + "chunks": 123, + "ndcg5": 0.7558852054218812, + "ndcg10": 0.7661043253013055, + "p50_ms": 0.4207500023767352, + "p90_ms": 0.4441335971932858, + "p95_ms": 0.4524268093518913, + "p99_ms": 0.4633525782264769, + "index_ms": 53.859832987654954, + "by_category": { + "architecture": 0.7998908847793088, + "semantic": 0.7435799523159697 + } + }, + { + "repo": "zig", + "language": "zig", + "chunks": 13059, + "ndcg5": 0.8696394630357187, + "ndcg10": 0.8696394630357187, + "p50_ms": 1.3877915043849498, + "p90_ms": 1.5559798222966492, + "p95_ms": 1.5922357531962916, + "p99_ms": 1.6103807365288958, + "index_ms": 3664.8645419918466, + "by_category": { + "architecture": 0.6666666666666666, + "semantic": 0.9054581918067278 + } + }, + { + "repo": "zig-clap", + "language": "zig", + "chunks": 99, + "ndcg5": 0.9130929753571457, + "ndcg10": 0.9130929753571457, + "p50_ms": 0.42312500590924174, + "p90_ms": 0.43995862070005387, + "p95_ms": 0.45142471790313726, + "p99_ms": 0.4832185292616486, + "index_ms": 58.37470799451694, + "by_category": { + "architecture": 1.0, + "semantic": 0.9034366392857175 + } + }, + { + "repo": "zls", + "language": "zig", + "chunks": 1300, + "ndcg5": 0.8077324383928645, + "ndcg10": 0.8227839381760635, + "p50_ms": 0.6501879979623482, + "p90_ms": 0.6950963812414557, + "p95_ms": 0.7084559314535, + "p99_ms": 0.77302477118792, + "index_ms": 590.3140000009444, + "by_category": { + "architecture": 0.7946985004009851, + "semantic": 0.837906866208798 + } + }, + { + "repo": "zod", + "language": "typescript", + "chunks": 1777, + "ndcg5": 0.6721003911969763, + "ndcg10": 0.6721003911969763, + "p50_ms": 0.8834789914544672, + "p90_ms": 5.875833603204228, + "p95_ms": 5.938147599226795, + "p99_ms": 6.332429532776586, + "index_ms": 917.2471670026425, + "by_category": { + "architecture": 0.6577324383928644, + "semantic": 0.6393136977206204, + "symbol": 0.8333333333333334 + } + } + ] +} diff --git a/benchmarks/run_benchmark.py b/benchmarks/run_benchmark.py index da80879..c19dd19 100644 --- a/benchmarks/run_benchmark.py +++ b/benchmarks/run_benchmark.py @@ -4,7 +4,8 @@ import subprocess import sys import time -from dataclasses import asdict, dataclass +from collections import defaultdict +from dataclasses import asdict, dataclass, field from pathlib import Path from typing import cast @@ -49,6 +50,7 @@ class RepoResult: p95_ms: float p99_ms: float index_ms: float + by_category: dict[str, float] = field(default_factory=dict) def _dcg(relevances: list[int]) -> float: @@ -68,11 +70,14 @@ def _ndcg_at_k(relevant_ranks: list[int], n_relevant: int, k: int) -> float: return _dcg(relevances) / ideal if ideal > 0 else 0.0 -def _evaluate(index: SembleIndex, tasks: list[Task], *, verbose: bool = False) -> tuple[float, float, list[float]]: - """Return mean NDCG@5, NDCG@10, and median query latency (ms) across all tasks.""" +def _evaluate( + index: SembleIndex, tasks: list[Task], *, verbose: bool = False +) -> tuple[float, float, list[float], dict[str, float]]: + """Return mean NDCG@5, NDCG@10, median query latency (ms), and per-category NDCG@10.""" ndcg5_sum = 0.0 ndcg10_sum = 0.0 latencies: list[float] = [] + cat_ndcg10: dict[str, list[float]] = defaultdict(list) for task in tasks: query_latencies: list[float] = [] @@ -85,15 +90,14 @@ def _evaluate(index: SembleIndex, tasks: list[Task], *, verbose: bool = False) - latencies.append(float(np.median(query_latencies))) relevant_ranks = [rank for target in task.all_relevant if (rank := _target_rank(results, target)) is not None] - n_relevant = sum( - 1 - for target in task.all_relevant - if any(target_matches_location(c.file_path, c.start_line, c.end_line, target) for c in index.chunks) - ) + # Use annotation count as ideal, not index coverage. If the indexer drops a + # target file, ideal DCG should not shrink and make NDCG look artificially good. + n_relevant = len(task.all_relevant) q_ndcg5 = _ndcg_at_k(relevant_ranks, n_relevant, 5) q_ndcg10 = _ndcg_at_k(relevant_ranks, n_relevant, 10) ndcg5_sum += q_ndcg5 ndcg10_sum += q_ndcg10 + cat_ndcg10[task.category or "unknown"].append(q_ndcg10) if verbose: cat = task.category or "?" @@ -109,7 +113,8 @@ def _evaluate(index: SembleIndex, tasks: list[Task], *, verbose: bool = False) - print(f" top-5: {top_files}", file=sys.stderr) total = len(tasks) - return ndcg5_sum / total, ndcg10_sum / total, latencies + by_category = {cat: sum(vals) / len(vals) for cat, vals in sorted(cat_ndcg10.items())} + return ndcg5_sum / total, ndcg10_sum / total, latencies, by_category def _print_summary(results: list[RepoResult]) -> None: @@ -175,6 +180,16 @@ def _print_summary(results: list[RepoResult]) -> None: print(f" {'q-p99':<28} " + " ".join(p99_row), file=sys.stderr) print(f" {'index':<28} " + " ".join(index_row), file=sys.stderr) + # Per-category NDCG@10 summary (flat mean across all repos). + all_categories = sorted({cat for r in results for cat in r.by_category}) + if all_categories: + print(file=sys.stderr) + print("By category (NDCG@10, mean over all repos)", file=sys.stderr) + for cat in all_categories: + vals = [r.by_category[cat] for r in results if cat in r.by_category] + mean_val = sum(vals) / len(vals) if vals else 0.0 + print(f" {cat:<16} {mean_val:.3f} (n={len(vals)} repos)", file=sys.stderr) + def _bench_quality( repo_tasks: dict[str, list[Task]], model: StaticModel, specs: dict[str, RepoSpec], *, verbose: bool = False @@ -195,7 +210,7 @@ def _bench_quality( started = time.perf_counter() index = SembleIndex.from_path(spec.benchmark_dir, model=model) index_ms = (time.perf_counter() - started) * 1000 - ndcg5, ndcg10, latencies = _evaluate(index, tasks, verbose=verbose) + ndcg5, ndcg10, latencies, by_category = _evaluate(index, tasks, verbose=verbose) p50, p90, p95, p99 = np.percentile(latencies, [50, 90, 95, 99]).tolist() result = RepoResult( repo=repo, @@ -208,6 +223,7 @@ def _bench_quality( p95_ms=p95, p99_ms=p99, index_ms=index_ms, + by_category=by_category, ) results.append(result) print( @@ -241,6 +257,16 @@ def _save_results(results: list[RepoResult]) -> None: for lang, grouped in by_language.items() } n_langs = len(lang_means) + + # Aggregate per-category NDCG@10 across all repos (flat mean over all tasks). + all_categories: set[str] = set() + for r in results: + all_categories.update(r.by_category) + cat_means: dict[str, float] = {} + for cat in sorted(all_categories): + vals = [r.by_category[cat] for r in results if cat in r.by_category] + cat_means[cat] = round(sum(vals) / len(vals), 4) if vals else 0.0 + output = { "sha": sha, "model": _DEFAULT_MODEL_NAME, @@ -251,6 +277,7 @@ def _save_results(results: list[RepoResult]) -> None: "p95_ms": round(sum(v["p95_ms"] for v in lang_means.values()) / n_langs, 3), "p99_ms": round(sum(v["p99_ms"] for v in lang_means.values()) / n_langs, 3), "index_ms": round(sum(v["index_ms"] for v in lang_means.values()) / n_langs, 1), + "by_category": cat_means, }, "by_language": { lang: { From 3f7f018d405db64dcd790bf4b3721713162618be Mon Sep 17 00:00:00 2001 From: Pringled Date: Fri, 17 Apr 2026 10:14:29 +0200 Subject: [PATCH 14/19] fix ktor/rxswift annotation bugs; ktor server query replaced with client-scoped one - ktor: the server application query targeted files outside the benchmark_root; replaced with a client-side plugin pipeline query that indexes correctly - rxswift: Observable.swift is a thin declaration file; corrected relevant target to ObservableType.swift which contains the actual protocol definition - Swift +0.006, Kotlin +0.004, architecture category +0.002 --- benchmarks/annotations/ktor.json | 6 +- benchmarks/annotations/rxswift.json | 104 +- benchmarks/results/0e626b1451ea.json | 1325 ++++++++++++++++++++++++++ 3 files changed, 1406 insertions(+), 29 deletions(-) create mode 100644 benchmarks/results/0e626b1451ea.json diff --git a/benchmarks/annotations/ktor.json b/benchmarks/annotations/ktor.json index 8758c10..f35b83c 100644 --- a/benchmarks/annotations/ktor.json +++ b/benchmarks/annotations/ktor.json @@ -144,12 +144,12 @@ "category": "symbol" }, { - "query": "how the Ktor server application and plugin pipeline are initialized", + "query": "how the HttpClient plugin installation and configuration pipeline works", "relevant": [ - "ktor-server/ktor-server-core/common/src/io/ktor/server/application/Application.kt" + "ktor-client/ktor-client-core/common/src/io/ktor/client/plugins/api/ClientPluginBuilder.kt" ], "secondary": [ - "ktor-server/ktor-server-core/common/src/io/ktor/server/application/ApplicationPlugin.kt" + "ktor-client/ktor-client-core/common/src/io/ktor/client/HttpClient.kt" ], "category": "architecture" }, diff --git a/benchmarks/annotations/rxswift.json b/benchmarks/annotations/rxswift.json index 11f9ce6..abcccc3 100644 --- a/benchmarks/annotations/rxswift.json +++ b/benchmarks/annotations/rxswift.json @@ -1,121 +1,173 @@ [ { "query": "how Observable represents an asynchronous sequence of events", - "relevant": ["Sources/RxSwift/Observable.swift"], - "secondary": [], + "relevant": [ + "Sources/RxSwift/ObservableType.swift" + ], + "secondary": [ + "Sources/RxSwift/Observable.swift" + ], "category": "architecture" }, { "query": "ObserverType protocol and event delivery contract", - "relevant": ["Sources/RxSwift/ObserverType.swift"], + "relevant": [ + "Sources/RxSwift/ObserverType.swift" + ], "secondary": [], "category": "semantic" }, { "query": "how subscribe attaches an observer to an observable sequence", - "relevant": ["Sources/RxSwift/ObservableType+Extensions.swift"], + "relevant": [ + "Sources/RxSwift/ObservableType+Extensions.swift" + ], "secondary": [], "category": "architecture" }, { "query": "Disposable and CompositeDisposable for subscription management", - "relevant": ["Sources/RxSwift/Disposable.swift"], - "secondary": ["Sources/RxSwift/CompositeDisposable.swift"], + "relevant": [ + "Sources/RxSwift/Disposable.swift" + ], + "secondary": [ + "Sources/RxSwift/CompositeDisposable.swift" + ], "category": "semantic" }, { "query": "PublishSubject for broadcasting events to multiple observers", - "relevant": ["Sources/RxSwift/PublishSubject.swift"], + "relevant": [ + "Sources/RxSwift/PublishSubject.swift" + ], "secondary": [], "category": "semantic" }, { "query": "BehaviorSubject for holding and replaying the latest value", - "relevant": ["Sources/RxSwift/BehaviorSubject.swift"], + "relevant": [ + "Sources/RxSwift/BehaviorSubject.swift" + ], "secondary": [], "category": "semantic" }, { "query": "ReplaySubject for buffering and replaying past events", - "relevant": ["Sources/RxSwift/ReplaySubject.swift"], + "relevant": [ + "Sources/RxSwift/ReplaySubject.swift" + ], "secondary": [], "category": "semantic" }, { "query": "map filter and flatMap operators for transforming observable sequences", - "relevant": ["Sources/RxSwift/Map.swift"], - "secondary": ["Sources/RxSwift/Filter.swift"], + "relevant": [ + "Sources/RxSwift/Map.swift" + ], + "secondary": [ + "Sources/RxSwift/Filter.swift" + ], "category": "semantic" }, { "query": "combineLatest for merging multiple observable streams", - "relevant": ["Sources/RxSwift/CombineLatest.swift"], + "relevant": [ + "Sources/RxSwift/CombineLatest.swift" + ], "secondary": [], "category": "semantic" }, { "query": "SchedulerType protocol and scheduler implementations for threading", - "relevant": ["Sources/RxSwift/SchedulerType.swift"], + "relevant": [ + "Sources/RxSwift/SchedulerType.swift" + ], "secondary": [], "category": "semantic" }, { "query": "Single Completable and Maybe trait types for finite sequences", - "relevant": ["Sources/RxSwift/Single.swift"], - "secondary": ["Sources/RxSwift/Completable.swift"], + "relevant": [ + "Sources/RxSwift/Single.swift" + ], + "secondary": [ + "Sources/RxSwift/Completable.swift" + ], "category": "semantic" }, { "query": "throttle and debounce time-based filtering operators", - "relevant": ["Sources/RxSwift/Throttle.swift"], - "secondary": ["Sources/RxSwift/Debounce.swift"], + "relevant": [ + "Sources/RxSwift/Throttle.swift" + ], + "secondary": [ + "Sources/RxSwift/Debounce.swift" + ], "category": "semantic" }, { "query": "retry and catch error recovery operators", - "relevant": ["Sources/RxSwift/Catch.swift"], + "relevant": [ + "Sources/RxSwift/Catch.swift" + ], "secondary": [], "category": "semantic" }, { "query": "zip operator for pairing emissions from multiple observables", - "relevant": ["Sources/RxSwift/Zip.swift"], + "relevant": [ + "Sources/RxSwift/Zip.swift" + ], "secondary": [], "category": "semantic" }, { "query": "share and replay scope for multicasting a single subscription", - "relevant": ["Sources/RxSwift/ShareReplayScope.swift"], + "relevant": [ + "Sources/RxSwift/ShareReplayScope.swift" + ], "secondary": [], "category": "semantic" }, { "query": "take skip and filter sequence trimming operators", - "relevant": ["Sources/RxSwift/Take.swift"], - "secondary": ["Sources/RxSwift/Skip.swift"], + "relevant": [ + "Sources/RxSwift/Take.swift" + ], + "secondary": [ + "Sources/RxSwift/Skip.swift" + ], "category": "semantic" }, { "query": "Event enum for next error and completed signals", - "relevant": ["Sources/RxSwift/Event.swift"], + "relevant": [ + "Sources/RxSwift/Event.swift" + ], "secondary": [], "category": "semantic" }, { "query": "Observable", - "relevant": ["Sources/RxSwift/Observable.swift"], + "relevant": [ + "Sources/RxSwift/Observable.swift" + ], "secondary": [], "category": "symbol" }, { "query": "Disposable", - "relevant": ["Sources/RxSwift/Disposable.swift"], + "relevant": [ + "Sources/RxSwift/Disposable.swift" + ], "secondary": [], "category": "symbol" }, { "query": "PublishSubject", - "relevant": ["Sources/RxSwift/PublishSubject.swift"], + "relevant": [ + "Sources/RxSwift/PublishSubject.swift" + ], "secondary": [], "category": "symbol" } diff --git a/benchmarks/results/0e626b1451ea.json b/benchmarks/results/0e626b1451ea.json new file mode 100644 index 0000000..ccd5540 --- /dev/null +++ b/benchmarks/results/0e626b1451ea.json @@ -0,0 +1,1325 @@ +{ + "sha": "0e626b1451ead55622ff9f3437a07c7be4bcd4de", + "model": "minishlab/potion-code-16M", + "summary": { + "ndcg10": 0.825, + "p50_ms": 0.74, + "p90_ms": 3.594, + "p95_ms": 4.045, + "p99_ms": 4.355, + "index_ms": 481.1, + "by_category": { + "api": 0.6731, + "architecture": 0.7745, + "keyword": 0.7286, + "semantic": 0.8234, + "symbol": 0.9426 + } + }, + "by_language": { + "bash": { + "repos": 3, + "ndcg10": 0.8283, + "p50_ms": 0.545, + "p90_ms": 0.611, + "p95_ms": 0.622, + "p99_ms": 0.639, + "index_ms": 116.6 + }, + "c": { + "repos": 3, + "ndcg10": 0.7163, + "p50_ms": 0.883, + "p90_ms": 1.211, + "p95_ms": 1.282, + "p99_ms": 1.3, + "index_ms": 1514.8 + }, + "cpp": { + "repos": 3, + "ndcg10": 0.922, + "p50_ms": 0.628, + "p90_ms": 4.239, + "p95_ms": 5.291, + "p99_ms": 5.647, + "index_ms": 788.8 + }, + "csharp": { + "repos": 3, + "ndcg10": 0.824, + "p50_ms": 0.799, + "p90_ms": 5.235, + "p95_ms": 6.075, + "p99_ms": 7.717, + "index_ms": 469.8 + }, + "dart": { + "repos": 3, + "ndcg10": 0.7621, + "p50_ms": 0.602, + "p90_ms": 0.674, + "p95_ms": 0.679, + "p99_ms": 0.705, + "index_ms": 72.6 + }, + "elixir": { + "repos": 3, + "ndcg10": 0.8663, + "p50_ms": 0.566, + "p90_ms": 4.791, + "p95_ms": 5.136, + "p99_ms": 5.624, + "index_ms": 199.8 + }, + "go": { + "repos": 3, + "ndcg10": 0.8927, + "p50_ms": 0.598, + "p90_ms": 3.408, + "p95_ms": 3.897, + "p99_ms": 4.126, + "index_ms": 153.6 + }, + "haskell": { + "repos": 3, + "ndcg10": 0.7462, + "p50_ms": 0.712, + "p90_ms": 0.789, + "p95_ms": 0.801, + "p99_ms": 0.813, + "index_ms": 477.0 + }, + "java": { + "repos": 3, + "ndcg10": 0.8258, + "p50_ms": 1.161, + "p90_ms": 9.461, + "p95_ms": 13.119, + "p99_ms": 13.573, + "index_ms": 958.2 + }, + "javascript": { + "repos": 3, + "ndcg10": 0.8917, + "p50_ms": 0.444, + "p90_ms": 1.658, + "p95_ms": 1.675, + "p99_ms": 1.69, + "index_ms": 35.5 + }, + "kotlin": { + "repos": 3, + "ndcg10": 0.8076, + "p50_ms": 0.846, + "p90_ms": 4.632, + "p95_ms": 4.945, + "p99_ms": 5.756, + "index_ms": 231.9 + }, + "lua": { + "repos": 4, + "ndcg10": 0.7626, + "p50_ms": 0.792, + "p90_ms": 0.962, + "p95_ms": 0.981, + "p99_ms": 1.011, + "index_ms": 371.4 + }, + "php": { + "repos": 3, + "ndcg10": 0.8141, + "p50_ms": 0.994, + "p90_ms": 7.35, + "p95_ms": 7.451, + "p99_ms": 7.585, + "index_ms": 831.7 + }, + "python": { + "repos": 9, + "ndcg10": 0.8591, + "p50_ms": 0.498, + "p90_ms": 3.351, + "p95_ms": 3.539, + "p99_ms": 3.728, + "index_ms": 155.9 + }, + "ruby": { + "repos": 3, + "ndcg10": 0.8568, + "p50_ms": 0.62, + "p90_ms": 4.481, + "p95_ms": 5.553, + "p99_ms": 6.062, + "index_ms": 99.5 + }, + "rust": { + "repos": 3, + "ndcg10": 0.8378, + "p50_ms": 0.793, + "p90_ms": 5.247, + "p95_ms": 5.611, + "p99_ms": 5.841, + "index_ms": 521.2 + }, + "scala": { + "repos": 3, + "ndcg10": 0.864, + "p50_ms": 0.846, + "p90_ms": 4.076, + "p95_ms": 4.272, + "p99_ms": 4.4, + "index_ms": 386.8 + }, + "swift": { + "repos": 3, + "ndcg10": 0.8353, + "p50_ms": 0.731, + "p90_ms": 3.924, + "p95_ms": 4.118, + "p99_ms": 4.726, + "index_ms": 236.6 + }, + "typescript": { + "repos": 3, + "ndcg10": 0.7185, + "p50_ms": 0.872, + "p90_ms": 4.836, + "p95_ms": 4.893, + "p99_ms": 5.06, + "index_ms": 467.4 + }, + "zig": { + "repos": 3, + "ndcg10": 0.8685, + "p50_ms": 0.864, + "p90_ms": 0.942, + "p95_ms": 0.956, + "p99_ms": 1.092, + "index_ms": 1532.8 + } + }, + "repos": [ + { + "repo": "abseil-cpp", + "language": "cpp", + "chunks": 3083, + "ndcg5": 0.913500228802621, + "ndcg10": 0.913500228802621, + "p50_ms": 0.8359784842468798, + "p90_ms": 7.583103619981557, + "p95_ms": 7.704812803422102, + "p99_ms": 8.263728977763092, + "index_ms": 1707.6116660027765, + "by_category": { + "architecture": 1.0, + "semantic": 0.9180003050701615, + "symbol": 0.8333333333333334 + } + }, + { + "repo": "aeson", + "language": "haskell", + "chunks": 393, + "ndcg5": 0.787707118843058, + "ndcg10": 0.8075975589033458, + "p50_ms": 0.5011040047975257, + "p90_ms": 0.5615003145067021, + "p95_ms": 0.5713250036933459, + "p99_ms": 0.589564987749327, + "index_ms": 174.8485830030404, + "by_category": { + "architecture": 0.6722706232293573, + "semantic": 0.852706537461342 + } + }, + { + "repo": "aiohttp", + "language": "python", + "chunks": 756, + "ndcg5": 0.7595501987615106, + "ndcg10": 0.8051055391429651, + "p50_ms": 0.5815000040456653, + "p90_ms": 4.117499978747219, + "p95_ms": 4.4322079920675606, + "p99_ms": 4.685175203485414, + "index_ms": 246.81824998697266, + "by_category": { + "architecture": 0.8356195986270888, + "semantic": 0.6730976812902937, + "symbol": 1.0 + } + }, + { + "repo": "alamofire", + "language": "swift", + "chunks": 649, + "ndcg5": 0.9613147192765459, + "ndcg10": 0.9613147192765459, + "p50_ms": 0.5750205018557608, + "p90_ms": 4.257316316943616, + "p95_ms": 4.562059779709672, + "p99_ms": 5.930345554661469, + "index_ms": 215.802666003583, + "by_category": { + "architecture": 0.9732402630493958, + "semantic": 0.9369612360347936, + "symbol": 1.0 + } + }, + { + "repo": "axios", + "language": "javascript", + "chunks": 166, + "ndcg5": 0.8648468052243118, + "ndcg10": 0.8908186768484192, + "p50_ms": 0.6280420057009906, + "p90_ms": 2.7215044799959287, + "p95_ms": 2.7452523994725198, + "p99_ms": 2.7522504690568894, + "index_ms": 59.172416978981346, + "by_category": { + "architecture": 0.6793305495640389, + "semantic": 0.9355245321275762, + "symbol": 1.0 + } + }, + { + "repo": "axum", + "language": "rust", + "chunks": 509, + "ndcg5": 0.7324356157188728, + "ndcg10": 0.7826858855802271, + "p50_ms": 0.6387920002453029, + "p90_ms": 3.7593211978673935, + "p95_ms": 3.898211038904265, + "p99_ms": 4.192742212908342, + "index_ms": 179.15129198809154, + "by_category": { + "architecture": 0.7297596420238124, + "semantic": 0.8040593595314548, + "symbol": 0.7854023957026741 + } + }, + { + "repo": "bash-it", + "language": "bash", + "chunks": 723, + "ndcg5": 0.6075207382645395, + "ndcg10": 0.6574637191224815, + "p50_ms": 0.9501869935775176, + "p90_ms": 1.0941753222141415, + "p95_ms": 1.1065646074712276, + "p99_ms": 1.1227465374395251, + "index_ms": 265.7366670027841, + "by_category": { + "api": 0.7153382790366966, + "keyword": 0.8261859507142916, + "semantic": 0.5836667746772907 + } + }, + { + "repo": "bats-core", + "language": "bash", + "chunks": 48, + "ndcg5": 0.9011859507142915, + "ndcg10": 0.9011859507142915, + "p50_ms": 0.35770850081462413, + "p90_ms": 0.3865506179863587, + "p95_ms": 0.39504169544670736, + "p99_ms": 0.42607554525602603, + "index_ms": 18.395249993773177, + "by_category": { + "architecture": 0.8231227867347022, + "semantic": 0.9432199620879166 + } + }, + { + "repo": "cats", + "language": "scala", + "chunks": 1254, + "ndcg5": 0.8632034061286296, + "ndcg10": 0.8632034061286296, + "p50_ms": 1.034812506986782, + "p90_ms": 5.0372247118502855, + "p95_ms": 5.134683330834378, + "p99_ms": 5.314170265628491, + "index_ms": 643.0171249958221, + "by_category": { + "architecture": 0.8467132018086354, + "semantic": 0.787721531533805, + "symbol": 1.0 + } + }, + { + "repo": "chi", + "language": "go", + "chunks": 262, + "ndcg5": 0.8121926566738839, + "ndcg10": 0.8342931456297593, + "p50_ms": 0.692771005560644, + "p90_ms": 3.0856421013595536, + "p95_ms": 3.1601776368916035, + "p99_ms": 3.177035511471331, + "index_ms": 98.77616699668579, + "by_category": { + "architecture": 0.6259028523654583, + "semantic": 0.9589921948412731, + "symbol": 0.8769765845238192 + } + }, + { + "repo": "circe", + "language": "scala", + "chunks": 192, + "ndcg5": 0.8064982009888298, + "ndcg10": 0.8064982009888298, + "p50_ms": 0.5622500029858202, + "p90_ms": 2.7770914079155773, + "p95_ms": 2.906808393890969, + "p99_ms": 3.037728880881332, + "index_ms": 87.3050410009455, + "by_category": { + "architecture": 0.7261859507142916, + "semantic": 0.7902305513833007, + "symbol": 1.0 + } + }, + { + "repo": "click", + "language": "python", + "chunks": 315, + "ndcg5": 1.0, + "ndcg10": 1.0, + "p50_ms": 0.42554149695206434, + "p90_ms": 3.3936878025997435, + "p95_ms": 3.5590875093475915, + "p99_ms": 3.6079175051418133, + "index_ms": 109.66491600265726, + "by_category": { + "architecture": 1.0, + "semantic": 1.0, + "symbol": 1.0 + } + }, + { + "repo": "cobra", + "language": "go", + "chunks": 394, + "ndcg5": 0.967519867361079, + "ndcg10": 0.967519867361079, + "p50_ms": 0.5322085053194314, + "p90_ms": 3.5869827202986944, + "p95_ms": 4.743322612193879, + "p99_ms": 5.073764524131547, + "index_ms": 145.85691600223072, + "by_category": { + "architecture": 1.0, + "semantic": 0.94094521338378, + "symbol": 1.0 + } + }, + { + "repo": "commons-lang", + "language": "java", + "chunks": 3152, + "ndcg5": 0.8511907952337322, + "ndcg10": 0.8944264122460902, + "p50_ms": 1.0067080147564411, + "p90_ms": 8.8390419841744, + "p95_ms": 18.953541002701968, + "p99_ms": 19.231874600518495, + "index_ms": 1037.116874998901, + "by_category": { + "architecture": 0.7216293209723186, + "semantic": 0.9012904781607812, + "symbol": 1.0 + } + }, + { + "repo": "curl", + "language": "c", + "chunks": 4444, + "ndcg5": 0.5564993486741835, + "ndcg10": 0.6602872366816288, + "p50_ms": 0.9120829927269369, + "p90_ms": 1.047766619012691, + "p95_ms": 1.0650514654116705, + "p99_ms": 1.0861103056231514, + "index_ms": 1485.1990829920396, + "by_category": { + "architecture": 0.5728575877940218, + "semantic": 0.7318205857714887 + } + }, + { + "repo": "dapper", + "language": "csharp", + "chunks": 411, + "ndcg5": 0.7946394630357186, + "ndcg10": 0.8457831557244532, + "p50_ms": 0.5621459858957678, + "p90_ms": 3.380624996498228, + "p95_ms": 4.1601707795052825, + "p99_ms": 7.886766942392563, + "index_ms": 170.22733399062417, + "by_category": { + "architecture": 0.5801175685032033, + "semantic": 0.920327929761907, + "symbol": 0.8769765845238192 + } + }, + { + "repo": "dio", + "language": "dart", + "chunks": 153, + "ndcg5": 0.6945949461156704, + "ndcg10": 0.6945949461156704, + "p50_ms": 0.5702290072804317, + "p90_ms": 0.6426416977774352, + "p95_ms": 0.652108654321637, + "p99_ms": 0.6740217490005307, + "index_ms": 63.34733299445361, + "by_category": { + "architecture": 0.6421082758814111, + "semantic": 0.7077166136742353 + } + }, + { + "repo": "ecto", + "language": "elixir", + "chunks": 755, + "ndcg5": 0.8822031319548903, + "ndcg10": 0.9009508786447862, + "p50_ms": 0.5339159979484975, + "p90_ms": 7.009525399189442, + "p95_ms": 7.3724326968658715, + "p99_ms": 7.380652955034748, + "index_ms": 294.9543750146404, + "by_category": { + "architecture": 1.0, + "semantic": 0.9220874569753447, + "symbol": 0.7103099178571526 + } + }, + { + "repo": "exposed", + "language": "kotlin", + "chunks": 744, + "ndcg5": 0.695046716481194, + "ndcg10": 0.74044411434417, + "p50_ms": 0.8791250147623941, + "p90_ms": 4.022375014028513, + "p95_ms": 4.698374991130551, + "p99_ms": 6.1841750019812, + "index_ms": 259.76479199016467, + "by_category": { + "architecture": 0.6547543623015969, + "semantic": 0.7031870857127577, + "symbol": 1.0 + } + }, + { + "repo": "express", + "language": "javascript", + "chunks": 52, + "ndcg5": 0.8468751674977092, + "ndcg10": 0.8904276207104669, + "p50_ms": 0.28458300221245736, + "p90_ms": 0.3136877989163622, + "p95_ms": 0.31417915306519717, + "p99_ms": 0.3188022266840562, + "index_ms": 20.432833000086248, + "by_category": { + "architecture": 0.8348984753292212, + "semantic": 0.8964263086904791, + "symbol": 1.0 + } + }, + { + "repo": "fastapi", + "language": "python", + "chunks": 597, + "ndcg5": 0.7297297540684241, + "ndcg10": 0.7869838171738259, + "p50_ms": 0.4806255019502714, + "p90_ms": 3.5768162983004004, + "p95_ms": 3.6216264372342266, + "p99_ms": 3.809125284024048, + "index_ms": 188.40233300579712, + "by_category": { + "architecture": 0.6392000559545565, + "semantic": 0.7831594939743279, + "symbol": 1.0 + } + }, + { + "repo": "flask", + "language": "python", + "chunks": 291, + "ndcg5": 0.8847644106288912, + "ndcg10": 0.9039540836573546, + "p50_ms": 0.45437499647960067, + "p90_ms": 2.918540994869545, + "p95_ms": 2.9842500225640833, + "p99_ms": 3.5330500104464595, + "index_ms": 95.09920899290591, + "by_category": { + "architecture": 0.8548201992475203, + "semantic": 0.9090267601883458, + "symbol": 1.0 + } + }, + { + "repo": "fmtlib", + "language": "cpp", + "chunks": 476, + "ndcg5": 0.9715338279036697, + "ndcg10": 0.9715338279036697, + "p50_ms": 0.46133350406307727, + "p90_ms": 0.8700334059540227, + "p95_ms": 3.6349193745991215, + "p99_ms": 3.676117483410053, + "index_ms": 355.450374976499, + "by_category": { + "architecture": 1.0, + "semantic": 0.9593340398623853, + "symbol": 1.0 + } + }, + { + "repo": "gin", + "language": "go", + "chunks": 576, + "ndcg5": 0.8763658848604823, + "ndcg10": 0.8763658848604823, + "p50_ms": 0.570271018659696, + "p90_ms": 3.5507878172211353, + "p95_ms": 3.787897907022853, + "p99_ms": 4.126446001755538, + "index_ms": 216.1938339995686, + "by_category": { + "architecture": 0.9638734584787886, + "semantic": 0.7949160860306287, + "symbol": 1.0 + } + }, + { + "repo": "gson", + "language": "java", + "chunks": 1460, + "ndcg5": 0.850704076119467, + "ndcg10": 0.8616244479603751, + "p50_ms": 1.0180000099353492, + "p90_ms": 6.292270609992557, + "p95_ms": 6.9960068256477825, + "p99_ms": 7.28743416344514, + "index_ms": 478.62816700944677, + "by_category": { + "architecture": 0.677192486230418, + "semantic": 0.8523719014285831, + "symbol": 1.0 + } + }, + { + "repo": "guzzle", + "language": "php", + "chunks": 206, + "ndcg5": 0.9140510731804075, + "ndcg10": 0.9140510731804075, + "p50_ms": 0.604290995397605, + "p90_ms": 2.941170590929687, + "p95_ms": 3.011911053908989, + "p99_ms": 3.0491822154726833, + "index_ms": 68.83974999072962, + "by_category": { + "architecture": 1.0, + "semantic": 0.8677708818160114, + "symbol": 1.0 + } + }, + { + "repo": "http-dart", + "language": "dart", + "chunks": 89, + "ndcg5": 0.7566124015300086, + "ndcg10": 0.784641880764834, + "p50_ms": 0.5398750072345138, + "p90_ms": 0.5873660964425653, + "p95_ms": 0.5904170015128329, + "p99_ms": 0.6094170134747401, + "index_ms": 37.69270799239166, + "by_category": { + "architecture": 0.75, + "semantic": 0.7884909786275932 + } + }, + { + "repo": "http4s", + "language": "scala", + "chunks": 952, + "ndcg5": 0.9221719901717009, + "ndcg10": 0.9221719901717009, + "p50_ms": 0.9422080038348213, + "p90_ms": 4.4123576808488005, + "p95_ms": 4.7744038500241, + "p99_ms": 4.847680772363674, + "index_ms": 430.08958399877883, + "by_category": { + "architecture": 0.9732402630493958, + "semantic": 0.8945513581632737, + "symbol": 1.0 + } + }, + { + "repo": "httpx", + "language": "python", + "chunks": 248, + "ndcg5": 0.879316171195208, + "ndcg10": 0.8890486663184692, + "p50_ms": 0.46270800521597266, + "p90_ms": 2.643540996359661, + "p95_ms": 3.078707988606766, + "p99_ms": 3.101474401773885, + "index_ms": 84.27445898996666, + "by_category": { + "architecture": 0.8281337292123195, + "semantic": 0.8747873209112909, + "symbol": 1.0 + } + }, + { + "repo": "jackson-databind", + "language": "java", + "chunks": 4570, + "ndcg5": 0.6754072534454754, + "ndcg10": 0.7212470920357018, + "p50_ms": 1.4578330010408536, + "p90_ms": 13.25191218056716, + "p95_ms": 13.408235411043279, + "p99_ms": 14.200313486508092, + "index_ms": 1358.8531670102384, + "by_category": { + "architecture": 0.6403142945053555, + "semantic": 0.6233581306024223, + "symbol": 0.9355245321275764 + } + }, + { + "repo": "kotlinx-coroutines", + "language": "kotlin", + "chunks": 884, + "ndcg5": 0.8780803155822425, + "ndcg10": 0.8958906749376437, + "p50_ms": 0.7530210132244974, + "p90_ms": 4.535983098321594, + "p95_ms": 4.744506884890144, + "p99_ms": 5.362734985828864, + "index_ms": 304.22916600946337, + "by_category": { + "architecture": 0.8102255193577976, + "semantic": 0.8919383529056771, + "symbol": 1.0 + } + }, + { + "repo": "ktor", + "language": "kotlin", + "chunks": 425, + "ndcg5": 0.7385032847341471, + "ndcg10": 0.7863363921346742, + "p50_ms": 0.9068334911717102, + "p90_ms": 5.338646413292736, + "p95_ms": 5.393464288499672, + "p99_ms": 5.722260066831949, + "index_ms": 131.74137499299832, + "by_category": { + "architecture": 0.665712506739421, + "semantic": 0.7238200422167912, + "symbol": 1.0 + } + }, + { + "repo": "laravel-framework", + "language": "php", + "chunks": 6197, + "ndcg5": 0.6294399888351122, + "ndcg10": 0.6678420402122851, + "p50_ms": 1.431125492672436, + "p90_ms": 15.303666301770136, + "p95_ms": 15.46663686458487, + "p99_ms": 15.829093754873611, + "index_ms": 2296.1893750180025, + "by_category": { + "architecture": 0.6041947436776243, + "semantic": 0.6662830938812081, + "symbol": 0.7827324383928644 + } + }, + { + "repo": "lazy.nvim", + "language": "lua", + "chunks": 300, + "ndcg5": 0.6371951400189322, + "ndcg10": 0.6989634817893211, + "p50_ms": 0.7048334955470636, + "p90_ms": 0.9701455914182588, + "p95_ms": 0.9824069100432098, + "p99_ms": 1.0063149756751955, + "index_ms": 141.71633298974484, + "by_category": { + "architecture": 0.7937228666330852, + "semantic": 0.6214330760080596 + } + }, + { + "repo": "libuv", + "language": "c", + "chunks": 1345, + "ndcg5": 0.589162843933566, + "ndcg10": 0.6223050928949458, + "p50_ms": 0.8469374879496172, + "p90_ms": 1.6239627992035823, + "p95_ms": 1.789881256991066, + "p99_ms": 1.7918762500630692, + "index_ms": 535.511875001248, + "by_category": { + "api": 0.6309297535714575, + "keyword": 0.6309297535714575, + "semantic": 0.6213467972642222 + } + }, + { + "repo": "messagepack-csharp", + "language": "csharp", + "chunks": 1125, + "ndcg5": 0.8625205636356418, + "ndcg10": 0.8695839122786332, + "p50_ms": 0.9211455035256222, + "p90_ms": 5.436958899372258, + "p95_ms": 5.8366475874208845, + "p99_ms": 6.04662951111095, + "index_ms": 483.2975000026636, + "by_category": { + "architecture": 0.622590627025877, + "semantic": 0.8779239708299064, + "symbol": 1.0 + } + }, + { + "repo": "mini.nvim", + "language": "lua", + "chunks": 2156, + "ndcg5": 0.9815464876785729, + "ndcg10": 0.9815464876785729, + "p50_ms": 0.5839795048814267, + "p90_ms": 0.7903333054855466, + "p95_ms": 0.8082100859610364, + "p99_ms": 0.8120420103659853, + "index_ms": 798.2684169837739, + "by_category": { + "architecture": 1.0, + "semantic": 0.9769331095982161 + } + }, + { + "repo": "model2vec", + "language": "python", + "chunks": 107, + "ndcg5": 0.6563614357577399, + "ndcg10": 0.6955916766562531, + "p50_ms": 0.4558544897008687, + "p90_ms": 2.2249923000345007, + "p95_ms": 2.294873262871988, + "p99_ms": 2.343608257942833, + "index_ms": 40.00454198103398, + "by_category": { + "architecture": 0.6343453280002408, + "semantic": 0.7084563429888835, + "symbol": 0.7956176024115139 + } + }, + { + "repo": "monolog", + "language": "php", + "chunks": 417, + "ndcg5": 0.8516433990956823, + "ndcg10": 0.8605053634348847, + "p50_ms": 0.9475624974584207, + "p90_ms": 3.806095797335729, + "p95_ms": 3.8735851136152633, + "p99_ms": 3.877417015901301, + "index_ms": 129.9723330012057, + "by_category": { + "architecture": 0.619392015186447, + "semantic": 0.9113147192765458, + "symbol": 1.0 + } + }, + { + "repo": "newtonsoft-json", + "language": "csharp", + "chunks": 2152, + "ndcg5": 0.7249554830799518, + "ndcg10": 0.7566736495298176, + "p50_ms": 0.9123125055339187, + "p90_ms": 6.88730859255884, + "p95_ms": 8.228262196644211, + "p99_ms": 9.217086040298453, + "index_ms": 755.88537499425, + "by_category": { + "architecture": 0.8229172249923645, + "semantic": 0.6541790582401968, + "symbol": 1.0 + } + }, + { + "repo": "nlohmann-json", + "language": "cpp", + "chunks": 791, + "ndcg5": 0.8699118594962764, + "ndcg10": 0.8808322313371845, + "p50_ms": 0.5861040117451921, + "p90_ms": 4.263791095581837, + "p95_ms": 4.5340961529291235, + "p99_ms": 5.000419225252698, + "index_ms": 303.26854198938236, + "by_category": { + "architecture": 0.8478663329217984, + "semantic": 0.8681580296291103, + "symbol": 1.0 + } + }, + { + "repo": "nvim-lspconfig", + "language": "lua", + "chunks": 1055, + "ndcg5": 0.537707118843058, + "ndcg10": 0.5850222192975525, + "p50_ms": 1.2967084912816063, + "p90_ms": 1.4540576928993687, + "p95_ms": 1.488291352870874, + "p99_ms": 1.510458262055181, + "index_ms": 363.9677089813631, + "by_category": { + "architecture": 0.42896124839380506, + "semantic": 0.6125623906335079 + } + }, + { + "repo": "nvm", + "language": "bash", + "chunks": 153, + "ndcg5": 0.9261859507142916, + "ndcg10": 0.9261859507142916, + "p50_ms": 0.32829149859026074, + "p90_ms": 0.3521295147947967, + "p95_ms": 0.3654753338196315, + "p99_ms": 0.36826225026743487, + "index_ms": 65.57704199803993, + "by_category": { + "architecture": 0.8154648767857288, + "semantic": 0.9384882922619097 + } + }, + { + "repo": "pandoc", + "language": "haskell", + "chunks": 3090, + "ndcg5": 0.6333247437591728, + "ndcg10": 0.6650429102090386, + "p50_ms": 1.2184164952486753, + "p90_ms": 1.3609381101559848, + "p95_ms": 1.3780146109638736, + "p99_ms": 1.3839365070452914, + "index_ms": 1205.0110420095734, + "by_category": { + "architecture": 0.6368991050595311, + "semantic": 0.6838054469753768 + } + }, + { + "repo": "phoenix", + "language": "elixir", + "chunks": 546, + "ndcg5": 0.7696427696468264, + "ndcg10": 0.7848567078740838, + "p50_ms": 0.600458006374538, + "p90_ms": 4.189875023439527, + "p95_ms": 4.434775019763035, + "p99_ms": 5.384455000748858, + "index_ms": 201.61466699209996, + "by_category": { + "architecture": 0.8547262294684788, + "semantic": 0.8270092609025553, + "symbol": 0.47689218602446437 + } + }, + { + "repo": "plug", + "language": "elixir", + "chunks": 249, + "ndcg5": 0.9130929753571457, + "ndcg10": 0.9130929753571457, + "p50_ms": 0.5636455025523901, + "p90_ms": 3.174762506387197, + "p95_ms": 3.600852060480975, + "p99_ms": 4.107803215156308, + "index_ms": 102.86025001551025, + "by_category": { + "architecture": 1.0, + "semantic": 0.902209268112247, + "symbol": 0.8769765845238192 + } + }, + { + "repo": "pydantic", + "language": "python", + "chunks": 1518, + "ndcg5": 0.7393950348587884, + "ndcg10": 0.7605345265791209, + "p50_ms": 0.6626245012739673, + "p90_ms": 5.441403909935616, + "p95_ms": 5.579914909321815, + "p99_ms": 5.89718299685046, + "index_ms": 494.09887500223704, + "by_category": { + "architecture": 0.7517473446718608, + "semantic": 0.7577007889556063, + "symbol": 0.7773705614469083 + } + }, + { + "repo": "rack", + "language": "ruby", + "chunks": 249, + "ndcg5": 0.8884601594287914, + "ndcg10": 0.8884601594287914, + "p50_ms": 0.5859579978277907, + "p90_ms": 3.852424796787092, + "p95_ms": 5.2626910837716405, + "p99_ms": 6.125838220759759, + "index_ms": 97.09183298400603, + "by_category": { + "architecture": 1.0, + "semantic": 0.7992282869718244, + "symbol": 1.0 + } + }, + { + "repo": "rails", + "language": "ruby", + "chunks": 465, + "ndcg5": 0.8788952563203779, + "ndcg10": 0.8788952563203779, + "p50_ms": 0.9068329964065924, + "p90_ms": 4.355817317264157, + "p95_ms": 6.075489896466024, + "p99_ms": 6.22479798796121, + "index_ms": 170.25979098980315, + "by_category": { + "architecture": 0.815634157070918, + "semantic": 1.0, + "symbol": 0.809299428192324 + } + }, + { + "repo": "redis", + "language": "c", + "chunks": 6289, + "ndcg5": 0.8661732909393883, + "ndcg10": 0.8661732909393883, + "p50_ms": 0.8913954952731729, + "p90_ms": 0.9613416943466291, + "p95_ms": 0.9922378274495713, + "p99_ms": 1.0218139746575616, + "index_ms": 2523.722749989247, + "by_category": { + "architecture": 0.8761859507142915, + "semantic": 0.8561606311644849 + } + }, + { + "repo": "redux", + "language": "javascript", + "chunks": 53, + "ndcg5": 0.8678612069551187, + "ndcg10": 0.8937566584607637, + "p50_ms": 0.42075001692865044, + "p90_ms": 1.939462817972526, + "p95_ms": 1.9645479609607719, + "p99_ms": 1.9975767817231826, + "index_ms": 26.799333980306983, + "by_category": { + "architecture": 0.756966639313657, + "semantic": 0.925925925925926, + "symbol": 1.0 + } + }, + { + "repo": "requests", + "language": "python", + "chunks": 169, + "ndcg5": 0.9454570258581952, + "ndcg10": 0.9454570258581952, + "p50_ms": 0.40947900561150163, + "p90_ms": 2.863712803809904, + "p95_ms": 3.1386062473757192, + "p99_ms": 3.1554212648188695, + "index_ms": 56.010208994848654, + "by_category": { + "architecture": 0.9144279211792, + "semantic": 0.9385181336136883, + "symbol": 1.0 + } + }, + { + "repo": "riverpod", + "language": "dart", + "chunks": 316, + "ndcg5": 0.7920624189796882, + "ndcg10": 0.8071139187628873, + "p50_ms": 0.6961665058042854, + "p90_ms": 0.7927451923023909, + "p95_ms": 0.7958913702168502, + "p99_ms": 0.832878281653393, + "index_ms": 116.72670801635832, + "by_category": { + "architecture": 0.7542345811355592, + "semantic": 0.8355874082545255 + } + }, + { + "repo": "rxswift", + "language": "swift", + "chunks": 686, + "ndcg5": 0.7329807820807919, + "ndcg10": 0.758876233586437, + "p50_ms": 0.805042014690116, + "p90_ms": 3.799483581678942, + "p95_ms": 3.841510115307756, + "p99_ms": 4.11210203601513, + "index_ms": 214.31237499928102, + "by_category": { + "architecture": 0.6934264036172708, + "semantic": 0.7193781242996131, + "symbol": 1.0 + } + }, + { + "repo": "serde", + "language": "rust", + "chunks": 1164, + "ndcg5": 0.7430676558073394, + "ndcg10": 0.7755075663132924, + "p50_ms": 0.9024374885484576, + "p90_ms": 4.4721500045852745, + "p95_ms": 4.777062489301898, + "p99_ms": 4.7913125093327835, + "index_ms": 451.6937500156928, + "by_category": { + "architecture": 0.7974500308912245, + "semantic": 0.6726085028922673, + "symbol": 0.875 + } + }, + { + "repo": "sinatra", + "language": "ruby", + "chunks": 68, + "ndcg5": 0.8030803155822426, + "ndcg10": 0.8030803155822426, + "p50_ms": 0.36824999551754445, + "p90_ms": 5.233467186917551, + "p95_ms": 5.32032230985351, + "p99_ms": 5.835698071168735, + "index_ms": 31.241249991580844, + "by_category": { + "architecture": 0.41232126232897015, + "semantic": 0.8888888888888888, + "symbol": 1.0 + } + }, + { + "repo": "starlette", + "language": "python", + "chunks": 213, + "ndcg5": 0.9360462354097291, + "ndcg10": 0.945257016534361, + "p50_ms": 0.5468339950311929, + "p90_ms": 2.978333010105416, + "p95_ms": 3.1631670135539025, + "p99_ms": 3.415466210572049, + "index_ms": 88.52279098937288, + "by_category": { + "architecture": 0.8954906679292346, + "semantic": 1.0, + "symbol": 1.0 + } + }, + { + "repo": "telescope.nvim", + "language": "lua", + "chunks": 540, + "ndcg5": 0.7850340567062908, + "ndcg10": 0.7850340567062908, + "p50_ms": 0.5819370126118883, + "p90_ms": 0.6329878058750182, + "p95_ms": 0.6461207958636807, + "p99_ms": 0.7163569651311262, + "index_ms": 181.57987500308082, + "by_category": { + "architecture": 0.8557660725862154, + "semantic": 0.7469475866171005 + } + }, + { + "repo": "tokio", + "language": "rust", + "chunks": 2730, + "ndcg5": 0.9459860394574093, + "ndcg10": 0.9552148242963877, + "p50_ms": 0.8382499945582822, + "p90_ms": 7.509454485261814, + "p95_ms": 8.158177392033394, + "p99_ms": 8.54023546417011, + "index_ms": 932.8031670011114, + "by_category": { + "architecture": 0.8507160809879593, + "semantic": 1.0, + "symbol": 1.0 + } + }, + { + "repo": "trpc", + "language": "typescript", + "chunks": 362, + "ndcg5": 0.7517036349312507, + "ndcg10": 0.7810815764501158, + "p50_ms": 0.8942080021370202, + "p90_ms": 3.423420785111375, + "p95_ms": 3.4637704768101685, + "p99_ms": 3.4723204755573533, + "index_ms": 125.37070800317451, + "by_category": { + "architecture": 0.6937431130989311, + "semantic": 0.724526660601552, + "symbol": 1.0 + } + }, + { + "repo": "vapor", + "language": "swift", + "chunks": 780, + "ndcg5": 0.7328014081758261, + "ndcg10": 0.7858329160889163, + "p50_ms": 0.8136454998748377, + "p90_ms": 3.713975599384867, + "p95_ms": 3.9491583505878225, + "p99_ms": 4.135865274001844, + "index_ms": 279.54458302701823, + "by_category": { + "architecture": 0.42599353221896225, + "semantic": 0.8170484089372457, + "symbol": 1.0 + } + }, + { + "repo": "vitest", + "language": "typescript", + "chunks": 1079, + "ndcg5": 0.6517782560805999, + "ndcg10": 0.7024504745746012, + "p50_ms": 0.8540415001334623, + "p90_ms": 4.909216606756672, + "p95_ms": 4.9134389279061, + "p99_ms": 4.947987804480363, + "index_ms": 358.914584008744, + "by_category": { + "architecture": 0.5291699572630004, + "semantic": 0.7158172498103655, + "symbol": 1.0 + } + }, + { + "repo": "xmonad", + "language": "haskell", + "chunks": 123, + "ndcg5": 0.7558852054218812, + "ndcg10": 0.7661043253013055, + "p50_ms": 0.41520848753862083, + "p90_ms": 0.4436040937434882, + "p95_ms": 0.4542618480627425, + "p99_ms": 0.4652187824831344, + "index_ms": 51.17049999535084, + "by_category": { + "architecture": 0.7998908847793088, + "semantic": 0.7435799523159697 + } + }, + { + "repo": "zig", + "language": "zig", + "chunks": 13059, + "ndcg5": 0.8696394630357187, + "ndcg10": 0.8696394630357187, + "p50_ms": 1.4732710114913061, + "p90_ms": 1.6063457791460678, + "p95_ms": 1.609607996942941, + "p99_ms": 1.6289879896794446, + "index_ms": 3939.797249971889, + "by_category": { + "architecture": 0.6666666666666666, + "semantic": 0.9054581918067278 + } + }, + { + "repo": "zig-clap", + "language": "zig", + "chunks": 99, + "ndcg5": 0.9130929753571457, + "ndcg10": 0.9130929753571457, + "p50_ms": 0.42174948612228036, + "p90_ms": 0.44458750053308904, + "p95_ms": 0.4576541556161829, + "p99_ms": 0.4903972442843951, + "index_ms": 51.486374984961, + "by_category": { + "architecture": 1.0, + "semantic": 0.9034366392857175 + } + }, + { + "repo": "zls", + "language": "zig", + "chunks": 1300, + "ndcg5": 0.8077324383928645, + "ndcg10": 0.8227839381760635, + "p50_ms": 0.6984169885981828, + "p90_ms": 0.7757497020065784, + "p95_ms": 0.7996729502337988, + "p99_ms": 1.157601767627056, + "index_ms": 607.2473329841159, + "by_category": { + "architecture": 0.7946985004009851, + "semantic": 0.837906866208798 + } + }, + { + "repo": "zod", + "language": "typescript", + "chunks": 1777, + "ndcg5": 0.6721003911969763, + "ndcg10": 0.6721003911969763, + "p50_ms": 0.867208480485715, + "p90_ms": 6.174491290585138, + "p95_ms": 6.302716031495947, + "p99_ms": 6.759476788865867, + "index_ms": 917.9992089921143, + "by_category": { + "architecture": 0.6577324383928644, + "semantic": 0.6393136977206204, + "symbol": 0.8333333333333334 + } + } + ] +} From 19352d3f21edec01cedb45fb519098ef757c3b90 Mon Sep 17 00:00:00 2001 From: Pringled Date: Fri, 17 Apr 2026 11:07:54 +0200 Subject: [PATCH 15/19] Fix annotation bugs across sinatra, circe, cats, rxswift, exposed - sinatra: fix 3 queries pointing to wrong/narrow line ranges in base.rb - circe: replace out-of-scope generic derivation query (targets modules/generic/ which is outside benchmark_root) with DecodingFailure/ParsingFailure query targeting Error.scala in core - cats: replace Semigroup/Monoid query pointing to kernel/ module (outside root) with MonoidK/SemigroupK query targeting core - rxswift: add Zip+arity.swift as second relevant for zip operator query - exposed: add Transactions.kt as second relevant for transaction block query NDCG@10: 0.825 (baseline) -> 0.830 --- benchmarks/annotations/cats.json | 9 ++++----- benchmarks/annotations/circe.json | 8 +++----- benchmarks/annotations/exposed.json | 3 ++- benchmarks/annotations/rxswift.json | 3 ++- benchmarks/annotations/sinatra.json | 18 +++--------------- 5 files changed, 14 insertions(+), 27 deletions(-) diff --git a/benchmarks/annotations/cats.json b/benchmarks/annotations/cats.json index 388b170..344feac 100644 --- a/benchmarks/annotations/cats.json +++ b/benchmarks/annotations/cats.json @@ -150,13 +150,12 @@ "category": "architecture" }, { - "query": "Semigroup and Monoid type classes for combining values", + "query": "MonoidK and SemigroupK type classes for combining higher-kinded values", "relevant": [ - "kernel/src/main/scala/cats/kernel/Monoid.scala" - ], - "secondary": [ - "kernel/src/main/scala/cats/kernel/Semigroup.scala" + "core/src/main/scala/cats/MonoidK.scala", + "core/src/main/scala/cats/SemigroupK.scala" ], + "secondary": [], "category": "semantic" }, { diff --git a/benchmarks/annotations/circe.json b/benchmarks/annotations/circe.json index 9619afa..65ae00b 100644 --- a/benchmarks/annotations/circe.json +++ b/benchmarks/annotations/circe.json @@ -112,13 +112,11 @@ "category": "semantic" }, { - "query": "circe generic auto and semi-auto derivation configuration", + "query": "DecodingFailure and ParsingFailure error types for handling circe errors", "relevant": [ - "modules/generic/shared/src/main/scala-3/io/circe/generic/auto.scala" - ], - "secondary": [ - "modules/generic/shared/src/main/scala-3/io/circe/generic/semiauto.scala" + "modules/core/shared/src/main/scala/io/circe/Error.scala" ], + "secondary": [], "category": "semantic" }, { diff --git a/benchmarks/annotations/exposed.json b/benchmarks/annotations/exposed.json index b48304a..fe031ec 100644 --- a/benchmarks/annotations/exposed.json +++ b/benchmarks/annotations/exposed.json @@ -26,7 +26,8 @@ { "query": "Transaction block and database session management", "relevant": [ - "exposed-core/src/main/kotlin/org/jetbrains/exposed/v1/core/Transaction.kt" + "exposed-core/src/main/kotlin/org/jetbrains/exposed/v1/core/Transaction.kt", + "exposed-core/src/main/kotlin/org/jetbrains/exposed/v1/core/transactions/Transactions.kt" ], "secondary": [], "category": "semantic" diff --git a/benchmarks/annotations/rxswift.json b/benchmarks/annotations/rxswift.json index abcccc3..55116b6 100644 --- a/benchmarks/annotations/rxswift.json +++ b/benchmarks/annotations/rxswift.json @@ -116,7 +116,8 @@ { "query": "zip operator for pairing emissions from multiple observables", "relevant": [ - "Sources/RxSwift/Zip.swift" + "Sources/RxSwift/Zip.swift", + "Sources/RxSwift/Zip+arity.swift" ], "secondary": [], "category": "semantic" diff --git a/benchmarks/annotations/sinatra.json b/benchmarks/annotations/sinatra.json index a39ea41..ea4049d 100644 --- a/benchmarks/annotations/sinatra.json +++ b/benchmarks/annotations/sinatra.json @@ -34,11 +34,7 @@ { "query": "how route handlers are compiled and URL patterns matched", "relevant": [ - { - "path": "lib/sinatra/base.rb", - "start_line": 1795, - "end_line": 1817 - } + "lib/sinatra/base.rb" ], "secondary": [], "category": "semantic" @@ -78,11 +74,7 @@ { "query": "how the Rack middleware stack is assembled before requests are handled", "relevant": [ - { - "path": "lib/sinatra/base.rb", - "start_line": 1670, - "end_line": 1676 - } + "lib/sinatra/base.rb" ], "secondary": [], "category": "architecture" @@ -181,11 +173,7 @@ { "query": "how Sinatra::Base registers class-level route helpers like get post put delete", "relevant": [ - { - "path": "lib/sinatra/base.rb", - "start_line": 1330, - "end_line": 1400 - } + "lib/sinatra/base.rb" ], "secondary": [], "category": "architecture" From d684944531d9590d662095f7252eb26dcdd7dedd Mon Sep 17 00:00:00 2001 From: Pringled Date: Fri, 17 Apr 2026 11:12:17 +0200 Subject: [PATCH 16/19] Refresh benchmark results (drop stale, add current run) Remove outdated result files from previous benchmark runs and add fresh result from current HEAD (NDCG@10=0.830). --- benchmarks/results/0e626b1451ea.json | 1325 ----------------- .../{970ee373c909.json => 19352d3f21ed.json} | 980 ++++++------ benchmarks/results/25f5751ef097.json | 550 ------- benchmarks/results/2b33d47d8783.json | 718 --------- benchmarks/results/2c6e4c281865.json | 718 --------- benchmarks/results/4266a1e40ab5.json | 346 ----- benchmarks/results/6c14e109002b.json | 988 ------------ benchmarks/results/820b38638cad.json | 472 ------ 8 files changed, 490 insertions(+), 5607 deletions(-) delete mode 100644 benchmarks/results/0e626b1451ea.json rename benchmarks/results/{970ee373c909.json => 19352d3f21ed.json} (54%) delete mode 100644 benchmarks/results/25f5751ef097.json delete mode 100644 benchmarks/results/2b33d47d8783.json delete mode 100644 benchmarks/results/2c6e4c281865.json delete mode 100644 benchmarks/results/4266a1e40ab5.json delete mode 100644 benchmarks/results/6c14e109002b.json delete mode 100644 benchmarks/results/820b38638cad.json diff --git a/benchmarks/results/0e626b1451ea.json b/benchmarks/results/0e626b1451ea.json deleted file mode 100644 index ccd5540..0000000 --- a/benchmarks/results/0e626b1451ea.json +++ /dev/null @@ -1,1325 +0,0 @@ -{ - "sha": "0e626b1451ead55622ff9f3437a07c7be4bcd4de", - "model": "minishlab/potion-code-16M", - "summary": { - "ndcg10": 0.825, - "p50_ms": 0.74, - "p90_ms": 3.594, - "p95_ms": 4.045, - "p99_ms": 4.355, - "index_ms": 481.1, - "by_category": { - "api": 0.6731, - "architecture": 0.7745, - "keyword": 0.7286, - "semantic": 0.8234, - "symbol": 0.9426 - } - }, - "by_language": { - "bash": { - "repos": 3, - "ndcg10": 0.8283, - "p50_ms": 0.545, - "p90_ms": 0.611, - "p95_ms": 0.622, - "p99_ms": 0.639, - "index_ms": 116.6 - }, - "c": { - "repos": 3, - "ndcg10": 0.7163, - "p50_ms": 0.883, - "p90_ms": 1.211, - "p95_ms": 1.282, - "p99_ms": 1.3, - "index_ms": 1514.8 - }, - "cpp": { - "repos": 3, - "ndcg10": 0.922, - "p50_ms": 0.628, - "p90_ms": 4.239, - "p95_ms": 5.291, - "p99_ms": 5.647, - "index_ms": 788.8 - }, - "csharp": { - "repos": 3, - "ndcg10": 0.824, - "p50_ms": 0.799, - "p90_ms": 5.235, - "p95_ms": 6.075, - "p99_ms": 7.717, - "index_ms": 469.8 - }, - "dart": { - "repos": 3, - "ndcg10": 0.7621, - "p50_ms": 0.602, - "p90_ms": 0.674, - "p95_ms": 0.679, - "p99_ms": 0.705, - "index_ms": 72.6 - }, - "elixir": { - "repos": 3, - "ndcg10": 0.8663, - "p50_ms": 0.566, - "p90_ms": 4.791, - "p95_ms": 5.136, - "p99_ms": 5.624, - "index_ms": 199.8 - }, - "go": { - "repos": 3, - "ndcg10": 0.8927, - "p50_ms": 0.598, - "p90_ms": 3.408, - "p95_ms": 3.897, - "p99_ms": 4.126, - "index_ms": 153.6 - }, - "haskell": { - "repos": 3, - "ndcg10": 0.7462, - "p50_ms": 0.712, - "p90_ms": 0.789, - "p95_ms": 0.801, - "p99_ms": 0.813, - "index_ms": 477.0 - }, - "java": { - "repos": 3, - "ndcg10": 0.8258, - "p50_ms": 1.161, - "p90_ms": 9.461, - "p95_ms": 13.119, - "p99_ms": 13.573, - "index_ms": 958.2 - }, - "javascript": { - "repos": 3, - "ndcg10": 0.8917, - "p50_ms": 0.444, - "p90_ms": 1.658, - "p95_ms": 1.675, - "p99_ms": 1.69, - "index_ms": 35.5 - }, - "kotlin": { - "repos": 3, - "ndcg10": 0.8076, - "p50_ms": 0.846, - "p90_ms": 4.632, - "p95_ms": 4.945, - "p99_ms": 5.756, - "index_ms": 231.9 - }, - "lua": { - "repos": 4, - "ndcg10": 0.7626, - "p50_ms": 0.792, - "p90_ms": 0.962, - "p95_ms": 0.981, - "p99_ms": 1.011, - "index_ms": 371.4 - }, - "php": { - "repos": 3, - "ndcg10": 0.8141, - "p50_ms": 0.994, - "p90_ms": 7.35, - "p95_ms": 7.451, - "p99_ms": 7.585, - "index_ms": 831.7 - }, - "python": { - "repos": 9, - "ndcg10": 0.8591, - "p50_ms": 0.498, - "p90_ms": 3.351, - "p95_ms": 3.539, - "p99_ms": 3.728, - "index_ms": 155.9 - }, - "ruby": { - "repos": 3, - "ndcg10": 0.8568, - "p50_ms": 0.62, - "p90_ms": 4.481, - "p95_ms": 5.553, - "p99_ms": 6.062, - "index_ms": 99.5 - }, - "rust": { - "repos": 3, - "ndcg10": 0.8378, - "p50_ms": 0.793, - "p90_ms": 5.247, - "p95_ms": 5.611, - "p99_ms": 5.841, - "index_ms": 521.2 - }, - "scala": { - "repos": 3, - "ndcg10": 0.864, - "p50_ms": 0.846, - "p90_ms": 4.076, - "p95_ms": 4.272, - "p99_ms": 4.4, - "index_ms": 386.8 - }, - "swift": { - "repos": 3, - "ndcg10": 0.8353, - "p50_ms": 0.731, - "p90_ms": 3.924, - "p95_ms": 4.118, - "p99_ms": 4.726, - "index_ms": 236.6 - }, - "typescript": { - "repos": 3, - "ndcg10": 0.7185, - "p50_ms": 0.872, - "p90_ms": 4.836, - "p95_ms": 4.893, - "p99_ms": 5.06, - "index_ms": 467.4 - }, - "zig": { - "repos": 3, - "ndcg10": 0.8685, - "p50_ms": 0.864, - "p90_ms": 0.942, - "p95_ms": 0.956, - "p99_ms": 1.092, - "index_ms": 1532.8 - } - }, - "repos": [ - { - "repo": "abseil-cpp", - "language": "cpp", - "chunks": 3083, - "ndcg5": 0.913500228802621, - "ndcg10": 0.913500228802621, - "p50_ms": 0.8359784842468798, - "p90_ms": 7.583103619981557, - "p95_ms": 7.704812803422102, - "p99_ms": 8.263728977763092, - "index_ms": 1707.6116660027765, - "by_category": { - "architecture": 1.0, - "semantic": 0.9180003050701615, - "symbol": 0.8333333333333334 - } - }, - { - "repo": "aeson", - "language": "haskell", - "chunks": 393, - "ndcg5": 0.787707118843058, - "ndcg10": 0.8075975589033458, - "p50_ms": 0.5011040047975257, - "p90_ms": 0.5615003145067021, - "p95_ms": 0.5713250036933459, - "p99_ms": 0.589564987749327, - "index_ms": 174.8485830030404, - "by_category": { - "architecture": 0.6722706232293573, - "semantic": 0.852706537461342 - } - }, - { - "repo": "aiohttp", - "language": "python", - "chunks": 756, - "ndcg5": 0.7595501987615106, - "ndcg10": 0.8051055391429651, - "p50_ms": 0.5815000040456653, - "p90_ms": 4.117499978747219, - "p95_ms": 4.4322079920675606, - "p99_ms": 4.685175203485414, - "index_ms": 246.81824998697266, - "by_category": { - "architecture": 0.8356195986270888, - "semantic": 0.6730976812902937, - "symbol": 1.0 - } - }, - { - "repo": "alamofire", - "language": "swift", - "chunks": 649, - "ndcg5": 0.9613147192765459, - "ndcg10": 0.9613147192765459, - "p50_ms": 0.5750205018557608, - "p90_ms": 4.257316316943616, - "p95_ms": 4.562059779709672, - "p99_ms": 5.930345554661469, - "index_ms": 215.802666003583, - "by_category": { - "architecture": 0.9732402630493958, - "semantic": 0.9369612360347936, - "symbol": 1.0 - } - }, - { - "repo": "axios", - "language": "javascript", - "chunks": 166, - "ndcg5": 0.8648468052243118, - "ndcg10": 0.8908186768484192, - "p50_ms": 0.6280420057009906, - "p90_ms": 2.7215044799959287, - "p95_ms": 2.7452523994725198, - "p99_ms": 2.7522504690568894, - "index_ms": 59.172416978981346, - "by_category": { - "architecture": 0.6793305495640389, - "semantic": 0.9355245321275762, - "symbol": 1.0 - } - }, - { - "repo": "axum", - "language": "rust", - "chunks": 509, - "ndcg5": 0.7324356157188728, - "ndcg10": 0.7826858855802271, - "p50_ms": 0.6387920002453029, - "p90_ms": 3.7593211978673935, - "p95_ms": 3.898211038904265, - "p99_ms": 4.192742212908342, - "index_ms": 179.15129198809154, - "by_category": { - "architecture": 0.7297596420238124, - "semantic": 0.8040593595314548, - "symbol": 0.7854023957026741 - } - }, - { - "repo": "bash-it", - "language": "bash", - "chunks": 723, - "ndcg5": 0.6075207382645395, - "ndcg10": 0.6574637191224815, - "p50_ms": 0.9501869935775176, - "p90_ms": 1.0941753222141415, - "p95_ms": 1.1065646074712276, - "p99_ms": 1.1227465374395251, - "index_ms": 265.7366670027841, - "by_category": { - "api": 0.7153382790366966, - "keyword": 0.8261859507142916, - "semantic": 0.5836667746772907 - } - }, - { - "repo": "bats-core", - "language": "bash", - "chunks": 48, - "ndcg5": 0.9011859507142915, - "ndcg10": 0.9011859507142915, - "p50_ms": 0.35770850081462413, - "p90_ms": 0.3865506179863587, - "p95_ms": 0.39504169544670736, - "p99_ms": 0.42607554525602603, - "index_ms": 18.395249993773177, - "by_category": { - "architecture": 0.8231227867347022, - "semantic": 0.9432199620879166 - } - }, - { - "repo": "cats", - "language": "scala", - "chunks": 1254, - "ndcg5": 0.8632034061286296, - "ndcg10": 0.8632034061286296, - "p50_ms": 1.034812506986782, - "p90_ms": 5.0372247118502855, - "p95_ms": 5.134683330834378, - "p99_ms": 5.314170265628491, - "index_ms": 643.0171249958221, - "by_category": { - "architecture": 0.8467132018086354, - "semantic": 0.787721531533805, - "symbol": 1.0 - } - }, - { - "repo": "chi", - "language": "go", - "chunks": 262, - "ndcg5": 0.8121926566738839, - "ndcg10": 0.8342931456297593, - "p50_ms": 0.692771005560644, - "p90_ms": 3.0856421013595536, - "p95_ms": 3.1601776368916035, - "p99_ms": 3.177035511471331, - "index_ms": 98.77616699668579, - "by_category": { - "architecture": 0.6259028523654583, - "semantic": 0.9589921948412731, - "symbol": 0.8769765845238192 - } - }, - { - "repo": "circe", - "language": "scala", - "chunks": 192, - "ndcg5": 0.8064982009888298, - "ndcg10": 0.8064982009888298, - "p50_ms": 0.5622500029858202, - "p90_ms": 2.7770914079155773, - "p95_ms": 2.906808393890969, - "p99_ms": 3.037728880881332, - "index_ms": 87.3050410009455, - "by_category": { - "architecture": 0.7261859507142916, - "semantic": 0.7902305513833007, - "symbol": 1.0 - } - }, - { - "repo": "click", - "language": "python", - "chunks": 315, - "ndcg5": 1.0, - "ndcg10": 1.0, - "p50_ms": 0.42554149695206434, - "p90_ms": 3.3936878025997435, - "p95_ms": 3.5590875093475915, - "p99_ms": 3.6079175051418133, - "index_ms": 109.66491600265726, - "by_category": { - "architecture": 1.0, - "semantic": 1.0, - "symbol": 1.0 - } - }, - { - "repo": "cobra", - "language": "go", - "chunks": 394, - "ndcg5": 0.967519867361079, - "ndcg10": 0.967519867361079, - "p50_ms": 0.5322085053194314, - "p90_ms": 3.5869827202986944, - "p95_ms": 4.743322612193879, - "p99_ms": 5.073764524131547, - "index_ms": 145.85691600223072, - "by_category": { - "architecture": 1.0, - "semantic": 0.94094521338378, - "symbol": 1.0 - } - }, - { - "repo": "commons-lang", - "language": "java", - "chunks": 3152, - "ndcg5": 0.8511907952337322, - "ndcg10": 0.8944264122460902, - "p50_ms": 1.0067080147564411, - "p90_ms": 8.8390419841744, - "p95_ms": 18.953541002701968, - "p99_ms": 19.231874600518495, - "index_ms": 1037.116874998901, - "by_category": { - "architecture": 0.7216293209723186, - "semantic": 0.9012904781607812, - "symbol": 1.0 - } - }, - { - "repo": "curl", - "language": "c", - "chunks": 4444, - "ndcg5": 0.5564993486741835, - "ndcg10": 0.6602872366816288, - "p50_ms": 0.9120829927269369, - "p90_ms": 1.047766619012691, - "p95_ms": 1.0650514654116705, - "p99_ms": 1.0861103056231514, - "index_ms": 1485.1990829920396, - "by_category": { - "architecture": 0.5728575877940218, - "semantic": 0.7318205857714887 - } - }, - { - "repo": "dapper", - "language": "csharp", - "chunks": 411, - "ndcg5": 0.7946394630357186, - "ndcg10": 0.8457831557244532, - "p50_ms": 0.5621459858957678, - "p90_ms": 3.380624996498228, - "p95_ms": 4.1601707795052825, - "p99_ms": 7.886766942392563, - "index_ms": 170.22733399062417, - "by_category": { - "architecture": 0.5801175685032033, - "semantic": 0.920327929761907, - "symbol": 0.8769765845238192 - } - }, - { - "repo": "dio", - "language": "dart", - "chunks": 153, - "ndcg5": 0.6945949461156704, - "ndcg10": 0.6945949461156704, - "p50_ms": 0.5702290072804317, - "p90_ms": 0.6426416977774352, - "p95_ms": 0.652108654321637, - "p99_ms": 0.6740217490005307, - "index_ms": 63.34733299445361, - "by_category": { - "architecture": 0.6421082758814111, - "semantic": 0.7077166136742353 - } - }, - { - "repo": "ecto", - "language": "elixir", - "chunks": 755, - "ndcg5": 0.8822031319548903, - "ndcg10": 0.9009508786447862, - "p50_ms": 0.5339159979484975, - "p90_ms": 7.009525399189442, - "p95_ms": 7.3724326968658715, - "p99_ms": 7.380652955034748, - "index_ms": 294.9543750146404, - "by_category": { - "architecture": 1.0, - "semantic": 0.9220874569753447, - "symbol": 0.7103099178571526 - } - }, - { - "repo": "exposed", - "language": "kotlin", - "chunks": 744, - "ndcg5": 0.695046716481194, - "ndcg10": 0.74044411434417, - "p50_ms": 0.8791250147623941, - "p90_ms": 4.022375014028513, - "p95_ms": 4.698374991130551, - "p99_ms": 6.1841750019812, - "index_ms": 259.76479199016467, - "by_category": { - "architecture": 0.6547543623015969, - "semantic": 0.7031870857127577, - "symbol": 1.0 - } - }, - { - "repo": "express", - "language": "javascript", - "chunks": 52, - "ndcg5": 0.8468751674977092, - "ndcg10": 0.8904276207104669, - "p50_ms": 0.28458300221245736, - "p90_ms": 0.3136877989163622, - "p95_ms": 0.31417915306519717, - "p99_ms": 0.3188022266840562, - "index_ms": 20.432833000086248, - "by_category": { - "architecture": 0.8348984753292212, - "semantic": 0.8964263086904791, - "symbol": 1.0 - } - }, - { - "repo": "fastapi", - "language": "python", - "chunks": 597, - "ndcg5": 0.7297297540684241, - "ndcg10": 0.7869838171738259, - "p50_ms": 0.4806255019502714, - "p90_ms": 3.5768162983004004, - "p95_ms": 3.6216264372342266, - "p99_ms": 3.809125284024048, - "index_ms": 188.40233300579712, - "by_category": { - "architecture": 0.6392000559545565, - "semantic": 0.7831594939743279, - "symbol": 1.0 - } - }, - { - "repo": "flask", - "language": "python", - "chunks": 291, - "ndcg5": 0.8847644106288912, - "ndcg10": 0.9039540836573546, - "p50_ms": 0.45437499647960067, - "p90_ms": 2.918540994869545, - "p95_ms": 2.9842500225640833, - "p99_ms": 3.5330500104464595, - "index_ms": 95.09920899290591, - "by_category": { - "architecture": 0.8548201992475203, - "semantic": 0.9090267601883458, - "symbol": 1.0 - } - }, - { - "repo": "fmtlib", - "language": "cpp", - "chunks": 476, - "ndcg5": 0.9715338279036697, - "ndcg10": 0.9715338279036697, - "p50_ms": 0.46133350406307727, - "p90_ms": 0.8700334059540227, - "p95_ms": 3.6349193745991215, - "p99_ms": 3.676117483410053, - "index_ms": 355.450374976499, - "by_category": { - "architecture": 1.0, - "semantic": 0.9593340398623853, - "symbol": 1.0 - } - }, - { - "repo": "gin", - "language": "go", - "chunks": 576, - "ndcg5": 0.8763658848604823, - "ndcg10": 0.8763658848604823, - "p50_ms": 0.570271018659696, - "p90_ms": 3.5507878172211353, - "p95_ms": 3.787897907022853, - "p99_ms": 4.126446001755538, - "index_ms": 216.1938339995686, - "by_category": { - "architecture": 0.9638734584787886, - "semantic": 0.7949160860306287, - "symbol": 1.0 - } - }, - { - "repo": "gson", - "language": "java", - "chunks": 1460, - "ndcg5": 0.850704076119467, - "ndcg10": 0.8616244479603751, - "p50_ms": 1.0180000099353492, - "p90_ms": 6.292270609992557, - "p95_ms": 6.9960068256477825, - "p99_ms": 7.28743416344514, - "index_ms": 478.62816700944677, - "by_category": { - "architecture": 0.677192486230418, - "semantic": 0.8523719014285831, - "symbol": 1.0 - } - }, - { - "repo": "guzzle", - "language": "php", - "chunks": 206, - "ndcg5": 0.9140510731804075, - "ndcg10": 0.9140510731804075, - "p50_ms": 0.604290995397605, - "p90_ms": 2.941170590929687, - "p95_ms": 3.011911053908989, - "p99_ms": 3.0491822154726833, - "index_ms": 68.83974999072962, - "by_category": { - "architecture": 1.0, - "semantic": 0.8677708818160114, - "symbol": 1.0 - } - }, - { - "repo": "http-dart", - "language": "dart", - "chunks": 89, - "ndcg5": 0.7566124015300086, - "ndcg10": 0.784641880764834, - "p50_ms": 0.5398750072345138, - "p90_ms": 0.5873660964425653, - "p95_ms": 0.5904170015128329, - "p99_ms": 0.6094170134747401, - "index_ms": 37.69270799239166, - "by_category": { - "architecture": 0.75, - "semantic": 0.7884909786275932 - } - }, - { - "repo": "http4s", - "language": "scala", - "chunks": 952, - "ndcg5": 0.9221719901717009, - "ndcg10": 0.9221719901717009, - "p50_ms": 0.9422080038348213, - "p90_ms": 4.4123576808488005, - "p95_ms": 4.7744038500241, - "p99_ms": 4.847680772363674, - "index_ms": 430.08958399877883, - "by_category": { - "architecture": 0.9732402630493958, - "semantic": 0.8945513581632737, - "symbol": 1.0 - } - }, - { - "repo": "httpx", - "language": "python", - "chunks": 248, - "ndcg5": 0.879316171195208, - "ndcg10": 0.8890486663184692, - "p50_ms": 0.46270800521597266, - "p90_ms": 2.643540996359661, - "p95_ms": 3.078707988606766, - "p99_ms": 3.101474401773885, - "index_ms": 84.27445898996666, - "by_category": { - "architecture": 0.8281337292123195, - "semantic": 0.8747873209112909, - "symbol": 1.0 - } - }, - { - "repo": "jackson-databind", - "language": "java", - "chunks": 4570, - "ndcg5": 0.6754072534454754, - "ndcg10": 0.7212470920357018, - "p50_ms": 1.4578330010408536, - "p90_ms": 13.25191218056716, - "p95_ms": 13.408235411043279, - "p99_ms": 14.200313486508092, - "index_ms": 1358.8531670102384, - "by_category": { - "architecture": 0.6403142945053555, - "semantic": 0.6233581306024223, - "symbol": 0.9355245321275764 - } - }, - { - "repo": "kotlinx-coroutines", - "language": "kotlin", - "chunks": 884, - "ndcg5": 0.8780803155822425, - "ndcg10": 0.8958906749376437, - "p50_ms": 0.7530210132244974, - "p90_ms": 4.535983098321594, - "p95_ms": 4.744506884890144, - "p99_ms": 5.362734985828864, - "index_ms": 304.22916600946337, - "by_category": { - "architecture": 0.8102255193577976, - "semantic": 0.8919383529056771, - "symbol": 1.0 - } - }, - { - "repo": "ktor", - "language": "kotlin", - "chunks": 425, - "ndcg5": 0.7385032847341471, - "ndcg10": 0.7863363921346742, - "p50_ms": 0.9068334911717102, - "p90_ms": 5.338646413292736, - "p95_ms": 5.393464288499672, - "p99_ms": 5.722260066831949, - "index_ms": 131.74137499299832, - "by_category": { - "architecture": 0.665712506739421, - "semantic": 0.7238200422167912, - "symbol": 1.0 - } - }, - { - "repo": "laravel-framework", - "language": "php", - "chunks": 6197, - "ndcg5": 0.6294399888351122, - "ndcg10": 0.6678420402122851, - "p50_ms": 1.431125492672436, - "p90_ms": 15.303666301770136, - "p95_ms": 15.46663686458487, - "p99_ms": 15.829093754873611, - "index_ms": 2296.1893750180025, - "by_category": { - "architecture": 0.6041947436776243, - "semantic": 0.6662830938812081, - "symbol": 0.7827324383928644 - } - }, - { - "repo": "lazy.nvim", - "language": "lua", - "chunks": 300, - "ndcg5": 0.6371951400189322, - "ndcg10": 0.6989634817893211, - "p50_ms": 0.7048334955470636, - "p90_ms": 0.9701455914182588, - "p95_ms": 0.9824069100432098, - "p99_ms": 1.0063149756751955, - "index_ms": 141.71633298974484, - "by_category": { - "architecture": 0.7937228666330852, - "semantic": 0.6214330760080596 - } - }, - { - "repo": "libuv", - "language": "c", - "chunks": 1345, - "ndcg5": 0.589162843933566, - "ndcg10": 0.6223050928949458, - "p50_ms": 0.8469374879496172, - "p90_ms": 1.6239627992035823, - "p95_ms": 1.789881256991066, - "p99_ms": 1.7918762500630692, - "index_ms": 535.511875001248, - "by_category": { - "api": 0.6309297535714575, - "keyword": 0.6309297535714575, - "semantic": 0.6213467972642222 - } - }, - { - "repo": "messagepack-csharp", - "language": "csharp", - "chunks": 1125, - "ndcg5": 0.8625205636356418, - "ndcg10": 0.8695839122786332, - "p50_ms": 0.9211455035256222, - "p90_ms": 5.436958899372258, - "p95_ms": 5.8366475874208845, - "p99_ms": 6.04662951111095, - "index_ms": 483.2975000026636, - "by_category": { - "architecture": 0.622590627025877, - "semantic": 0.8779239708299064, - "symbol": 1.0 - } - }, - { - "repo": "mini.nvim", - "language": "lua", - "chunks": 2156, - "ndcg5": 0.9815464876785729, - "ndcg10": 0.9815464876785729, - "p50_ms": 0.5839795048814267, - "p90_ms": 0.7903333054855466, - "p95_ms": 0.8082100859610364, - "p99_ms": 0.8120420103659853, - "index_ms": 798.2684169837739, - "by_category": { - "architecture": 1.0, - "semantic": 0.9769331095982161 - } - }, - { - "repo": "model2vec", - "language": "python", - "chunks": 107, - "ndcg5": 0.6563614357577399, - "ndcg10": 0.6955916766562531, - "p50_ms": 0.4558544897008687, - "p90_ms": 2.2249923000345007, - "p95_ms": 2.294873262871988, - "p99_ms": 2.343608257942833, - "index_ms": 40.00454198103398, - "by_category": { - "architecture": 0.6343453280002408, - "semantic": 0.7084563429888835, - "symbol": 0.7956176024115139 - } - }, - { - "repo": "monolog", - "language": "php", - "chunks": 417, - "ndcg5": 0.8516433990956823, - "ndcg10": 0.8605053634348847, - "p50_ms": 0.9475624974584207, - "p90_ms": 3.806095797335729, - "p95_ms": 3.8735851136152633, - "p99_ms": 3.877417015901301, - "index_ms": 129.9723330012057, - "by_category": { - "architecture": 0.619392015186447, - "semantic": 0.9113147192765458, - "symbol": 1.0 - } - }, - { - "repo": "newtonsoft-json", - "language": "csharp", - "chunks": 2152, - "ndcg5": 0.7249554830799518, - "ndcg10": 0.7566736495298176, - "p50_ms": 0.9123125055339187, - "p90_ms": 6.88730859255884, - "p95_ms": 8.228262196644211, - "p99_ms": 9.217086040298453, - "index_ms": 755.88537499425, - "by_category": { - "architecture": 0.8229172249923645, - "semantic": 0.6541790582401968, - "symbol": 1.0 - } - }, - { - "repo": "nlohmann-json", - "language": "cpp", - "chunks": 791, - "ndcg5": 0.8699118594962764, - "ndcg10": 0.8808322313371845, - "p50_ms": 0.5861040117451921, - "p90_ms": 4.263791095581837, - "p95_ms": 4.5340961529291235, - "p99_ms": 5.000419225252698, - "index_ms": 303.26854198938236, - "by_category": { - "architecture": 0.8478663329217984, - "semantic": 0.8681580296291103, - "symbol": 1.0 - } - }, - { - "repo": "nvim-lspconfig", - "language": "lua", - "chunks": 1055, - "ndcg5": 0.537707118843058, - "ndcg10": 0.5850222192975525, - "p50_ms": 1.2967084912816063, - "p90_ms": 1.4540576928993687, - "p95_ms": 1.488291352870874, - "p99_ms": 1.510458262055181, - "index_ms": 363.9677089813631, - "by_category": { - "architecture": 0.42896124839380506, - "semantic": 0.6125623906335079 - } - }, - { - "repo": "nvm", - "language": "bash", - "chunks": 153, - "ndcg5": 0.9261859507142916, - "ndcg10": 0.9261859507142916, - "p50_ms": 0.32829149859026074, - "p90_ms": 0.3521295147947967, - "p95_ms": 0.3654753338196315, - "p99_ms": 0.36826225026743487, - "index_ms": 65.57704199803993, - "by_category": { - "architecture": 0.8154648767857288, - "semantic": 0.9384882922619097 - } - }, - { - "repo": "pandoc", - "language": "haskell", - "chunks": 3090, - "ndcg5": 0.6333247437591728, - "ndcg10": 0.6650429102090386, - "p50_ms": 1.2184164952486753, - "p90_ms": 1.3609381101559848, - "p95_ms": 1.3780146109638736, - "p99_ms": 1.3839365070452914, - "index_ms": 1205.0110420095734, - "by_category": { - "architecture": 0.6368991050595311, - "semantic": 0.6838054469753768 - } - }, - { - "repo": "phoenix", - "language": "elixir", - "chunks": 546, - "ndcg5": 0.7696427696468264, - "ndcg10": 0.7848567078740838, - "p50_ms": 0.600458006374538, - "p90_ms": 4.189875023439527, - "p95_ms": 4.434775019763035, - "p99_ms": 5.384455000748858, - "index_ms": 201.61466699209996, - "by_category": { - "architecture": 0.8547262294684788, - "semantic": 0.8270092609025553, - "symbol": 0.47689218602446437 - } - }, - { - "repo": "plug", - "language": "elixir", - "chunks": 249, - "ndcg5": 0.9130929753571457, - "ndcg10": 0.9130929753571457, - "p50_ms": 0.5636455025523901, - "p90_ms": 3.174762506387197, - "p95_ms": 3.600852060480975, - "p99_ms": 4.107803215156308, - "index_ms": 102.86025001551025, - "by_category": { - "architecture": 1.0, - "semantic": 0.902209268112247, - "symbol": 0.8769765845238192 - } - }, - { - "repo": "pydantic", - "language": "python", - "chunks": 1518, - "ndcg5": 0.7393950348587884, - "ndcg10": 0.7605345265791209, - "p50_ms": 0.6626245012739673, - "p90_ms": 5.441403909935616, - "p95_ms": 5.579914909321815, - "p99_ms": 5.89718299685046, - "index_ms": 494.09887500223704, - "by_category": { - "architecture": 0.7517473446718608, - "semantic": 0.7577007889556063, - "symbol": 0.7773705614469083 - } - }, - { - "repo": "rack", - "language": "ruby", - "chunks": 249, - "ndcg5": 0.8884601594287914, - "ndcg10": 0.8884601594287914, - "p50_ms": 0.5859579978277907, - "p90_ms": 3.852424796787092, - "p95_ms": 5.2626910837716405, - "p99_ms": 6.125838220759759, - "index_ms": 97.09183298400603, - "by_category": { - "architecture": 1.0, - "semantic": 0.7992282869718244, - "symbol": 1.0 - } - }, - { - "repo": "rails", - "language": "ruby", - "chunks": 465, - "ndcg5": 0.8788952563203779, - "ndcg10": 0.8788952563203779, - "p50_ms": 0.9068329964065924, - "p90_ms": 4.355817317264157, - "p95_ms": 6.075489896466024, - "p99_ms": 6.22479798796121, - "index_ms": 170.25979098980315, - "by_category": { - "architecture": 0.815634157070918, - "semantic": 1.0, - "symbol": 0.809299428192324 - } - }, - { - "repo": "redis", - "language": "c", - "chunks": 6289, - "ndcg5": 0.8661732909393883, - "ndcg10": 0.8661732909393883, - "p50_ms": 0.8913954952731729, - "p90_ms": 0.9613416943466291, - "p95_ms": 0.9922378274495713, - "p99_ms": 1.0218139746575616, - "index_ms": 2523.722749989247, - "by_category": { - "architecture": 0.8761859507142915, - "semantic": 0.8561606311644849 - } - }, - { - "repo": "redux", - "language": "javascript", - "chunks": 53, - "ndcg5": 0.8678612069551187, - "ndcg10": 0.8937566584607637, - "p50_ms": 0.42075001692865044, - "p90_ms": 1.939462817972526, - "p95_ms": 1.9645479609607719, - "p99_ms": 1.9975767817231826, - "index_ms": 26.799333980306983, - "by_category": { - "architecture": 0.756966639313657, - "semantic": 0.925925925925926, - "symbol": 1.0 - } - }, - { - "repo": "requests", - "language": "python", - "chunks": 169, - "ndcg5": 0.9454570258581952, - "ndcg10": 0.9454570258581952, - "p50_ms": 0.40947900561150163, - "p90_ms": 2.863712803809904, - "p95_ms": 3.1386062473757192, - "p99_ms": 3.1554212648188695, - "index_ms": 56.010208994848654, - "by_category": { - "architecture": 0.9144279211792, - "semantic": 0.9385181336136883, - "symbol": 1.0 - } - }, - { - "repo": "riverpod", - "language": "dart", - "chunks": 316, - "ndcg5": 0.7920624189796882, - "ndcg10": 0.8071139187628873, - "p50_ms": 0.6961665058042854, - "p90_ms": 0.7927451923023909, - "p95_ms": 0.7958913702168502, - "p99_ms": 0.832878281653393, - "index_ms": 116.72670801635832, - "by_category": { - "architecture": 0.7542345811355592, - "semantic": 0.8355874082545255 - } - }, - { - "repo": "rxswift", - "language": "swift", - "chunks": 686, - "ndcg5": 0.7329807820807919, - "ndcg10": 0.758876233586437, - "p50_ms": 0.805042014690116, - "p90_ms": 3.799483581678942, - "p95_ms": 3.841510115307756, - "p99_ms": 4.11210203601513, - "index_ms": 214.31237499928102, - "by_category": { - "architecture": 0.6934264036172708, - "semantic": 0.7193781242996131, - "symbol": 1.0 - } - }, - { - "repo": "serde", - "language": "rust", - "chunks": 1164, - "ndcg5": 0.7430676558073394, - "ndcg10": 0.7755075663132924, - "p50_ms": 0.9024374885484576, - "p90_ms": 4.4721500045852745, - "p95_ms": 4.777062489301898, - "p99_ms": 4.7913125093327835, - "index_ms": 451.6937500156928, - "by_category": { - "architecture": 0.7974500308912245, - "semantic": 0.6726085028922673, - "symbol": 0.875 - } - }, - { - "repo": "sinatra", - "language": "ruby", - "chunks": 68, - "ndcg5": 0.8030803155822426, - "ndcg10": 0.8030803155822426, - "p50_ms": 0.36824999551754445, - "p90_ms": 5.233467186917551, - "p95_ms": 5.32032230985351, - "p99_ms": 5.835698071168735, - "index_ms": 31.241249991580844, - "by_category": { - "architecture": 0.41232126232897015, - "semantic": 0.8888888888888888, - "symbol": 1.0 - } - }, - { - "repo": "starlette", - "language": "python", - "chunks": 213, - "ndcg5": 0.9360462354097291, - "ndcg10": 0.945257016534361, - "p50_ms": 0.5468339950311929, - "p90_ms": 2.978333010105416, - "p95_ms": 3.1631670135539025, - "p99_ms": 3.415466210572049, - "index_ms": 88.52279098937288, - "by_category": { - "architecture": 0.8954906679292346, - "semantic": 1.0, - "symbol": 1.0 - } - }, - { - "repo": "telescope.nvim", - "language": "lua", - "chunks": 540, - "ndcg5": 0.7850340567062908, - "ndcg10": 0.7850340567062908, - "p50_ms": 0.5819370126118883, - "p90_ms": 0.6329878058750182, - "p95_ms": 0.6461207958636807, - "p99_ms": 0.7163569651311262, - "index_ms": 181.57987500308082, - "by_category": { - "architecture": 0.8557660725862154, - "semantic": 0.7469475866171005 - } - }, - { - "repo": "tokio", - "language": "rust", - "chunks": 2730, - "ndcg5": 0.9459860394574093, - "ndcg10": 0.9552148242963877, - "p50_ms": 0.8382499945582822, - "p90_ms": 7.509454485261814, - "p95_ms": 8.158177392033394, - "p99_ms": 8.54023546417011, - "index_ms": 932.8031670011114, - "by_category": { - "architecture": 0.8507160809879593, - "semantic": 1.0, - "symbol": 1.0 - } - }, - { - "repo": "trpc", - "language": "typescript", - "chunks": 362, - "ndcg5": 0.7517036349312507, - "ndcg10": 0.7810815764501158, - "p50_ms": 0.8942080021370202, - "p90_ms": 3.423420785111375, - "p95_ms": 3.4637704768101685, - "p99_ms": 3.4723204755573533, - "index_ms": 125.37070800317451, - "by_category": { - "architecture": 0.6937431130989311, - "semantic": 0.724526660601552, - "symbol": 1.0 - } - }, - { - "repo": "vapor", - "language": "swift", - "chunks": 780, - "ndcg5": 0.7328014081758261, - "ndcg10": 0.7858329160889163, - "p50_ms": 0.8136454998748377, - "p90_ms": 3.713975599384867, - "p95_ms": 3.9491583505878225, - "p99_ms": 4.135865274001844, - "index_ms": 279.54458302701823, - "by_category": { - "architecture": 0.42599353221896225, - "semantic": 0.8170484089372457, - "symbol": 1.0 - } - }, - { - "repo": "vitest", - "language": "typescript", - "chunks": 1079, - "ndcg5": 0.6517782560805999, - "ndcg10": 0.7024504745746012, - "p50_ms": 0.8540415001334623, - "p90_ms": 4.909216606756672, - "p95_ms": 4.9134389279061, - "p99_ms": 4.947987804480363, - "index_ms": 358.914584008744, - "by_category": { - "architecture": 0.5291699572630004, - "semantic": 0.7158172498103655, - "symbol": 1.0 - } - }, - { - "repo": "xmonad", - "language": "haskell", - "chunks": 123, - "ndcg5": 0.7558852054218812, - "ndcg10": 0.7661043253013055, - "p50_ms": 0.41520848753862083, - "p90_ms": 0.4436040937434882, - "p95_ms": 0.4542618480627425, - "p99_ms": 0.4652187824831344, - "index_ms": 51.17049999535084, - "by_category": { - "architecture": 0.7998908847793088, - "semantic": 0.7435799523159697 - } - }, - { - "repo": "zig", - "language": "zig", - "chunks": 13059, - "ndcg5": 0.8696394630357187, - "ndcg10": 0.8696394630357187, - "p50_ms": 1.4732710114913061, - "p90_ms": 1.6063457791460678, - "p95_ms": 1.609607996942941, - "p99_ms": 1.6289879896794446, - "index_ms": 3939.797249971889, - "by_category": { - "architecture": 0.6666666666666666, - "semantic": 0.9054581918067278 - } - }, - { - "repo": "zig-clap", - "language": "zig", - "chunks": 99, - "ndcg5": 0.9130929753571457, - "ndcg10": 0.9130929753571457, - "p50_ms": 0.42174948612228036, - "p90_ms": 0.44458750053308904, - "p95_ms": 0.4576541556161829, - "p99_ms": 0.4903972442843951, - "index_ms": 51.486374984961, - "by_category": { - "architecture": 1.0, - "semantic": 0.9034366392857175 - } - }, - { - "repo": "zls", - "language": "zig", - "chunks": 1300, - "ndcg5": 0.8077324383928645, - "ndcg10": 0.8227839381760635, - "p50_ms": 0.6984169885981828, - "p90_ms": 0.7757497020065784, - "p95_ms": 0.7996729502337988, - "p99_ms": 1.157601767627056, - "index_ms": 607.2473329841159, - "by_category": { - "architecture": 0.7946985004009851, - "semantic": 0.837906866208798 - } - }, - { - "repo": "zod", - "language": "typescript", - "chunks": 1777, - "ndcg5": 0.6721003911969763, - "ndcg10": 0.6721003911969763, - "p50_ms": 0.867208480485715, - "p90_ms": 6.174491290585138, - "p95_ms": 6.302716031495947, - "p99_ms": 6.759476788865867, - "index_ms": 917.9992089921143, - "by_category": { - "architecture": 0.6577324383928644, - "semantic": 0.6393136977206204, - "symbol": 0.8333333333333334 - } - } - ] -} diff --git a/benchmarks/results/970ee373c909.json b/benchmarks/results/19352d3f21ed.json similarity index 54% rename from benchmarks/results/970ee373c909.json rename to benchmarks/results/19352d3f21ed.json index e7a64c3..add37aa 100644 --- a/benchmarks/results/970ee373c909.json +++ b/benchmarks/results/19352d3f21ed.json @@ -1,18 +1,18 @@ { - "sha": "970ee373c9096c4779c387e716848a2d12e36ac4", + "sha": "19352d3f21edec01cedb45fb519098ef757c3b90", "model": "minishlab/potion-code-16M", "summary": { - "ndcg10": 0.8248, - "p50_ms": 0.732, - "p90_ms": 3.519, - "p95_ms": 3.968, - "p99_ms": 4.273, - "index_ms": 470.0, + "ndcg10": 0.8298, + "p50_ms": 0.735, + "p90_ms": 3.541, + "p95_ms": 3.984, + "p99_ms": 4.302, + "index_ms": 453.8, "by_category": { "api": 0.6731, - "architecture": 0.7725, + "architecture": 0.781, "keyword": 0.7286, - "semantic": 0.823, + "semantic": 0.8283, "symbol": 0.9426 } }, @@ -20,182 +20,182 @@ "bash": { "repos": 3, "ndcg10": 0.8283, - "p50_ms": 0.542, - "p90_ms": 0.614, - "p95_ms": 0.629, - "p99_ms": 0.638, - "index_ms": 118.2 + "p50_ms": 0.558, + "p90_ms": 0.61, + "p95_ms": 0.627, + "p99_ms": 0.655, + "index_ms": 102.7 }, "c": { "repos": 3, - "ndcg10": 0.7125, - "p50_ms": 0.817, - "p90_ms": 1.036, - "p95_ms": 1.121, - "p99_ms": 1.252, - "index_ms": 1507.4 + "ndcg10": 0.7087, + "p50_ms": 0.835, + "p90_ms": 0.965, + "p95_ms": 1.024, + "p99_ms": 1.055, + "index_ms": 1498.3 }, "cpp": { "repos": 3, - "ndcg10": 0.922, - "p50_ms": 0.629, - "p90_ms": 4.249, - "p95_ms": 5.297, - "p99_ms": 5.65, - "index_ms": 773.6 + "ndcg10": 0.9281, + "p50_ms": 0.624, + "p90_ms": 4.271, + "p95_ms": 5.426, + "p99_ms": 5.713, + "index_ms": 760.0 }, "csharp": { "repos": 3, "ndcg10": 0.8288, - "p50_ms": 0.811, - "p90_ms": 5.363, - "p95_ms": 6.146, - "p99_ms": 7.717, - "index_ms": 461.1 + "p50_ms": 0.828, + "p90_ms": 5.202, + "p95_ms": 6.183, + "p99_ms": 7.779, + "index_ms": 445.9 }, "dart": { "repos": 3, "ndcg10": 0.7621, - "p50_ms": 0.596, - "p90_ms": 0.663, - "p95_ms": 0.676, - "p99_ms": 0.704, - "index_ms": 71.1 + "p50_ms": 0.598, + "p90_ms": 0.654, + "p95_ms": 0.675, + "p99_ms": 0.687, + "index_ms": 67.7 }, "elixir": { "repos": 3, "ndcg10": 0.8663, - "p50_ms": 0.563, - "p90_ms": 4.762, - "p95_ms": 5.059, - "p99_ms": 5.56, - "index_ms": 199.4 + "p50_ms": 0.568, + "p90_ms": 4.751, + "p95_ms": 5.136, + "p99_ms": 5.644, + "index_ms": 193.5 }, "go": { "repos": 3, "ndcg10": 0.8927, - "p50_ms": 0.599, - "p90_ms": 3.399, - "p95_ms": 3.874, - "p99_ms": 4.162, - "index_ms": 156.9 + "p50_ms": 0.605, + "p90_ms": 3.368, + "p95_ms": 3.791, + "p99_ms": 4.094, + "index_ms": 152.2 }, "haskell": { "repos": 3, - "ndcg10": 0.7462, - "p50_ms": 0.704, - "p90_ms": 0.783, - "p95_ms": 0.8, - "p99_ms": 0.831, - "index_ms": 475.4 + "ndcg10": 0.7451, + "p50_ms": 0.71, + "p90_ms": 0.769, + "p95_ms": 0.783, + "p99_ms": 0.815, + "index_ms": 460.5 }, "java": { "repos": 3, - "ndcg10": 0.8258, - "p50_ms": 1.186, - "p90_ms": 9.381, - "p95_ms": 13.008, - "p99_ms": 13.429, - "index_ms": 968.5 + "ndcg10": 0.8244, + "p50_ms": 1.167, + "p90_ms": 9.454, + "p95_ms": 12.96, + "p99_ms": 13.591, + "index_ms": 957.2 }, "javascript": { "repos": 3, "ndcg10": 0.8966, - "p50_ms": 0.444, - "p90_ms": 1.618, - "p95_ms": 1.656, - "p99_ms": 1.663, - "index_ms": 33.8 + "p50_ms": 0.443, + "p90_ms": 1.653, + "p95_ms": 1.67, + "p99_ms": 1.718, + "index_ms": 29.4 }, "kotlin": { "repos": 3, - "ndcg10": 0.8039, - "p50_ms": 0.854, - "p90_ms": 4.38, - "p95_ms": 4.749, - "p99_ms": 5.5, - "index_ms": 244.5 + "ndcg10": 0.814, + "p50_ms": 0.844, + "p90_ms": 4.609, + "p95_ms": 4.837, + "p99_ms": 5.654, + "index_ms": 234.6 }, "lua": { "repos": 4, - "ndcg10": 0.7621, - "p50_ms": 0.801, - "p90_ms": 0.943, - "p95_ms": 0.981, - "p99_ms": 1.012, - "index_ms": 398.6 + "ndcg10": 0.7626, + "p50_ms": 0.785, + "p90_ms": 0.892, + "p95_ms": 0.924, + "p99_ms": 0.948, + "index_ms": 349.4 }, "php": { "repos": 3, "ndcg10": 0.8141, - "p50_ms": 0.914, - "p90_ms": 6.883, - "p95_ms": 6.98, - "p99_ms": 7.072, - "index_ms": 718.5 + "p50_ms": 0.944, + "p90_ms": 6.882, + "p95_ms": 7.003, + "p99_ms": 7.031, + "index_ms": 686.0 }, "python": { "repos": 9, "ndcg10": 0.8591, - "p50_ms": 0.511, - "p90_ms": 3.295, - "p95_ms": 3.431, - "p99_ms": 3.676, - "index_ms": 153.3 + "p50_ms": 0.509, + "p90_ms": 3.362, + "p95_ms": 3.489, + "p99_ms": 3.701, + "index_ms": 148.4 }, "ruby": { "repos": 3, - "ndcg10": 0.8568, - "p50_ms": 0.599, - "p90_ms": 4.461, - "p95_ms": 5.513, - "p99_ms": 5.879, - "index_ms": 97.9 + "ndcg10": 0.9007, + "p50_ms": 0.613, + "p90_ms": 4.435, + "p95_ms": 5.523, + "p99_ms": 5.845, + "index_ms": 85.6 }, "rust": { "repos": 3, "ndcg10": 0.8378, - "p50_ms": 0.824, - "p90_ms": 5.184, - "p95_ms": 5.592, - "p99_ms": 5.914, - "index_ms": 495.2 + "p50_ms": 0.815, + "p90_ms": 5.393, + "p95_ms": 5.619, + "p99_ms": 5.917, + "index_ms": 475.4 }, "scala": { "repos": 3, - "ndcg10": 0.864, - "p50_ms": 0.826, - "p90_ms": 4.046, - "p95_ms": 4.201, - "p99_ms": 4.366, - "index_ms": 384.2 + "ndcg10": 0.8982, + "p50_ms": 0.814, + "p90_ms": 4.124, + "p95_ms": 4.247, + "p99_ms": 4.376, + "index_ms": 369.7 }, "swift": { "repos": 3, - "ndcg10": 0.829, - "p50_ms": 0.726, - "p90_ms": 3.779, - "p95_ms": 3.989, - "p99_ms": 4.55, - "index_ms": 237.3 + "ndcg10": 0.8419, + "p50_ms": 0.72, + "p90_ms": 3.788, + "p95_ms": 3.982, + "p99_ms": 4.514, + "index_ms": 220.5 }, "typescript": { "repos": 3, "ndcg10": 0.7185, - "p50_ms": 0.875, - "p90_ms": 4.638, - "p95_ms": 4.732, - "p99_ms": 4.929, - "index_ms": 467.2 + "p50_ms": 0.856, + "p90_ms": 4.669, + "p95_ms": 4.783, + "p99_ms": 4.942, + "index_ms": 425.4 }, "zig": { "repos": 3, "ndcg10": 0.8685, - "p50_ms": 0.82, - "p90_ms": 0.897, - "p95_ms": 0.917, - "p99_ms": 0.956, - "index_ms": 1437.9 + "p50_ms": 0.865, + "p90_ms": 0.966, + "p95_ms": 0.998, + "p99_ms": 1.358, + "index_ms": 1414.2 } }, "repos": [ @@ -203,16 +203,16 @@ "repo": "abseil-cpp", "language": "cpp", "chunks": 3083, - "ndcg5": 0.913500228802621, - "ndcg10": 0.913500228802621, - "p50_ms": 0.8292504935525358, - "p90_ms": 7.617150302394293, - "p95_ms": 7.810029173560907, - "p99_ms": 8.350073028414043, - "index_ms": 1685.6430410116445, + "ndcg5": 0.9319537411240482, + "ndcg10": 0.9319537411240482, + "p50_ms": 0.829958007670939, + "p90_ms": 7.6941794948652396, + "p95_ms": 8.204781569656916, + "p99_ms": 8.542822721065022, + "index_ms": 1638.2936659792904, "by_category": { "architecture": 1.0, - "semantic": 0.9180003050701615, + "semantic": 0.9426049881653976, "symbol": 0.8333333333333334 } }, @@ -222,11 +222,11 @@ "chunks": 393, "ndcg5": 0.787707118843058, "ndcg10": 0.8075975589033458, - "p50_ms": 0.4944580141454935, - "p90_ms": 0.571966715506278, - "p95_ms": 0.5749274016125128, - "p99_ms": 0.5902854906162247, - "index_ms": 166.1577920021955, + "p50_ms": 0.49762499111238867, + "p90_ms": 0.5686170072294772, + "p95_ms": 0.5794294847873971, + "p99_ms": 0.5796194862341508, + "index_ms": 158.74670800985768, "by_category": { "architecture": 0.6722706232293573, "semantic": 0.852706537461342 @@ -238,11 +238,11 @@ "chunks": 756, "ndcg5": 0.7595501987615106, "ndcg10": 0.8051055391429651, - "p50_ms": 0.6001669971738011, - "p90_ms": 4.058124992297962, - "p95_ms": 4.260000016074628, - "p99_ms": 4.692833602894098, - "index_ms": 244.19075000332668, + "p50_ms": 0.5707079835701734, + "p90_ms": 4.08641598187387, + "p95_ms": 4.303541994886473, + "p99_ms": 4.671075596706942, + "index_ms": 231.02924998966046, "by_category": { "architecture": 0.8356195986270888, "semantic": 0.6730976812902937, @@ -255,11 +255,11 @@ "chunks": 649, "ndcg5": 0.9613147192765459, "ndcg10": 0.9613147192765459, - "p50_ms": 0.555646009161137, - "p90_ms": 4.102428906480782, - "p95_ms": 4.371392005123199, - "p99_ms": 5.727611980400977, - "index_ms": 215.95041698310524, + "p50_ms": 0.5479375104187056, + "p90_ms": 4.096378898248076, + "p95_ms": 4.388221158296802, + "p99_ms": 5.7057442312361655, + "index_ms": 204.76558301015757, "by_category": { "architecture": 0.9732402630493958, "semantic": 0.9369612360347936, @@ -272,11 +272,11 @@ "chunks": 166, "ndcg5": 0.8648468052243118, "ndcg10": 0.8908186768484192, - "p50_ms": 0.6118754972703755, - "p90_ms": 2.6449463970493525, - "p95_ms": 2.7468059663078748, - "p99_ms": 2.757794796198141, - "index_ms": 59.07929100794718, + "p50_ms": 0.6146045052446425, + "p90_ms": 2.689695911249146, + "p95_ms": 2.704596458352171, + "p99_ms": 2.7674856985686347, + "index_ms": 50.1389580022078, "by_category": { "architecture": 0.6793305495640389, "semantic": 0.9355245321275762, @@ -289,11 +289,11 @@ "chunks": 509, "ndcg5": 0.7324356157188728, "ndcg10": 0.7826858855802271, - "p50_ms": 0.6459999858634546, - "p90_ms": 3.5781167127424856, - "p95_ms": 3.7862982309889053, - "p99_ms": 4.027693233219907, - "index_ms": 176.26845798804425, + "p50_ms": 0.6395204836735502, + "p90_ms": 3.6230414232704793, + "p95_ms": 3.8414690498029813, + "p99_ms": 3.952460197615437, + "index_ms": 166.7014169797767, "by_category": { "architecture": 0.7297596420238124, "semantic": 0.8040593595314548, @@ -306,11 +306,11 @@ "chunks": 723, "ndcg5": 0.6075207382645395, "ndcg10": 0.6574637191224815, - "p50_ms": 0.9457704873057082, - "p90_ms": 1.1140910966787487, - "p95_ms": 1.1449253026512451, - "p99_ms": 1.162151444295887, - "index_ms": 272.96220799325965, + "p50_ms": 0.9896045085042715, + "p90_ms": 1.0916961153270677, + "p95_ms": 1.1293684685369954, + "p99_ms": 1.1850073066307232, + "index_ms": 229.41695898771286, "by_category": { "api": 0.7153382790366966, "keyword": 0.8261859507142916, @@ -323,11 +323,11 @@ "chunks": 48, "ndcg5": 0.9011859507142915, "ndcg10": 0.9011859507142915, - "p50_ms": 0.3500414895825088, - "p90_ms": 0.3750874981051311, - "p95_ms": 0.3809270870988257, - "p99_ms": 0.3893190241069533, - "index_ms": 19.672916998388246, + "p50_ms": 0.35431250580586493, + "p90_ms": 0.37335828819777817, + "p95_ms": 0.3792413481278345, + "p99_ms": 0.40254826599266375, + "index_ms": 16.63404199643992, "by_category": { "architecture": 0.8231227867347022, "semantic": 0.9432199620879166 @@ -337,16 +337,16 @@ "repo": "cats", "language": "scala", "chunks": 1254, - "ndcg5": 0.8632034061286296, - "ndcg10": 0.8632034061286296, - "p50_ms": 1.0174585040658712, - "p90_ms": 4.993083016597666, - "p95_ms": 5.037564286612906, - "p99_ms": 5.303280049120076, - "index_ms": 624.3844580021687, + "ndcg5": 0.9132034061286296, + "ndcg10": 0.9132034061286296, + "p50_ms": 0.9761249821167439, + "p90_ms": 5.196216999320313, + "p95_ms": 5.2172982672345825, + "p99_ms": 5.291493257100228, + "index_ms": 591.6140420013107, "by_category": { "architecture": 0.8467132018086354, - "semantic": 0.787721531533805, + "semantic": 0.8877215315338048, "symbol": 1.0 } }, @@ -356,11 +356,11 @@ "chunks": 262, "ndcg5": 0.8121926566738839, "ndcg10": 0.8342931456297593, - "p50_ms": 0.6979790050536394, - "p90_ms": 3.0531086900737137, - "p95_ms": 3.2149204896995798, - "p99_ms": 3.2249504869105294, - "index_ms": 100.07645800942555, + "p50_ms": 0.6906459893798456, + "p90_ms": 2.9502419172786176, + "p95_ms": 3.1535000700387172, + "p99_ms": 3.175033613515552, + "index_ms": 89.58054200047627, "by_category": { "architecture": 0.6259028523654583, "semantic": 0.9589921948412731, @@ -371,16 +371,16 @@ "repo": "circe", "language": "scala", "chunks": 192, - "ndcg5": 0.8064982009888298, - "ndcg10": 0.8064982009888298, - "p50_ms": 0.5579580029007047, - "p90_ms": 2.676883200183511, - "p95_ms": 2.80276310222689, - "p99_ms": 2.994852623087354, - "index_ms": 92.10324997548014, + "ndcg5": 0.8591297799361982, + "ndcg10": 0.8591297799361982, + "p50_ms": 0.5344170203898102, + "p90_ms": 2.6909581967629492, + "p95_ms": 2.769245294621214, + "p99_ms": 2.8805162745993584, + "index_ms": 82.8212919877842, "by_category": { "architecture": 0.7261859507142916, - "semantic": 0.7902305513833007, + "semantic": 0.8811396422923916, "symbol": 1.0 } }, @@ -390,11 +390,11 @@ "chunks": 315, "ndcg5": 1.0, "ndcg10": 1.0, - "p50_ms": 0.43116649612784386, - "p90_ms": 3.225312498398125, - "p95_ms": 3.296437485550996, - "p99_ms": 3.411387498199474, - "index_ms": 107.727334019728, + "p50_ms": 0.4218334943288937, + "p90_ms": 3.295338078169152, + "p95_ms": 3.4305500084883533, + "p99_ms": 3.5016099966014735, + "index_ms": 102.194083010545, "by_category": { "architecture": 1.0, "semantic": 1.0, @@ -407,11 +407,11 @@ "chunks": 394, "ndcg5": 0.967519867361079, "ndcg10": 0.967519867361079, - "p50_ms": 0.5428124859463423, - "p90_ms": 3.5882539174053836, - "p95_ms": 4.683833655144554, - "p99_ms": 4.98276673577493, - "index_ms": 148.17358300206251, + "p50_ms": 0.5313959991326556, + "p90_ms": 3.561783389886843, + "p95_ms": 4.599669354502112, + "p99_ms": 5.066466678399592, + "index_ms": 148.3247500145808, "by_category": { "architecture": 1.0, "semantic": 0.94094521338378, @@ -424,11 +424,11 @@ "chunks": 3152, "ndcg5": 0.8511907952337322, "ndcg10": 0.8944264122460902, - "p50_ms": 0.9520830062683672, - "p90_ms": 8.81237501744181, - "p95_ms": 18.68483400903642, - "p99_ms": 19.11973401438445, - "index_ms": 1036.3422080117743, + "p50_ms": 1.0550000006332994, + "p90_ms": 9.112208004808053, + "p95_ms": 18.731874995864928, + "p99_ms": 19.44987499155104, + "index_ms": 1002.3869590077084, "by_category": { "architecture": 0.7216293209723186, "semantic": 0.9012904781607812, @@ -441,11 +441,11 @@ "chunks": 4444, "ndcg5": 0.5564993486741835, "ndcg10": 0.6602872366816288, - "p50_ms": 0.9339164971606806, - "p90_ms": 1.0266288998536766, - "p95_ms": 1.0529732011491433, - "p99_ms": 1.0709274309920147, - "index_ms": 1486.591041990323, + "p50_ms": 0.9954170091077685, + "p90_ms": 1.0862374940188602, + "p95_ms": 1.1380604119040072, + "p99_ms": 1.1579784913919866, + "index_ms": 1554.1007920110133, "by_category": { "architecture": 0.5728575877940218, "semantic": 0.7318205857714887 @@ -457,11 +457,11 @@ "chunks": 411, "ndcg5": 0.7946394630357186, "ndcg10": 0.8457831557244532, - "p50_ms": 0.5663954943884164, - "p90_ms": 3.298737507429906, - "p95_ms": 4.225560402846899, - "p99_ms": 7.969478482264088, - "index_ms": 159.68774998327717, + "p50_ms": 0.5781045038020238, + "p90_ms": 3.3011621882906197, + "p95_ms": 4.314479192544244, + "p99_ms": 8.095163038524326, + "index_ms": 177.36520900507458, "by_category": { "architecture": 0.5801175685032033, "semantic": 0.920327929761907, @@ -474,11 +474,11 @@ "chunks": 153, "ndcg5": 0.6945949461156704, "ndcg10": 0.6945949461156704, - "p50_ms": 0.5763334920629859, - "p90_ms": 0.6571332894964144, - "p95_ms": 0.6729122003889644, - "p99_ms": 0.7406160418759099, - "index_ms": 60.03125000279397, + "p50_ms": 0.5881045071873814, + "p90_ms": 0.659049698151648, + "p95_ms": 0.6828854136983864, + "p99_ms": 0.6906434669508599, + "index_ms": 58.705125004053116, "by_category": { "architecture": 0.6421082758814111, "semantic": 0.7077166136742353 @@ -490,11 +490,11 @@ "chunks": 755, "ndcg5": 0.8822031319548903, "ndcg10": 0.9009508786447862, - "p50_ms": 0.5291670095175505, - "p90_ms": 6.847358192317188, - "p95_ms": 7.154761895071715, - "p99_ms": 7.302152381744236, - "index_ms": 289.3332499952521, + "p50_ms": 0.5405829870142043, + "p90_ms": 6.965766608482227, + "p95_ms": 7.336166387540288, + "p99_ms": 7.47536689566914, + "index_ms": 294.8168749862816, "by_category": { "architecture": 1.0, "semantic": 0.9220874569753447, @@ -505,16 +505,16 @@ "repo": "exposed", "language": "kotlin", "chunks": 744, - "ndcg5": 0.695046716481194, - "ndcg10": 0.74044411434417, - "p50_ms": 0.9022710146382451, - "p90_ms": 4.016387500450947, - "p95_ms": 4.690670862328263, - "p99_ms": 6.131567780394104, - "index_ms": 262.72441699984483, + "ndcg5": 0.714389356842921, + "ndcg10": 0.7597867547058971, + "p50_ms": 0.8982294821180403, + "p90_ms": 4.48354141553864, + "p95_ms": 4.971002400270664, + "p99_ms": 6.332700477796604, + "index_ms": 261.48333298624493, "by_category": { "architecture": 0.6547543623015969, - "semantic": 0.7031870857127577, + "semantic": 0.7308194290866535, "symbol": 1.0 } }, @@ -524,11 +524,11 @@ "chunks": 52, "ndcg5": 0.8968751674977092, "ndcg10": 0.9237609540438003, - "p50_ms": 0.28797899722121656, - "p90_ms": 0.31016670109238476, - "p95_ms": 0.31176908378256485, - "p99_ms": 0.31332101294538006, - "index_ms": 20.756458019604906, + "p50_ms": 0.29781300690956414, + "p90_ms": 0.3636872133938596, + "p95_ms": 0.39014788781059906, + "p99_ms": 0.41899596893927077, + "index_ms": 19.48824999271892, "by_category": { "architecture": 0.9301365705673165, "semantic": 0.8964263086904791, @@ -541,11 +541,11 @@ "chunks": 597, "ndcg5": 0.7297297540684241, "ndcg10": 0.7869838171738259, - "p50_ms": 0.5010619934182614, - "p90_ms": 3.5294955974677578, - "p95_ms": 3.6566777562256902, - "p99_ms": 3.669502743287012, - "index_ms": 189.79366699932143, + "p50_ms": 0.5182080058148131, + "p90_ms": 3.656400280306116, + "p95_ms": 3.805879154242575, + "p99_ms": 3.8401422323659062, + "index_ms": 191.74483401002362, "by_category": { "architecture": 0.6392000559545565, "semantic": 0.7831594939743279, @@ -558,11 +558,11 @@ "chunks": 291, "ndcg5": 0.8847644106288912, "ndcg10": 0.9039540836573546, - "p50_ms": 0.4375829885248095, - "p90_ms": 2.853040990885347, - "p95_ms": 2.9137080127839, - "p99_ms": 3.5470743954647337, - "index_ms": 95.15925002051517, + "p50_ms": 0.4816659784410149, + "p90_ms": 2.98920800560154, + "p95_ms": 3.021458978764713, + "p99_ms": 3.598425397649408, + "index_ms": 99.04100000858307, "by_category": { "architecture": 0.8548201992475203, "semantic": 0.9090267601883458, @@ -575,11 +575,11 @@ "chunks": 476, "ndcg5": 0.9715338279036697, "ndcg10": 0.9715338279036697, - "p50_ms": 0.46912499237805605, - "p90_ms": 0.8309708035085395, - "p95_ms": 3.596564251347445, - "p99_ms": 3.657079247641377, - "index_ms": 344.41195797990076, + "p50_ms": 0.45997950655873865, + "p90_ms": 0.9122461982769934, + "p95_ms": 3.6203839976224117, + "p99_ms": 3.6819440018734895, + "index_ms": 355.0054170191288, "by_category": { "architecture": 1.0, "semantic": 0.9593340398623853, @@ -592,11 +592,11 @@ "chunks": 576, "ndcg5": 0.8763658848604823, "ndcg10": 0.8763658848604823, - "p50_ms": 0.5567089974647388, - "p90_ms": 3.554379497654736, - "p95_ms": 3.724439893267118, - "p99_ms": 4.279587978380731, - "index_ms": 222.34895901056007, + "p50_ms": 0.5929375038249418, + "p90_ms": 3.590725307003595, + "p95_ms": 3.621058353746776, + "p99_ms": 4.039945253462064, + "index_ms": 218.6191670189146, "by_category": { "architecture": 0.9638734584787886, "semantic": 0.7949160860306287, @@ -607,16 +607,16 @@ "repo": "gson", "language": "java", "chunks": 1460, - "ndcg5": 0.850704076119467, - "ndcg10": 0.8616244479603751, - "p50_ms": 1.0485829989193007, - "p90_ms": 6.1269542144145825, - "p95_ms": 6.921254507324193, - "p99_ms": 7.236084493633824, - "index_ms": 472.7177080058027, + "ndcg5": 0.8466901155768763, + "ndcg10": 0.8576104874177843, + "p50_ms": 1.012187494779937, + "p90_ms": 6.153145796270111, + "p95_ms": 6.967778856051154, + "p99_ms": 7.308955761254764, + "index_ms": 486.7030000023078, "by_category": { "architecture": 0.677192486230418, - "semantic": 0.8523719014285831, + "semantic": 0.8443439803434017, "symbol": 1.0 } }, @@ -626,11 +626,11 @@ "chunks": 206, "ndcg5": 0.9140510731804075, "ndcg10": 0.9140510731804075, - "p50_ms": 0.6061874883016571, - "p90_ms": 2.946908288868144, - "p95_ms": 3.068405970407184, - "p99_ms": 3.08091481187148, - "index_ms": 65.82129199523479, + "p50_ms": 0.6081460014684126, + "p90_ms": 2.9341624962398782, + "p95_ms": 2.965677068277728, + "p99_ms": 2.9778681937023066, + "index_ms": 67.69337499281392, "by_category": { "architecture": 1.0, "semantic": 0.8677708818160114, @@ -643,11 +643,11 @@ "chunks": 89, "ndcg5": 0.7566124015300086, "ndcg10": 0.784641880764834, - "p50_ms": 0.5384374962886795, - "p90_ms": 0.5727659910917282, - "p95_ms": 0.5879951961105689, - "p99_ms": 0.6005990382982418, - "index_ms": 38.15395801211707, + "p50_ms": 0.5406460113590583, + "p90_ms": 0.5715333099942654, + "p95_ms": 0.5788517562905326, + "p99_ms": 0.6000367627711967, + "index_ms": 37.63020897167735, "by_category": { "architecture": 0.75, "semantic": 0.7884909786275932 @@ -659,11 +659,11 @@ "chunks": 952, "ndcg5": 0.9221719901717009, "ndcg10": 0.9221719901717009, - "p50_ms": 0.9017290140036494, - "p90_ms": 4.468604709836655, - "p95_ms": 4.762693090015091, - "p99_ms": 4.801105012302287, - "index_ms": 436.11662500188686, + "p50_ms": 0.9319585078628734, + "p90_ms": 4.48374129482545, + "p95_ms": 4.753899363277014, + "p99_ms": 4.95694625627948, + "index_ms": 434.61324999225326, "by_category": { "architecture": 0.9732402630493958, "semantic": 0.8945513581632737, @@ -676,11 +676,11 @@ "chunks": 248, "ndcg5": 0.879316171195208, "ndcg10": 0.8890486663184692, - "p50_ms": 0.45183300971984863, - "p90_ms": 2.636290999362245, - "p95_ms": 2.9921669920440763, - "p99_ms": 3.0269334034528583, - "index_ms": 80.91666700784117, + "p50_ms": 0.4831660189665854, + "p90_ms": 2.828333992511034, + "p95_ms": 2.9634590027853847, + "p99_ms": 3.061724593862891, + "index_ms": 84.37012499780394, "by_category": { "architecture": 0.8281337292123195, "semantic": 0.8747873209112909, @@ -693,11 +693,11 @@ "chunks": 4570, "ndcg5": 0.6754072534454754, "ndcg10": 0.7212470920357018, - "p50_ms": 1.5559375169686973, - "p90_ms": 13.204116708948277, - "p95_ms": 13.41895654622931, - "p99_ms": 13.932557707303204, - "index_ms": 1396.5409579977859, + "p50_ms": 1.4328539982670918, + "p90_ms": 13.098112202715129, + "p95_ms": 13.181266681931447, + "p99_ms": 14.013720551447475, + "index_ms": 1382.4182919925079, "by_category": { "architecture": 0.6403142945053555, "semantic": 0.6233581306024223, @@ -710,11 +710,11 @@ "chunks": 884, "ndcg5": 0.8780803155822425, "ndcg10": 0.8958906749376437, - "p50_ms": 0.7216249941848218, - "p90_ms": 4.30800387985073, - "p95_ms": 4.557625307643321, - "p99_ms": 5.1991914698737665, - "index_ms": 324.2819999868516, + "p50_ms": 0.7532914896728471, + "p90_ms": 4.418266395805404, + "p95_ms": 4.515541954606307, + "p99_ms": 5.3363411928876285, + "index_ms": 297.39504199824296, "by_category": { "architecture": 0.8102255193577976, "semantic": 0.8919383529056771, @@ -726,14 +726,14 @@ "language": "kotlin", "chunks": 425, "ndcg5": 0.7385032847341471, - "ndcg10": 0.775416020293766, - "p50_ms": 0.9371670021209866, - "p90_ms": 4.8144874890567735, - "p95_ms": 4.999941655842122, - "p99_ms": 5.170054728805553, - "index_ms": 146.5881670010276, - "by_category": { - "architecture": 0.634511444336826, + "ndcg10": 0.7863363921346742, + "p50_ms": 0.8799584902590141, + "p90_ms": 4.924645504797809, + "p95_ms": 5.023820497444831, + "p99_ms": 5.291530500981025, + "index_ms": 144.90454099723138, + "by_category": { + "architecture": 0.665712506739421, "semantic": 0.7238200422167912, "symbol": 1.0 } @@ -744,11 +744,11 @@ "chunks": 6197, "ndcg5": 0.6294399888351122, "ndcg10": 0.6678420402122851, - "p50_ms": 1.2049585056956857, - "p90_ms": 13.890062519931234, - "p95_ms": 14.055275001737755, - "p99_ms": 14.30075499083614, - "index_ms": 1954.9860830011312, + "p50_ms": 1.208916975883767, + "p90_ms": 13.925883886986412, + "p95_ms": 14.225897600408643, + "p99_ms": 14.230679532047361, + "index_ms": 1869.05083298916, "by_category": { "architecture": 0.6041947436776243, "semantic": 0.6662830938812081, @@ -761,11 +761,11 @@ "chunks": 300, "ndcg5": 0.6371951400189322, "ndcg10": 0.6989634817893211, - "p50_ms": 0.6556875014211982, - "p90_ms": 0.685125301242806, - "p95_ms": 0.6889041847898625, - "p99_ms": 0.7349480382981709, - "index_ms": 117.16379100107588, + "p50_ms": 0.6474170077126473, + "p90_ms": 0.6792291213059798, + "p95_ms": 0.7103701878804713, + "p99_ms": 0.7419740420300514, + "index_ms": 109.899500006577, "by_category": { "architecture": 0.7937228666330852, "semantic": 0.6214330760080596 @@ -775,17 +775,17 @@ "repo": "libuv", "language": "c", "chunks": 1345, - "ndcg5": 0.5778481246570202, - "ndcg10": 0.6109903736184, - "p50_ms": 0.6856250111013651, - "p90_ms": 0.8749083906877787, - "p95_ms": 0.9644402016419918, - "p99_ms": 1.1408544436562804, - "index_ms": 496.57279101666063, + "ndcg5": 0.5665334053804744, + "ndcg10": 0.5996756543418542, + "p50_ms": 0.6576460000360385, + "p90_ms": 0.8203247038181872, + "p95_ms": 0.8763707999605685, + "p99_ms": 0.8915069478098303, + "index_ms": 442.0584999897983, "by_category": { "api": 0.6309297535714575, "keyword": 0.6309297535714575, - "semantic": 0.608774886956949 + "semantic": 0.5962029766496759 } }, { @@ -794,11 +794,11 @@ "chunks": 1125, "ndcg5": 0.8625205636356418, "ndcg10": 0.8695839122786332, - "p50_ms": 0.9627080144127831, - "p90_ms": 6.021950606373139, - "p95_ms": 6.059056255617179, - "p99_ms": 6.05991124000866, - "index_ms": 480.8446250099223, + "p50_ms": 0.9579790057614446, + "p90_ms": 5.4224333085585394, + "p95_ms": 5.891901759605389, + "p99_ms": 6.02594676282024, + "index_ms": 430.782832991099, "by_category": { "architecture": 0.622590627025877, "semantic": 0.8779239708299064, @@ -811,11 +811,11 @@ "chunks": 2156, "ndcg5": 0.9815464876785729, "ndcg10": 0.9815464876785729, - "p50_ms": 0.6606874958379194, - "p90_ms": 0.9476163802901285, - "p95_ms": 1.0801586511661299, - "p99_ms": 1.106631736329291, - "index_ms": 933.9205829892308, + "p50_ms": 0.6276039930526167, + "p90_ms": 0.7653292064787821, + "p95_ms": 0.8346023983904161, + "p99_ms": 0.8507204710622318, + "index_ms": 786.01191600319, "by_category": { "architecture": 1.0, "semantic": 0.9769331095982161 @@ -827,11 +827,11 @@ "chunks": 107, "ndcg5": 0.6563614357577399, "ndcg10": 0.6955916766562531, - "p50_ms": 0.529708486283198, - "p90_ms": 2.2740503103705123, - "p95_ms": 2.3240916401846334, - "p99_ms": 2.348284730105661, - "index_ms": 38.93433400662616, + "p50_ms": 0.45652098197024316, + "p90_ms": 2.241354208672419, + "p95_ms": 2.314250302151777, + "p99_ms": 2.330716460128315, + "index_ms": 33.114374993601814, "by_category": { "architecture": 0.6343453280002408, "semantic": 0.7084563429888835, @@ -844,11 +844,11 @@ "chunks": 417, "ndcg5": 0.8516433990956823, "ndcg10": 0.8605053634348847, - "p50_ms": 0.9297914948547259, - "p90_ms": 3.8133212132379413, - "p95_ms": 3.815861044859048, - "p99_ms": 3.8333722107927315, - "index_ms": 134.76529202307574, + "p50_ms": 1.0137499921256676, + "p90_ms": 3.7867955019464716, + "p95_ms": 3.816783036745619, + "p99_ms": 3.884423795097973, + "index_ms": 121.15945902769454, "by_category": { "architecture": 0.619392015186447, "semantic": 0.9113147192765458, @@ -861,11 +861,11 @@ "chunks": 2152, "ndcg5": 0.7249554830799518, "ndcg10": 0.7711268908457121, - "p50_ms": 0.9036455012392253, - "p90_ms": 6.76765830430668, - "p95_ms": 8.154551748884844, - "p99_ms": 9.121176743647082, - "index_ms": 742.851666000206, + "p50_ms": 0.9486044873483479, + "p90_ms": 6.881428620545195, + "p95_ms": 8.34401699830778, + "p99_ms": 9.215737000340594, + "index_ms": 729.5767499890644, "by_category": { "architecture": 0.8229172249923645, "semantic": 0.6804576788145502, @@ -878,11 +878,11 @@ "chunks": 791, "ndcg5": 0.8699118594962764, "ndcg10": 0.8808322313371845, - "p50_ms": 0.5889790045330301, - "p90_ms": 4.298400005791336, - "p95_ms": 4.4830625265603885, - "p99_ms": 4.943812495912424, - "index_ms": 290.78579202177934, + "p50_ms": 0.583478991757147, + "p90_ms": 4.205937203369103, + "p95_ms": 4.453222926531453, + "p99_ms": 4.914511778915766, + "index_ms": 286.75341699272394, "by_category": { "architecture": 0.8478663329217984, "semantic": 0.8681580296291103, @@ -893,16 +893,16 @@ "repo": "nvim-lspconfig", "language": "lua", "chunks": 1055, - "ndcg5": 0.5355159313011153, - "ndcg10": 0.5828310317556099, - "p50_ms": 1.3015625008847564, - "p90_ms": 1.4929920027498156, - "p95_ms": 1.5066961466800421, - "p99_ms": 1.5166392165701836, - "index_ms": 360.0984160148073, + "ndcg5": 0.537707118843058, + "ndcg10": 0.5850222192975525, + "p50_ms": 1.2810829939553514, + "p90_ms": 1.4955331047531217, + "p95_ms": 1.5041215083329007, + "p99_ms": 1.504691512673162, + "index_ms": 324.8739579867106, "by_category": { "architecture": 0.42896124839380506, - "semantic": 0.6099845229371049 + "semantic": 0.6125623906335079 } }, { @@ -911,11 +911,11 @@ "chunks": 153, "ndcg5": 0.9261859507142916, "ndcg10": 0.9261859507142916, - "p50_ms": 0.32964549609459937, - "p90_ms": 0.3522461949614808, - "p95_ms": 0.35987144510727376, - "p99_ms": 0.3623406676342711, - "index_ms": 61.90029199933633, + "p50_ms": 0.32929198641795665, + "p90_ms": 0.3652419080026448, + "p95_ms": 0.37090565456310287, + "p99_ms": 0.37834833638044074, + "index_ms": 62.00775000615977, "by_category": { "architecture": 0.8154648767857288, "semantic": 0.9384882922619097 @@ -927,11 +927,11 @@ "chunks": 3090, "ndcg5": 0.6333247437591728, "ndcg10": 0.6650429102090386, - "p50_ms": 1.196875498862937, - "p90_ms": 1.3341125013539568, - "p95_ms": 1.3731541534070857, - "p99_ms": 1.4381972225965, - "index_ms": 1206.3229589839466, + "p50_ms": 1.2169585097581148, + "p90_ms": 1.2934794183820486, + "p95_ms": 1.3189098026487045, + "p99_ms": 1.3891155584133228, + "index_ms": 1174.4977500056848, "by_category": { "architecture": 0.6368991050595311, "semantic": 0.6838054469753768 @@ -943,11 +943,11 @@ "chunks": 546, "ndcg5": 0.7696427696468264, "ndcg10": 0.7848567078740838, - "p50_ms": 0.6020000146236271, - "p90_ms": 4.179750208277255, - "p95_ms": 4.409966417006214, - "p99_ms": 5.269526878255419, - "index_ms": 206.03966698399745, + "p50_ms": 0.6013750098645687, + "p90_ms": 4.10126619390212, + "p95_ms": 4.448708615382199, + "p99_ms": 5.334608117700554, + "index_ms": 192.7195419848431, "by_category": { "architecture": 0.8547262294684788, "semantic": 0.8270092609025553, @@ -960,11 +960,11 @@ "chunks": 249, "ndcg5": 0.9130929753571457, "ndcg10": 0.9130929753571457, - "p50_ms": 0.5592915113084018, - "p90_ms": 3.2589080132311214, - "p95_ms": 3.6127684725215663, - "p99_ms": 4.107687293435446, - "index_ms": 102.80529101146385, + "p50_ms": 0.5631039966829121, + "p90_ms": 3.1872002989985053, + "p95_ms": 3.623162480653264, + "p99_ms": 4.123432485503144, + "index_ms": 92.90016599697992, "by_category": { "architecture": 1.0, "semantic": 0.902209268112247, @@ -977,11 +977,11 @@ "chunks": 1518, "ndcg5": 0.7393950348587884, "ndcg10": 0.7605345265791209, - "p50_ms": 0.6797500100219622, - "p90_ms": 5.393332810490392, - "p95_ms": 5.49158815847477, - "p99_ms": 5.970451237808446, - "index_ms": 491.5524590178393, + "p50_ms": 0.6767290033167228, + "p90_ms": 5.407387801096775, + "p95_ms": 5.555404152255505, + "p99_ms": 5.928247242700308, + "index_ms": 475.13879102189094, "by_category": { "architecture": 0.7517473446718608, "semantic": 0.7577007889556063, @@ -994,11 +994,11 @@ "chunks": 249, "ndcg5": 0.8884601594287914, "ndcg10": 0.8884601594287914, - "p50_ms": 0.5715625011362135, - "p90_ms": 3.8676667958498014, - "p95_ms": 5.202251691662239, - "p99_ms": 6.1657831483171295, - "index_ms": 94.19866697862744, + "p50_ms": 0.5831460002809763, + "p90_ms": 3.8083669060142724, + "p95_ms": 5.222506244899703, + "p99_ms": 6.100301259430124, + "index_ms": 82.6720830227714, "by_category": { "architecture": 1.0, "semantic": 0.7992282869718244, @@ -1011,11 +1011,11 @@ "chunks": 465, "ndcg5": 0.8788952563203779, "ndcg10": 0.8788952563203779, - "p50_ms": 0.8582500013289973, - "p90_ms": 4.35437909618486, - "p95_ms": 6.160982717119623, - "p99_ms": 6.192396547703538, - "index_ms": 167.99283301224932, + "p50_ms": 0.9125834912993014, + "p90_ms": 4.440475310548211, + "p95_ms": 6.172075017821044, + "p99_ms": 6.184615024831146, + "index_ms": 147.6661249762401, "by_category": { "architecture": 0.815634157070918, "semantic": 1.0, @@ -1028,11 +1028,11 @@ "chunks": 6289, "ndcg5": 0.8661732909393883, "ndcg10": 0.8661732909393883, - "p50_ms": 0.8301460038637742, - "p90_ms": 1.2054124934365975, - "p95_ms": 1.3458958710543814, - "p99_ms": 1.5438127913512285, - "index_ms": 2538.9930000237655, + "p50_ms": 0.850646014441736, + "p90_ms": 0.9875960822682829, + "p95_ms": 1.057141341152601, + "p99_ms": 1.1150282568996772, + "index_ms": 2498.759499983862, "by_category": { "architecture": 0.8761859507142915, "semantic": 0.8561606311644849 @@ -1044,11 +1044,11 @@ "chunks": 53, "ndcg5": 0.8494076946336916, "ndcg10": 0.8753031461393366, - "p50_ms": 0.4324369947426021, - "p90_ms": 1.899071186198853, - "p95_ms": 1.9089027016889304, - "p99_ms": 1.9175469491165131, - "index_ms": 21.432540990645066, + "p50_ms": 0.41687500197440386, + "p90_ms": 1.9045750028453767, + "p95_ms": 1.9143062498187646, + "p99_ms": 1.9664612709311768, + "index_ms": 18.569084000773728, "by_category": { "architecture": 0.756966639313657, "semantic": 0.884918120767199, @@ -1061,11 +1061,11 @@ "chunks": 169, "ndcg5": 0.9454570258581952, "ndcg10": 0.9454570258581952, - "p50_ms": 0.42575049155857414, - "p90_ms": 2.7819084149086852, - "p95_ms": 3.041752708668355, - "p99_ms": 3.173516942479182, - "index_ms": 54.52891701133922, + "p50_ms": 0.43068750528618693, + "p90_ms": 2.8821457846788694, + "p95_ms": 3.0780059547396377, + "p99_ms": 3.09393480012659, + "index_ms": 52.12345800828189, "by_category": { "architecture": 0.9144279211792, "semantic": 0.9385181336136883, @@ -1078,11 +1078,11 @@ "chunks": 316, "ndcg5": 0.7920624189796882, "ndcg10": 0.8071139187628873, - "p50_ms": 0.6745620048604906, - "p90_ms": 0.7586540799820796, - "p95_ms": 0.7670639461139217, - "p99_ms": 0.7712127902777866, - "index_ms": 114.99820899916813, + "p50_ms": 0.6658960046479478, + "p90_ms": 0.730220801779069, + "p95_ms": 0.7629871397512034, + "p99_ms": 0.7691302249440923, + "index_ms": 106.78329100483097, "by_category": { "architecture": 0.7542345811355592, "semantic": 0.8355874082545255 @@ -1092,16 +1092,16 @@ "repo": "rxswift", "language": "swift", "chunks": 686, - "ndcg5": 0.7136381417190647, - "ndcg10": 0.7399761285665949, - "p50_ms": 0.7993124891072512, - "p90_ms": 3.4332375100348145, - "p95_ms": 3.5774166404735297, - "p99_ms": 3.769949729321524, - "index_ms": 216.85858300770633, - "by_category": { - "architecture": 0.5, - "semantic": 0.7199681714221265, + "ndcg5": 0.7523234224425189, + "ndcg10": 0.7786614092900491, + "p50_ms": 0.781146009103395, + "p90_ms": 3.4272585879079998, + "p95_ms": 3.57729339011712, + "p99_ms": 3.7761914831935424, + "index_ms": 199.97324998257682, + "by_category": { + "architecture": 0.6934264036172708, + "semantic": 0.7457583585710961, "symbol": 1.0 } }, @@ -1111,11 +1111,11 @@ "chunks": 1164, "ndcg5": 0.7430676558073394, "ndcg10": 0.7755075663132924, - "p50_ms": 0.9216255130013451, - "p90_ms": 4.495849995873869, - "p95_ms": 4.833158332621679, - "p99_ms": 5.073065262986347, - "index_ms": 381.73016702057794, + "p50_ms": 0.9484380134381354, + "p90_ms": 4.297549990587869, + "p95_ms": 4.719533353636507, + "p99_ms": 4.987940257706213, + "index_ms": 357.2896249825135, "by_category": { "architecture": 0.7974500308912245, "semantic": 0.6726085028922673, @@ -1126,16 +1126,16 @@ "repo": "sinatra", "language": "ruby", "chunks": 68, - "ndcg5": 0.8030803155822426, - "ndcg10": 0.8030803155822426, - "p50_ms": 0.3680204972624779, - "p90_ms": 5.16103720292449, - "p95_ms": 5.175233329646289, - "p99_ms": 5.277580274268985, - "index_ms": 31.613082974217832, - "by_category": { - "architecture": 0.41232126232897015, - "semantic": 0.8888888888888888, + "ndcg5": 0.9346268032608155, + "ndcg10": 0.9346268032608155, + "p50_ms": 0.34345850872341543, + "p90_ms": 5.055532691767439, + "p95_ms": 5.172968406986911, + "p99_ms": 5.249126494454686, + "index_ms": 26.459499989869073, + "by_category": { + "architecture": 0.7385072130432616, + "semantic": 1.0, "symbol": 1.0 } }, @@ -1145,11 +1145,11 @@ "chunks": 213, "ndcg5": 0.9360462354097291, "ndcg10": 0.945257016534361, - "p50_ms": 0.5403750110417604, - "p90_ms": 2.9055000049993396, - "p95_ms": 2.9062080138828605, - "p99_ms": 3.247208817629144, - "index_ms": 76.58579197595827, + "p50_ms": 0.5430409801192582, + "p90_ms": 2.869833988370374, + "p95_ms": 2.9320000030566007, + "p99_ms": 3.2851336116436873, + "index_ms": 67.157582991058, "by_category": { "architecture": 0.8954906679292346, "semantic": 1.0, @@ -1162,11 +1162,11 @@ "chunks": 540, "ndcg5": 0.7850340567062908, "ndcg10": 0.7850340567062908, - "p50_ms": 0.5876040086150169, - "p90_ms": 0.6455165974330157, - "p95_ms": 0.6494952132925391, - "p99_ms": 0.6905990513041614, - "index_ms": 183.24341700645164, + "p50_ms": 0.5830830050399527, + "p90_ms": 0.6295207829680294, + "p95_ms": 0.645447603892535, + "p99_ms": 0.6965895346365868, + "index_ms": 176.90724998828955, "by_category": { "architecture": 0.8557660725862154, "semantic": 0.7469475866171005 @@ -1178,11 +1178,11 @@ "chunks": 2730, "ndcg5": 0.9459860394574093, "ndcg10": 0.9552148242963877, - "p50_ms": 0.9058540017576888, - "p90_ms": 7.477724691852928, - "p95_ms": 8.156581241928507, - "p99_ms": 8.640416254347656, - "index_ms": 927.6891660119873, + "p50_ms": 0.8565000025555491, + "p90_ms": 8.257212507305667, + "p95_ms": 8.295268761867192, + "p99_ms": 8.810453747573774, + "index_ms": 902.2078340058215, "by_category": { "architecture": 0.8507160809879593, "semantic": 1.0, @@ -1195,11 +1195,11 @@ "chunks": 362, "ndcg5": 0.7517036349312507, "ndcg10": 0.7810815764501158, - "p50_ms": 0.8789169951342046, - "p90_ms": 3.35258720733691, - "p95_ms": 3.3583833632292226, - "p99_ms": 3.428810285986401, - "index_ms": 123.3465000113938, + "p50_ms": 0.8910829928936437, + "p90_ms": 3.4174586966400966, + "p95_ms": 3.421240246098023, + "p99_ms": 3.4217152497149073, + "index_ms": 111.48195798159577, "by_category": { "architecture": 0.6937431130989311, "semantic": 0.724526660601552, @@ -1212,11 +1212,11 @@ "chunks": 780, "ndcg5": 0.7328014081758261, "ndcg10": 0.7858329160889163, - "p50_ms": 0.822000001790002, - "p90_ms": 3.8027327042073016, - "p95_ms": 4.016905893513467, - "p99_ms": 4.15101397986291, - "index_ms": 279.160750011215, + "p50_ms": 0.8314999868161976, + "p90_ms": 3.841249705874361, + "p95_ms": 3.9807208042475395, + "p99_ms": 4.060076976602431, + "index_ms": 256.69304199982435, "by_category": { "architecture": 0.42599353221896225, "semantic": 0.8170484089372457, @@ -1229,11 +1229,11 @@ "chunks": 1079, "ndcg5": 0.6517782560805999, "ndcg10": 0.7024504745746012, - "p50_ms": 0.8615624828962609, - "p90_ms": 4.686112503986806, - "p95_ms": 4.898081258579623, - "p99_ms": 5.026616264076438, - "index_ms": 361.0897080216091, + "p50_ms": 0.8062505075940862, + "p90_ms": 4.7074163012439385, + "p95_ms": 4.77397433569422, + "p99_ms": 4.936361272993963, + "index_ms": 334.7159579861909, "by_category": { "architecture": 0.5291699572630004, "semantic": 0.7158172498103655, @@ -1244,16 +1244,16 @@ "repo": "xmonad", "language": "haskell", "chunks": 123, - "ndcg5": 0.7558852054218812, - "ndcg10": 0.7661043253013055, - "p50_ms": 0.4207500023767352, - "p90_ms": 0.4441335971932858, - "p95_ms": 0.4524268093518913, - "p99_ms": 0.4633525782264769, - "index_ms": 53.859832987654954, + "ndcg5": 0.7524190333255507, + "ndcg10": 0.7626381532049751, + "p50_ms": 0.41635450907051563, + "p90_ms": 0.4436205024830997, + "p95_ms": 0.4501143121160567, + "p99_ms": 0.4752900567837059, + "index_ms": 48.12854100600816, "by_category": { "architecture": 0.7998908847793088, - "semantic": 0.7435799523159697 + "semantic": 0.7378029988220858 } }, { @@ -1262,11 +1262,11 @@ "chunks": 13059, "ndcg5": 0.8696394630357187, "ndcg10": 0.8696394630357187, - "p50_ms": 1.3877915043849498, - "p90_ms": 1.5559798222966492, - "p95_ms": 1.5922357531962916, - "p99_ms": 1.6103807365288958, - "index_ms": 3664.8645419918466, + "p50_ms": 1.512583505245857, + "p90_ms": 1.7351917194901034, + "p95_ms": 1.8087398944771858, + "p99_ms": 2.8149479857529496, + "index_ms": 3599.626624985831, "by_category": { "architecture": 0.6666666666666666, "semantic": 0.9054581918067278 @@ -1278,11 +1278,11 @@ "chunks": 99, "ndcg5": 0.9130929753571457, "ndcg10": 0.9130929753571457, - "p50_ms": 0.42312500590924174, - "p90_ms": 0.43995862070005387, - "p95_ms": 0.45142471790313726, - "p99_ms": 0.4832185292616486, - "index_ms": 58.37470799451694, + "p50_ms": 0.4297084960853681, + "p90_ms": 0.45650000975001603, + "p95_ms": 0.46138750767568126, + "p99_ms": 0.48437748366268346, + "index_ms": 51.843541994458064, "by_category": { "architecture": 1.0, "semantic": 0.9034366392857175 @@ -1294,11 +1294,11 @@ "chunks": 1300, "ndcg5": 0.8077324383928645, "ndcg10": 0.8227839381760635, - "p50_ms": 0.6501879979623482, - "p90_ms": 0.6950963812414557, - "p95_ms": 0.7084559314535, - "p99_ms": 0.77302477118792, - "index_ms": 590.3140000009444, + "p50_ms": 0.6536250002682209, + "p90_ms": 0.7057464972604066, + "p95_ms": 0.725008940207772, + "p99_ms": 0.7732682017376645, + "index_ms": 591.1188750178553, "by_category": { "architecture": 0.7946985004009851, "semantic": 0.837906866208798 @@ -1310,11 +1310,11 @@ "chunks": 1777, "ndcg5": 0.6721003911969763, "ndcg10": 0.6721003911969763, - "p50_ms": 0.8834789914544672, - "p90_ms": 5.875833603204228, - "p95_ms": 5.938147599226795, - "p99_ms": 6.332429532776586, - "index_ms": 917.2471670026425, + "p50_ms": 0.8715000149095431, + "p90_ms": 5.881650312221609, + "p95_ms": 6.153058311610948, + "p99_ms": 6.467444459849502, + "index_ms": 829.9674169975333, "by_category": { "architecture": 0.6577324383928644, "semantic": 0.6393136977206204, diff --git a/benchmarks/results/25f5751ef097.json b/benchmarks/results/25f5751ef097.json deleted file mode 100644 index 5da6591..0000000 --- a/benchmarks/results/25f5751ef097.json +++ /dev/null @@ -1,550 +0,0 @@ -{ - "sha": "25f5751ef097b10186a19c8647501dad6a698201", - "model": "minishlab/potion-code-16M", - "summary": { - "ndcg10": 0.8029, - "p50_ms": 0.686, - "p90_ms": 4.486, - "p95_ms": 5.117, - "p99_ms": 5.432, - "index_ms": 337.1 - }, - "by_language": { - "cpp": { - "repos": 1, - "ndcg10": 0.6606, - "p50_ms": 0.595, - "p90_ms": 4.308, - "p95_ms": 4.552, - "p99_ms": 4.944, - "index_ms": 310.6 - }, - "csharp": { - "repos": 1, - "ndcg10": 0.8263, - "p50_ms": 0.945, - "p90_ms": 5.234, - "p95_ms": 5.39, - "p99_ms": 5.805, - "index_ms": 467.5 - }, - "elixir": { - "repos": 1, - "ndcg10": 0.7136, - "p50_ms": 0.592, - "p90_ms": 4.125, - "p95_ms": 4.307, - "p99_ms": 5.224, - "index_ms": 211.2 - }, - "go": { - "repos": 3, - "ndcg10": 0.8633, - "p50_ms": 0.588, - "p90_ms": 3.27, - "p95_ms": 3.839, - "p99_ms": 4.014, - "index_ms": 161.1 - }, - "java": { - "repos": 3, - "ndcg10": 0.7717, - "p50_ms": 1.124, - "p90_ms": 9.255, - "p95_ms": 12.888, - "p99_ms": 13.124, - "index_ms": 959.8 - }, - "javascript": { - "repos": 3, - "ndcg10": 0.7665, - "p50_ms": 0.432, - "p90_ms": 1.628, - "p95_ms": 2.226, - "p99_ms": 2.237, - "index_ms": 36.7 - }, - "kotlin": { - "repos": 1, - "ndcg10": 0.7631, - "p50_ms": 0.893, - "p90_ms": 4.78, - "p95_ms": 4.923, - "p99_ms": 5.088, - "index_ms": 171.1 - }, - "php": { - "repos": 3, - "ndcg10": 0.7799, - "p50_ms": 0.875, - "p90_ms": 6.871, - "p95_ms": 6.976, - "p99_ms": 7.627, - "index_ms": 718.4 - }, - "python": { - "repos": 9, - "ndcg10": 0.8389, - "p50_ms": 0.505, - "p90_ms": 3.234, - "p95_ms": 3.379, - "p99_ms": 3.615, - "index_ms": 156.5 - }, - "ruby": { - "repos": 3, - "ndcg10": 0.8573, - "p50_ms": 0.576, - "p90_ms": 4.227, - "p95_ms": 5.27, - "p99_ms": 5.693, - "index_ms": 99.8 - }, - "rust": { - "repos": 2, - "ndcg10": 0.7544, - "p50_ms": 0.869, - "p90_ms": 5.701, - "p95_ms": 5.987, - "p99_ms": 6.167, - "index_ms": 663.5 - }, - "scala": { - "repos": 1, - "ndcg10": 0.8415, - "p50_ms": 0.94, - "p90_ms": 4.613, - "p95_ms": 4.99, - "p99_ms": 5.02, - "index_ms": 641.2 - }, - "swift": { - "repos": 1, - "ndcg10": 0.9316, - "p50_ms": 0.554, - "p90_ms": 4.009, - "p95_ms": 4.484, - "p99_ms": 5.724, - "index_ms": 227.5 - }, - "typescript": { - "repos": 2, - "ndcg10": 0.6932, - "p50_ms": 0.863, - "p90_ms": 4.59, - "p95_ms": 4.667, - "p99_ms": 4.959, - "index_ms": 384.9 - } - }, - "repos": [ - { - "repo": "aiohttp", - "language": "python", - "chunks": 756, - "ndcg5": 0.7132626857513019, - "ndcg10": 0.7821229638714016, - "p50_ms": 0.6123749917605892, - "p90_ms": 3.8724999903934076, - "p95_ms": 4.120375000638887, - "p99_ms": 4.553908604430035, - "index_ms": 262.2472079965519 - }, - { - "repo": "alamofire", - "language": "swift", - "chunks": 649, - "ndcg5": 0.900172569211564, - "ndcg10": 0.9315768229529695, - "p50_ms": 0.5536660028155893, - "p90_ms": 4.0093664021696895, - "p95_ms": 4.4843586074421165, - "p99_ms": 5.723771723569371, - "index_ms": 227.4804999906337 - }, - { - "repo": "axios", - "language": "javascript", - "chunks": 166, - "ndcg5": 0.8788319645532834, - "ndcg10": 0.8885032847341471, - "p50_ms": 0.5864790073246695, - "p90_ms": 2.4867669970262796, - "p95_ms": 2.5793482578592375, - "p99_ms": 2.6049032533774152, - "index_ms": 63.84266700479202 - }, - { - "repo": "cats", - "language": "scala", - "chunks": 1254, - "ndcg5": 0.8157722039023972, - "ndcg10": 0.8414671964692401, - "p50_ms": 0.9402910072822124, - "p90_ms": 4.613399598747492, - "p95_ms": 4.990466596791521, - "p99_ms": 5.019959729397669, - "index_ms": 641.1550829943735 - }, - { - "repo": "chi", - "language": "go", - "chunks": 262, - "ndcg5": 0.7967564632754967, - "ndcg10": 0.805985248114475, - "p50_ms": 0.6649790011579171, - "p90_ms": 2.829720899171662, - "p95_ms": 3.0183152033714578, - "p99_ms": 3.067429449292831, - "index_ms": 104.31049999897368 - }, - { - "repo": "click", - "language": "python", - "chunks": 315, - "ndcg5": 0.967519867361079, - "ndcg10": 0.967519867361079, - "p50_ms": 0.41497899655951187, - "p90_ms": 3.2158167072338983, - "p95_ms": 3.223808641632786, - "p99_ms": 3.319061730726389, - "index_ms": 106.108583000605 - }, - { - "repo": "cobra", - "language": "go", - "chunks": 394, - "ndcg5": 0.9291287872272751, - "ndcg10": 0.9291287872272751, - "p50_ms": 0.5306250022840686, - "p90_ms": 3.4453628060873616, - "p95_ms": 4.685064550722018, - "p99_ms": 4.93114570970647, - "index_ms": 151.899875010713 - }, - { - "repo": "commons-lang", - "language": "java", - "chunks": 3152, - "ndcg5": 0.8303573023787708, - "ndcg10": 0.8566306723859848, - "p50_ms": 0.9894999966491014, - "p90_ms": 8.79549999081064, - "p95_ms": 18.890666993684135, - "p99_ms": 18.91243339923676, - "index_ms": 1044.4991670083255 - }, - { - "repo": "express", - "language": "javascript", - "chunks": 52, - "ndcg5": 0.5213932929028847, - "ndcg10": 0.5213932929028847, - "p50_ms": 0.29550000181188807, - "p90_ms": 0.5137291955179561, - "p95_ms": 2.184350295283366, - "p99_ms": 2.1871364596881904, - "index_ms": 23.6177500046324 - }, - { - "repo": "fastapi", - "language": "python", - "chunks": 597, - "ndcg5": 0.7274224843886101, - "ndcg10": 0.7656623902466776, - "p50_ms": 0.4795205022674054, - "p90_ms": 3.4083958016708493, - "p95_ms": 3.4897850957349874, - "p99_ms": 3.595457021438051, - "index_ms": 197.85016700916458 - }, - { - "repo": "flask", - "language": "python", - "chunks": 291, - "ndcg5": 0.8570900833760776, - "ndcg10": 0.8767012186349079, - "p50_ms": 0.447915997938253, - "p90_ms": 2.793999999994412, - "p95_ms": 2.7948330098297447, - "p99_ms": 3.3672330027911817, - "index_ms": 93.78604100493249 - }, - { - "repo": "gin", - "language": "go", - "chunks": 576, - "ndcg5": 0.8374038902637901, - "ndcg10": 0.8548965225450329, - "p50_ms": 0.5679790046997368, - "p90_ms": 3.533736901590601, - "p95_ms": 3.8149708045239095, - "p99_ms": 4.044426958571421, - "index_ms": 227.11720800725743 - }, - { - "repo": "gson", - "language": "java", - "chunks": 1460, - "ndcg5": 0.7990637329553106, - "ndcg10": 0.8168740923107117, - "p50_ms": 0.9702914976514876, - "p90_ms": 5.926683300640435, - "p95_ms": 6.5977121601463296, - "p99_ms": 7.059475241985637, - "index_ms": 478.3598340000026 - }, - { - "repo": "guzzle", - "language": "php", - "chunks": 206, - "ndcg5": 0.8326908338735671, - "ndcg10": 0.844506786325837, - "p50_ms": 0.5779159982921556, - "p90_ms": 2.884983198600821, - "p95_ms": 2.914312396023888, - "p99_ms": 2.9578288752236404, - "index_ms": 67.16033299744595 - }, - { - "repo": "httpx", - "language": "python", - "chunks": 248, - "ndcg5": 0.8519694264932337, - "ndcg10": 0.871159099521697, - "p50_ms": 0.4673749936046079, - "p90_ms": 2.534915998694487, - "p95_ms": 2.9966670117573813, - "p99_ms": 3.0396661983104423, - "index_ms": 84.10337500390597 - }, - { - "repo": "jackson-databind", - "language": "java", - "chunks": 4570, - "ndcg5": 0.5995814171722698, - "ndcg10": 0.6416926478590864, - "p50_ms": 1.4109585026744753, - "p90_ms": 13.044237793656066, - "p95_ms": 13.175612493796507, - "p99_ms": 13.40152249977109, - "index_ms": 1356.5418329962995 - }, - { - "repo": "ktor", - "language": "kotlin", - "chunks": 425, - "ndcg5": 0.726275662513606, - "ndcg10": 0.7630927329648237, - "p50_ms": 0.893062497198116, - "p90_ms": 4.7803755005588755, - "p95_ms": 4.923448246699991, - "p99_ms": 5.088122442975873, - "index_ms": 171.11970800033305 - }, - { - "repo": "laravel-framework", - "language": "php", - "chunks": 6197, - "ndcg5": 0.6126770146137568, - "ndcg10": 0.6562294678265145, - "p50_ms": 1.1269794922554865, - "p90_ms": 14.119775003928225, - "p95_ms": 14.312191658245867, - "p99_ms": 16.156204736616925, - "index_ms": 1955.0122910004575 - }, - { - "repo": "messagepack-csharp", - "language": "csharp", - "chunks": 1125, - "ndcg5": 0.8164536328001585, - "ndcg10": 0.8262866007393468, - "p50_ms": 0.9447079937672243, - "p90_ms": 5.23395880300086, - "p95_ms": 5.389525595819577, - "p99_ms": 5.804938714718446, - "index_ms": 467.47879100439604 - }, - { - "repo": "model2vec", - "language": "python", - "chunks": 107, - "ndcg5": 0.6593701861221591, - "ndcg10": 0.695271294655741, - "p50_ms": 0.44833299762103707, - "p90_ms": 2.160079192253761, - "p95_ms": 2.2111357378889807, - "p99_ms": 2.258160742057953, - "index_ms": 40.73749999224674 - }, - { - "repo": "monolog", - "language": "php", - "chunks": 417, - "ndcg5": 0.8301283460390589, - "ndcg10": 0.8389903103782611, - "p50_ms": 0.9215209938702174, - "p90_ms": 3.6084005929296836, - "p95_ms": 3.702110399171943, - "p99_ms": 3.7664884743571747, - "index_ms": 133.03008399088867 - }, - { - "repo": "nlohmann-json", - "language": "cpp", - "chunks": 791, - "ndcg5": 0.6297896285293605, - "ndcg10": 0.6606004404305565, - "p50_ms": 0.5946245000814088, - "p90_ms": 4.307912492367905, - "p95_ms": 4.552268743282184, - "p99_ms": 4.943953739712014, - "index_ms": 310.64216600498185 - }, - { - "repo": "phoenix", - "language": "elixir", - "chunks": 546, - "ndcg5": 0.6800650542719645, - "ndcg10": 0.7136486574666521, - "p50_ms": 0.5916664958931506, - "p90_ms": 4.124641108501237, - "p95_ms": 4.307360701204744, - "p99_ms": 5.224204940896014, - "index_ms": 211.21300000231713 - }, - { - "repo": "pydantic", - "language": "python", - "chunks": 1518, - "ndcg5": 0.6795591269045096, - "ndcg10": 0.7070408064407742, - "p50_ms": 0.7077085028868169, - "p90_ms": 5.419328800053336, - "p95_ms": 5.460736850363901, - "p99_ms": 5.8342137692670795, - "index_ms": 490.06295901199337 - }, - { - "repo": "rack", - "language": "ruby", - "chunks": 249, - "ndcg5": 0.8630929753571458, - "ndcg10": 0.8630929753571458, - "p50_ms": 0.5508545000338927, - "p90_ms": 3.297654104244432, - "p95_ms": 4.897278542921414, - "p99_ms": 5.900289301353039, - "index_ms": 95.28016700642183 - }, - { - "repo": "rails", - "language": "ruby", - "chunks": 465, - "ndcg5": 0.8282867981913646, - "ndcg10": 0.8700179819334688, - "p50_ms": 0.8398539939662442, - "p90_ms": 4.356175306020307, - "p95_ms": 5.806233348994283, - "p99_ms": 5.957980260573095, - "index_ms": 173.15866700664628 - }, - { - "repo": "redux", - "language": "javascript", - "chunks": 53, - "ndcg5": 0.880657359638273, - "ndcg10": 0.8895193239774752, - "p50_ms": 0.41520850209053606, - "p90_ms": 1.88317499414552, - "p95_ms": 1.9154395515215583, - "p99_ms": 1.9202207089983858, - "index_ms": 22.507082991069183 - }, - { - "repo": "requests", - "language": "python", - "chunks": 169, - "ndcg5": 0.9550842629661954, - "ndcg10": 0.9550842629661954, - "p50_ms": 0.42218700400553644, - "p90_ms": 2.8600951874977913, - "p95_ms": 3.1725433909741696, - "p99_ms": 3.228941471752478, - "index_ms": 55.13016700570006 - }, - { - "repo": "serde", - "language": "rust", - "chunks": 1164, - "ndcg5": 0.555271503124185, - "ndcg10": 0.6210447469634717, - "p50_ms": 0.9351045009680092, - "p90_ms": 4.1320622083731005, - "p95_ms": 4.591564539441606, - "p99_ms": 4.602045707142679, - "index_ms": 395.6614999915473 - }, - { - "repo": "sinatra", - "language": "ruby", - "chunks": 68, - "ndcg5": 0.8387325493217617, - "ndcg10": 0.8387325493217617, - "p50_ms": 0.33872900530695915, - "p90_ms": 5.028229003073648, - "p95_ms": 5.107187251269352, - "p99_ms": 5.219637449772563, - "index_ms": 30.97937499114778 - }, - { - "repo": "starlette", - "language": "python", - "chunks": 213, - "ndcg5": 0.9058681185722455, - "ndcg10": 0.9294136613951622, - "p50_ms": 0.548916999832727, - "p90_ms": 2.8445420030038804, - "p95_ms": 2.939458005130291, - "p99_ms": 3.3380588050931697, - "index_ms": 78.91612499952316 - }, - { - "repo": "tokio", - "language": "rust", - "chunks": 2730, - "ndcg5": 0.8750003941122573, - "ndcg10": 0.8878478903956787, - "p50_ms": 0.8020000095712021, - "p90_ms": 7.26980039908085, - "p95_ms": 7.38200000487268, - "p99_ms": 7.732800003141165, - "index_ms": 931.3874170038616 - }, - { - "repo": "trpc", - "language": "typescript", - "chunks": 362, - "ndcg5": 0.6949834508995433, - "ndcg10": 0.7431267778412411, - "p50_ms": 0.8801670046523213, - "p90_ms": 3.3073160040657967, - "p95_ms": 3.3417246013414115, - "p99_ms": 3.3911121252458543, - "index_ms": 120.87112499284558 - }, - { - "repo": "zod", - "language": "typescript", - "chunks": 1777, - "ndcg5": 0.5978935011565394, - "ndcg10": 0.6432908990195153, - "p50_ms": 0.845311995362863, - "p90_ms": 5.873450005310588, - "p95_ms": 5.99258959045983, - "p99_ms": 6.527851524733705, - "index_ms": 648.9440000004834 - } - ] -} diff --git a/benchmarks/results/2b33d47d8783.json b/benchmarks/results/2b33d47d8783.json deleted file mode 100644 index a38b0b5..0000000 --- a/benchmarks/results/2b33d47d8783.json +++ /dev/null @@ -1,718 +0,0 @@ -{ - "sha": "2b33d47d878334965aaf1c36d5b9c3caad9826b3", - "model": "minishlab/potion-code-16M", - "summary": { - "ndcg10": 0.7843, - "p50_ms": 0.683, - "p90_ms": 4.347, - "p95_ms": 4.946, - "p99_ms": 5.329, - "index_ms": 347.9 - }, - "by_language": { - "cpp": { - "repos": 3, - "ndcg10": 0.6992, - "p50_ms": 0.611, - "p90_ms": 4.171, - "p95_ms": 5.274, - "p99_ms": 5.619, - "index_ms": 802.1 - }, - "csharp": { - "repos": 3, - "ndcg10": 0.7865, - "p50_ms": 0.776, - "p90_ms": 5.065, - "p95_ms": 5.776, - "p99_ms": 7.322, - "index_ms": 441.5 - }, - "elixir": { - "repos": 3, - "ndcg10": 0.8097, - "p50_ms": 0.551, - "p90_ms": 4.614, - "p95_ms": 4.952, - "p99_ms": 5.445, - "index_ms": 195.8 - }, - "go": { - "repos": 3, - "ndcg10": 0.8633, - "p50_ms": 0.58, - "p90_ms": 3.221, - "p95_ms": 3.671, - "p99_ms": 3.909, - "index_ms": 158.1 - }, - "java": { - "repos": 3, - "ndcg10": 0.7717, - "p50_ms": 1.123, - "p90_ms": 9.088, - "p95_ms": 12.672, - "p99_ms": 13.248, - "index_ms": 950.8 - }, - "javascript": { - "repos": 3, - "ndcg10": 0.7665, - "p50_ms": 0.427, - "p90_ms": 1.672, - "p95_ms": 2.223, - "p99_ms": 2.243, - "index_ms": 34.5 - }, - "kotlin": { - "repos": 3, - "ndcg10": 0.7781, - "p50_ms": 0.811, - "p90_ms": 4.232, - "p95_ms": 4.582, - "p99_ms": 5.521, - "index_ms": 238.9 - }, - "php": { - "repos": 3, - "ndcg10": 0.7799, - "p50_ms": 0.882, - "p90_ms": 6.58, - "p95_ms": 6.646, - "p99_ms": 6.757, - "index_ms": 706.6 - }, - "python": { - "repos": 9, - "ndcg10": 0.8389, - "p50_ms": 0.499, - "p90_ms": 3.23, - "p95_ms": 3.383, - "p99_ms": 3.616, - "index_ms": 153.2 - }, - "ruby": { - "repos": 3, - "ndcg10": 0.8573, - "p50_ms": 0.574, - "p90_ms": 4.183, - "p95_ms": 5.311, - "p99_ms": 5.64, - "index_ms": 97.5 - }, - "rust": { - "repos": 3, - "ndcg10": 0.6955, - "p50_ms": 0.763, - "p90_ms": 4.986, - "p95_ms": 5.169, - "p99_ms": 5.378, - "index_ms": 494.3 - }, - "scala": { - "repos": 3, - "ndcg10": 0.8493, - "p50_ms": 0.792, - "p90_ms": 3.81, - "p95_ms": 4.073, - "p99_ms": 4.126, - "index_ms": 382.6 - }, - "swift": { - "repos": 3, - "ndcg10": 0.7598, - "p50_ms": 0.701, - "p90_ms": 3.677, - "p95_ms": 3.969, - "p99_ms": 4.44, - "index_ms": 235.1 - }, - "typescript": { - "repos": 3, - "ndcg10": 0.616, - "p50_ms": 0.842, - "p90_ms": 4.56, - "p95_ms": 4.665, - "p99_ms": 4.765, - "index_ms": 368.9 - } - }, - "repos": [ - { - "repo": "abseil-cpp", - "language": "cpp", - "chunks": 3083, - "ndcg5": 0.798925820038867, - "ndcg10": 0.798925820038867, - "p50_ms": 0.8098124962998554, - "p90_ms": 7.488120792550036, - "p95_ms": 7.974812139582355, - "p99_ms": 8.379195226880256, - "index_ms": 1747.9244160058443 - }, - { - "repo": "aiohttp", - "language": "python", - "chunks": 756, - "ndcg5": 0.7132626857513019, - "ndcg10": 0.7821229638714016, - "p50_ms": 0.6161670025903732, - "p90_ms": 4.1032919980352744, - "p95_ms": 4.229083002428524, - "p99_ms": 4.509282993967645, - "index_ms": 246.89804099034518 - }, - { - "repo": "alamofire", - "language": "swift", - "chunks": 649, - "ndcg5": 0.900172569211564, - "ndcg10": 0.9315768229529695, - "p50_ms": 0.5519999976968393, - "p90_ms": 4.054758802521974, - "p95_ms": 4.507000601734033, - "p99_ms": 5.68673372908961, - "index_ms": 212.94708299683407 - }, - { - "repo": "axios", - "language": "javascript", - "chunks": 166, - "ndcg5": 0.8788319645532834, - "ndcg10": 0.8885032847341471, - "p50_ms": 0.5888954910915345, - "p90_ms": 2.65668780048145, - "p95_ms": 2.707789552368922, - "p99_ms": 2.7292907155060675, - "index_ms": 59.81700000120327 - }, - { - "repo": "axum", - "language": "rust", - "chunks": 509, - "ndcg5": 0.5315464876785729, - "ndcg10": 0.5775462166730401, - "p50_ms": 0.5822704988531768, - "p90_ms": 3.626916601206176, - "p95_ms": 3.7243139573547523, - "p99_ms": 3.95076280212379, - "index_ms": 178.31041698809713 - }, - { - "repo": "cats", - "language": "scala", - "chunks": 1254, - "ndcg5": 0.8157722039023972, - "ndcg10": 0.8414671964692401, - "p50_ms": 0.9438340057386085, - "p90_ms": 4.557675198884681, - "p95_ms": 4.928124998696148, - "p99_ms": 4.932124991901219, - "index_ms": 645.6532089941902 - }, - { - "repo": "chi", - "language": "go", - "chunks": 262, - "ndcg5": 0.7967564632754967, - "ndcg10": 0.805985248114475, - "p50_ms": 0.6687705026706681, - "p90_ms": 2.85731689655222, - "p95_ms": 2.949305603397079, - "p99_ms": 2.993227523402311, - "index_ms": 102.55604100530036 - }, - { - "repo": "circe", - "language": "scala", - "chunks": 192, - "ndcg5": 0.775, - "ndcg10": 0.7928103593554011, - "p50_ms": 0.5452710029203445, - "p90_ms": 2.574320796702523, - "p95_ms": 2.658914255880518, - "p99_ms": 2.8064492401608727, - "index_ms": 85.54312500928063 - }, - { - "repo": "click", - "language": "python", - "chunks": 315, - "ndcg5": 0.967519867361079, - "ndcg10": 0.967519867361079, - "p50_ms": 0.41660450369818136, - "p90_ms": 3.146437503164634, - "p95_ms": 3.244981253374135, - "p99_ms": 3.383396256685955, - "index_ms": 107.12941699603107 - }, - { - "repo": "cobra", - "language": "go", - "chunks": 394, - "ndcg5": 0.9291287872272751, - "ndcg10": 0.9291287872272751, - "p50_ms": 0.5190205047256313, - "p90_ms": 3.402512500179002, - "p95_ms": 4.5782228975440376, - "p99_ms": 4.834310983715113, - "index_ms": 145.36012499593198 - }, - { - "repo": "commons-lang", - "language": "java", - "chunks": 3152, - "ndcg5": 0.8303573023787708, - "ndcg10": 0.8566306723859848, - "p50_ms": 0.9268329886253923, - "p90_ms": 8.785290992818773, - "p95_ms": 18.388124997727573, - "p99_ms": 18.871992197819054, - "index_ms": 1013.1795409979532 - }, - { - "repo": "dapper", - "language": "csharp", - "chunks": 411, - "ndcg5": 0.8105159313011153, - "ndcg10": 0.8255674310843144, - "p50_ms": 0.5578125055762939, - "p90_ms": 3.125566610833631, - "p95_ms": 3.9888577077363183, - "p99_ms": 7.508671546966064, - "index_ms": 172.57770799915306 - }, - { - "repo": "ecto", - "language": "elixir", - "chunks": 755, - "ndcg5": 0.8315464876785729, - "ndcg10": 0.846597987461772, - "p50_ms": 0.5203750042710453, - "p90_ms": 6.651537494326477, - "p95_ms": 7.090072899882216, - "p99_ms": 7.235580984561238, - "index_ms": 289.46279200317804 - }, - { - "repo": "exposed", - "language": "kotlin", - "chunks": 744, - "ndcg5": 0.7258891280402999, - "ndcg10": 0.7525827437204946, - "p50_ms": 0.8491250046063215, - "p90_ms": 3.823462796572131, - "p95_ms": 4.457374991761755, - "p99_ms": 6.083775000442981, - "index_ms": 270.9554579923861 - }, - { - "repo": "express", - "language": "javascript", - "chunks": 52, - "ndcg5": 0.5213932929028847, - "ndcg10": 0.5213932929028847, - "p50_ms": 0.28768699849024415, - "p90_ms": 0.48249139363179233, - "p95_ms": 2.0675898893387057, - "p99_ms": 2.079717975866515, - "index_ms": 18.25520899728872 - }, - { - "repo": "fastapi", - "language": "python", - "chunks": 597, - "ndcg5": 0.7274224843886101, - "ndcg10": 0.7656623902466776, - "p50_ms": 0.4803539995918982, - "p90_ms": 3.3393670033547096, - "p95_ms": 3.4831378019589465, - "p99_ms": 3.606193964224076, - "index_ms": 189.1761669976404 - }, - { - "repo": "flask", - "language": "python", - "chunks": 291, - "ndcg5": 0.8570900833760776, - "ndcg10": 0.8767012186349079, - "p50_ms": 0.4419590113684535, - "p90_ms": 2.783499992801808, - "p95_ms": 2.861458997358568, - "p99_ms": 3.595491804298945, - "index_ms": 94.17395798664074 - }, - { - "repo": "fmtlib", - "language": "cpp", - "chunks": 476, - "ndcg5": 0.6215338279036697, - "ndcg10": 0.6382004945703363, - "p50_ms": 0.45037500240141526, - "p90_ms": 0.8048830015468453, - "p95_ms": 3.500235099636484, - "p99_ms": 3.6108470187173225, - "index_ms": 346.0754160041688 - }, - { - "repo": "gin", - "language": "go", - "chunks": 576, - "ndcg5": 0.8374038902637901, - "ndcg10": 0.8548965225450329, - "p50_ms": 0.5513334981515072, - "p90_ms": 3.402471098524984, - "p95_ms": 3.484301787830191, - "p99_ms": 3.8999275527021373, - "index_ms": 226.25712500303052 - }, - { - "repo": "gson", - "language": "java", - "chunks": 1460, - "ndcg5": 0.7990637329553106, - "ndcg10": 0.8168740923107117, - "p50_ms": 0.9553329946356826, - "p90_ms": 5.921820500225295, - "p95_ms": 6.678897600068012, - "p99_ms": 6.970579515473218, - "index_ms": 482.0230420009466 - }, - { - "repo": "guzzle", - "language": "php", - "chunks": 206, - "ndcg5": 0.8326908338735671, - "ndcg10": 0.844506786325837, - "p50_ms": 0.5773750017397106, - "p90_ms": 2.8026829968439415, - "p95_ms": 2.8680204995907843, - "p99_ms": 2.9537705006077886, - "index_ms": 71.80620900180656 - }, - { - "repo": "http4s", - "language": "scala", - "chunks": 952, - "ndcg5": 0.913500228802621, - "ndcg10": 0.913500228802621, - "p50_ms": 0.8863960028975271, - "p90_ms": 4.296908299147618, - "p95_ms": 4.630724636808736, - "p99_ms": 4.638577723962953, - "index_ms": 416.7482919874601 - }, - { - "repo": "httpx", - "language": "python", - "chunks": 248, - "ndcg5": 0.8519694264932337, - "ndcg10": 0.871159099521697, - "p50_ms": 0.4492919979384169, - "p90_ms": 2.5965829991037026, - "p95_ms": 3.001582997967489, - "p99_ms": 3.0161166010657325, - "index_ms": 84.66608400340192 - }, - { - "repo": "jackson-databind", - "language": "java", - "chunks": 4570, - "ndcg5": 0.5995814171722698, - "ndcg10": 0.6416926478590864, - "p50_ms": 1.4854374967399053, - "p90_ms": 12.558216899924446, - "p95_ms": 12.948651453916682, - "p99_ms": 13.900330291216958, - "index_ms": 1357.184332999168 - }, - { - "repo": "kotlinx-coroutines", - "language": "kotlin", - "chunks": 884, - "ndcg5": 0.8008891280402999, - "ndcg10": 0.8186994873957012, - "p50_ms": 0.7119794972823001, - "p90_ms": 4.169054400699679, - "p95_ms": 4.441976451926167, - "p99_ms": 5.3909952910908014, - "index_ms": 294.23566699551884 - }, - { - "repo": "ktor", - "language": "kotlin", - "chunks": 425, - "ndcg5": 0.726275662513606, - "ndcg10": 0.7630927329648237, - "p50_ms": 0.8704374995431863, - "p90_ms": 4.702666999946814, - "p95_ms": 4.846979754802305, - "p99_ms": 5.087329553498421, - "index_ms": 151.62587499071378 - }, - { - "repo": "laravel-framework", - "language": "php", - "chunks": 6197, - "ndcg5": 0.6126770146137568, - "ndcg10": 0.6562294678265145, - "p50_ms": 1.156354002887383, - "p90_ms": 13.296787792933173, - "p95_ms": 13.380985445110127, - "p99_ms": 13.61826429492794, - "index_ms": 1914.0850840049097 - }, - { - "repo": "messagepack-csharp", - "language": "csharp", - "chunks": 1125, - "ndcg5": 0.8164536328001585, - "ndcg10": 0.8262866007393468, - "p50_ms": 0.9102089970838279, - "p90_ms": 5.248633390874602, - "p95_ms": 5.374191390001215, - "p99_ms": 5.614138278760947, - "index_ms": 437.14116601040587 - }, - { - "repo": "model2vec", - "language": "python", - "chunks": 107, - "ndcg5": 0.6593701861221591, - "ndcg10": 0.695271294655741, - "p50_ms": 0.45233350101625547, - "p90_ms": 2.217216709686909, - "p95_ms": 2.31208574550692, - "p99_ms": 2.3393507540458813, - "index_ms": 38.93212499679066 - }, - { - "repo": "monolog", - "language": "php", - "chunks": 417, - "ndcg5": 0.8301283460390589, - "ndcg10": 0.8389903103782611, - "p50_ms": 0.9110835017054342, - "p90_ms": 3.639266097161453, - "p95_ms": 3.6903231921314728, - "p99_ms": 3.700297438626876, - "index_ms": 133.87616699037608 - }, - { - "repo": "newtonsoft-json", - "language": "csharp", - "chunks": 2152, - "ndcg5": 0.6306102206338835, - "ndcg10": 0.7077298576109119, - "p50_ms": 0.8588334967498668, - "p90_ms": 6.820033305848485, - "p95_ms": 7.9649392966530295, - "p99_ms": 8.844355065084526, - "index_ms": 714.7645840013865 - }, - { - "repo": "nlohmann-json", - "language": "cpp", - "chunks": 791, - "ndcg5": 0.6297896285293605, - "ndcg10": 0.6606004404305565, - "p50_ms": 0.5737914980272762, - "p90_ms": 4.219637198548298, - "p95_ms": 4.3454958489746796, - "p99_ms": 4.866032770660239, - "index_ms": 312.373334003496 - }, - { - "repo": "phoenix", - "language": "elixir", - "chunks": 546, - "ndcg5": 0.6800650542719645, - "ndcg10": 0.7136486574666521, - "p50_ms": 0.5800829967483878, - "p90_ms": 4.042487498372793, - "p95_ms": 4.2123416569666015, - "p99_ms": 5.102934730530249, - "index_ms": 196.94904099742416 - }, - { - "repo": "plug", - "language": "elixir", - "chunks": 249, - "ndcg5": 0.8689567838476393, - "ndcg10": 0.8689567838476393, - "p50_ms": 0.5524795051314868, - "p90_ms": 3.1476326941628945, - "p95_ms": 3.5543746489565824, - "p99_ms": 3.995807730825617, - "index_ms": 100.86366599716712 - }, - { - "repo": "pydantic", - "language": "python", - "chunks": 1518, - "ndcg5": 0.6795591269045096, - "ndcg10": 0.7070408064407742, - "p50_ms": 0.6921665044501424, - "p90_ms": 5.267070501577109, - "p95_ms": 5.381608055176912, - "p99_ms": 5.7562888179381835, - "index_ms": 489.7904590034159 - }, - { - "repo": "rack", - "language": "ruby", - "chunks": 249, - "ndcg5": 0.8630929753571458, - "ndcg10": 0.8630929753571458, - "p50_ms": 0.5646874997182749, - "p90_ms": 3.2867372006876416, - "p95_ms": 4.874424994341099, - "p99_ms": 5.747285005054435, - "index_ms": 95.39016700000502 - }, - { - "repo": "rails", - "language": "ruby", - "chunks": 465, - "ndcg5": 0.8282867981913646, - "ndcg10": 0.8700179819334688, - "p50_ms": 0.8228539954870939, - "p90_ms": 4.214053605392112, - "p95_ms": 5.841598257393343, - "p99_ms": 5.954553243791452, - "index_ms": 166.5643329906743 - }, - { - "repo": "redux", - "language": "javascript", - "chunks": 53, - "ndcg5": 0.880657359638273, - "ndcg10": 0.8895193239774752, - "p50_ms": 0.40393749804934487, - "p90_ms": 1.8773206087644212, - "p95_ms": 1.8946902004245203, - "p99_ms": 1.9210044386272784, - "index_ms": 25.494791989331134 - }, - { - "repo": "requests", - "language": "python", - "chunks": 169, - "ndcg5": 0.9550842629661954, - "ndcg10": 0.9550842629661954, - "p50_ms": 0.404562997573521, - "p90_ms": 2.774383993528318, - "p95_ms": 3.017163101321785, - "p99_ms": 3.109565416671103, - "index_ms": 57.55308399966452 - }, - { - "repo": "rxswift", - "language": "swift", - "chunks": 686, - "ndcg5": 0.6658764682653968, - "ndcg10": 0.6839672174435776, - "p50_ms": 0.7720414942014031, - "p90_ms": 3.3192880990100098, - "p95_ms": 3.544531251100125, - "p99_ms": 3.7084062492067456, - "index_ms": 211.11041700351052 - }, - { - "repo": "serde", - "language": "rust", - "chunks": 1164, - "ndcg5": 0.555271503124185, - "ndcg10": 0.6210447469634717, - "p50_ms": 0.9097919974010438, - "p90_ms": 4.168516700156034, - "p95_ms": 4.522385749442037, - "p99_ms": 4.615010746929329, - "index_ms": 372.4750420078635 - }, - { - "repo": "sinatra", - "language": "ruby", - "chunks": 68, - "ndcg5": 0.8387325493217617, - "ndcg10": 0.8387325493217617, - "p50_ms": 0.33502049336675555, - "p90_ms": 5.049166502431035, - "p95_ms": 5.216645495238481, - "p99_ms": 5.217095489933854, - "index_ms": 30.66233400022611 - }, - { - "repo": "starlette", - "language": "python", - "chunks": 213, - "ndcg5": 0.9058681185722455, - "ndcg10": 0.9294136613951622, - "p50_ms": 0.5375830078264698, - "p90_ms": 2.846584000508301, - "p95_ms": 2.9142499988665804, - "p99_ms": 3.2307499990565707, - "index_ms": 70.6566660082899 - }, - { - "repo": "tokio", - "language": "rust", - "chunks": 2730, - "ndcg5": 0.8750003941122573, - "ndcg10": 0.8878478903956787, - "p50_ms": 0.7966249977471307, - "p90_ms": 7.163916603894904, - "p95_ms": 7.26087540097069, - "p99_ms": 7.5671422824962065, - "index_ms": 932.0435839908896 - }, - { - "repo": "trpc", - "language": "typescript", - "chunks": 362, - "ndcg5": 0.6949834508995433, - "ndcg10": 0.7431267778412411, - "p50_ms": 0.8684579952387139, - "p90_ms": 3.2228500000201166, - "p95_ms": 3.2365418039262295, - "p99_ms": 3.2558755576610565, - "index_ms": 121.78658301127143 - }, - { - "repo": "vapor", - "language": "swift", - "chunks": 780, - "ndcg5": 0.6363749551121142, - "ndcg10": 0.6638566346483789, - "p50_ms": 0.7803129992680624, - "p90_ms": 3.6574958066921686, - "p95_ms": 3.8564892987778876, - "p99_ms": 3.9234650631260592, - "index_ms": 281.3732499926118 - }, - { - "repo": "vitest", - "language": "typescript", - "chunks": 1079, - "ndcg5": 0.4258891280403, - "ndcg10": 0.4615098467511022, - "p50_ms": 0.79460450069746, - "p90_ms": 4.745375002676155, - "p95_ms": 4.832222894765437, - "p99_ms": 4.886910973582417, - "index_ms": 357.375374995172 - }, - { - "repo": "zod", - "language": "typescript", - "chunks": 1777, - "ndcg5": 0.5978935011565394, - "ndcg10": 0.6432908990195153, - "p50_ms": 0.8638959989184514, - "p90_ms": 5.710662805358879, - "p95_ms": 5.92477500467794, - "p99_ms": 6.153154996281955, - "index_ms": 627.5498749891995 - } - ] -} diff --git a/benchmarks/results/2c6e4c281865.json b/benchmarks/results/2c6e4c281865.json deleted file mode 100644 index 91d1dd2..0000000 --- a/benchmarks/results/2c6e4c281865.json +++ /dev/null @@ -1,718 +0,0 @@ -{ - "sha": "2c6e4c28186549a90690e478bd57177f0fc3f8b8", - "model": "minishlab/potion-code-16M", - "summary": { - "ndcg10": 0.8012, - "p50_ms": 0.718, - "p90_ms": 4.579, - "p95_ms": 5.243, - "p99_ms": 5.637, - "index_ms": 361.8 - }, - "by_language": { - "cpp": { - "repos": 3, - "ndcg10": 0.8215, - "p50_ms": 0.772, - "p90_ms": 4.417, - "p95_ms": 5.466, - "p99_ms": 5.892, - "index_ms": 779.4 - }, - "csharp": { - "repos": 3, - "ndcg10": 0.7865, - "p50_ms": 0.866, - "p90_ms": 5.525, - "p95_ms": 6.458, - "p99_ms": 8.028, - "index_ms": 478.8 - }, - "elixir": { - "repos": 3, - "ndcg10": 0.8097, - "p50_ms": 0.59, - "p90_ms": 4.84, - "p95_ms": 5.19, - "p99_ms": 5.729, - "index_ms": 209.9 - }, - "go": { - "repos": 3, - "ndcg10": 0.8633, - "p50_ms": 0.612, - "p90_ms": 3.434, - "p95_ms": 3.965, - "p99_ms": 4.198, - "index_ms": 160.1 - }, - "java": { - "repos": 3, - "ndcg10": 0.7717, - "p50_ms": 1.122, - "p90_ms": 9.261, - "p95_ms": 13.328, - "p99_ms": 13.65, - "index_ms": 997.9 - }, - "javascript": { - "repos": 3, - "ndcg10": 0.7665, - "p50_ms": 0.437, - "p90_ms": 1.792, - "p95_ms": 2.358, - "p99_ms": 2.437, - "index_ms": 35.9 - }, - "kotlin": { - "repos": 3, - "ndcg10": 0.7781, - "p50_ms": 0.888, - "p90_ms": 4.598, - "p95_ms": 4.932, - "p99_ms": 5.739, - "index_ms": 245.5 - }, - "php": { - "repos": 3, - "ndcg10": 0.7799, - "p50_ms": 0.912, - "p90_ms": 6.854, - "p95_ms": 6.977, - "p99_ms": 7.037, - "index_ms": 754.9 - }, - "python": { - "repos": 9, - "ndcg10": 0.8389, - "p50_ms": 0.505, - "p90_ms": 3.55, - "p95_ms": 3.746, - "p99_ms": 4.05, - "index_ms": 161.7 - }, - "ruby": { - "repos": 3, - "ndcg10": 0.8573, - "p50_ms": 0.59, - "p90_ms": 4.412, - "p95_ms": 5.582, - "p99_ms": 6.024, - "index_ms": 104.0 - }, - "rust": { - "repos": 3, - "ndcg10": 0.7955, - "p50_ms": 0.804, - "p90_ms": 5.098, - "p95_ms": 5.36, - "p99_ms": 5.553, - "index_ms": 499.3 - }, - "scala": { - "repos": 3, - "ndcg10": 0.8493, - "p50_ms": 0.801, - "p90_ms": 3.957, - "p95_ms": 4.246, - "p99_ms": 4.333, - "index_ms": 403.2 - }, - "swift": { - "repos": 3, - "ndcg10": 0.7598, - "p50_ms": 0.731, - "p90_ms": 3.781, - "p95_ms": 4.05, - "p99_ms": 4.564, - "index_ms": 254.9 - }, - "typescript": { - "repos": 3, - "ndcg10": 0.6627, - "p50_ms": 0.847, - "p90_ms": 4.641, - "p95_ms": 4.736, - "p99_ms": 4.859, - "index_ms": 379.3 - } - }, - "repos": [ - { - "repo": "abseil-cpp", - "language": "cpp", - "chunks": 3083, - "ndcg5": 0.898925820038867, - "ndcg10": 0.898925820038867, - "p50_ms": 1.1531874988577329, - "p90_ms": 7.634812503238209, - "p95_ms": 7.885129145870452, - "p99_ms": 8.620492231857495, - "index_ms": 1648.597167004482 - }, - { - "repo": "aiohttp", - "language": "python", - "chunks": 756, - "ndcg5": 0.7132626857513019, - "ndcg10": 0.7821229638714016, - "p50_ms": 0.5848330038134009, - "p90_ms": 4.114583003683947, - "p95_ms": 4.375707998406142, - "p99_ms": 4.74700799677521, - "index_ms": 251.289124993491 - }, - { - "repo": "alamofire", - "language": "swift", - "chunks": 649, - "ndcg5": 0.900172569211564, - "ndcg10": 0.9315768229529695, - "p50_ms": 0.576916994759813, - "p90_ms": 4.022841801634058, - "p95_ms": 4.524291996494865, - "p99_ms": 5.775092002586462, - "index_ms": 225.40470799140166 - }, - { - "repo": "axios", - "language": "javascript", - "chunks": 166, - "ndcg5": 0.8788319645532834, - "ndcg10": 0.8885032847341471, - "p50_ms": 0.605770997935906, - "p90_ms": 2.8372666987706907, - "p95_ms": 2.8531586576718837, - "p99_ms": 2.887231734348461, - "index_ms": 62.888915999792516 - }, - { - "repo": "axum", - "language": "rust", - "chunks": 509, - "ndcg5": 0.7065464876785729, - "ndcg10": 0.7525462166730401, - "p50_ms": 0.6355000004987232, - "p90_ms": 3.6775088956346735, - "p95_ms": 3.8351392555341595, - "p99_ms": 4.086794258473674, - "index_ms": 172.64304200944025 - }, - { - "repo": "cats", - "language": "scala", - "chunks": 1254, - "ndcg5": 0.8157722039023972, - "ndcg10": 0.8414671964692401, - "p50_ms": 0.9416659886483103, - "p90_ms": 4.73902479861863, - "p95_ms": 5.095266591524705, - "p99_ms": 5.192119715502486, - "index_ms": 676.9014580058865 - }, - { - "repo": "chi", - "language": "go", - "chunks": 262, - "ndcg5": 0.7967564632754967, - "ndcg10": 0.805985248114475, - "p50_ms": 0.7399164969683625, - "p90_ms": 3.1905542011372745, - "p95_ms": 3.30601075256709, - "p99_ms": 3.3777357457438484, - "index_ms": 102.6644999947166 - }, - { - "repo": "circe", - "language": "scala", - "chunks": 192, - "ndcg5": 0.775, - "ndcg10": 0.7928103593554011, - "p50_ms": 0.5513124997378327, - "p90_ms": 2.703700604615733, - "p95_ms": 2.849389607581543, - "p99_ms": 2.978811526118079, - "index_ms": 99.04858299705666 - }, - { - "repo": "click", - "language": "python", - "chunks": 315, - "ndcg5": 0.967519867361079, - "ndcg10": 0.967519867361079, - "p50_ms": 0.4198340029688552, - "p90_ms": 3.3618922068853863, - "p95_ms": 3.3876785484608263, - "p99_ms": 3.480969303054735, - "index_ms": 111.31958400073927 - }, - { - "repo": "cobra", - "language": "go", - "chunks": 394, - "ndcg5": 0.9291287872272751, - "ndcg10": 0.9291287872272751, - "p50_ms": 0.5288544925861061, - "p90_ms": 3.5690711069037224, - "p95_ms": 4.851749641238712, - "p99_ms": 5.072782725910656, - "index_ms": 156.88558299734723 - }, - { - "repo": "commons-lang", - "language": "java", - "chunks": 3152, - "ndcg5": 0.8303573023787708, - "ndcg10": 0.8566306723859848, - "p50_ms": 0.9531250107102096, - "p90_ms": 8.512207990861498, - "p95_ms": 18.73100000375416, - "p99_ms": 18.894600003841333, - "index_ms": 1039.284750004299 - }, - { - "repo": "dapper", - "language": "csharp", - "chunks": 411, - "ndcg5": 0.8105159313011153, - "ndcg10": 0.8255674310843144, - "p50_ms": 0.5732915014959872, - "p90_ms": 3.2556994090555245, - "p95_ms": 4.197949991066711, - "p99_ms": 7.981989994732424, - "index_ms": 178.72187499597203 - }, - { - "repo": "ecto", - "language": "elixir", - "chunks": 755, - "ndcg5": 0.8315464876785729, - "ndcg10": 0.846597987461772, - "p50_ms": 0.5293119975249283, - "p90_ms": 6.877599694416859, - "p95_ms": 7.201781249023043, - "p99_ms": 7.304856259725057, - "index_ms": 303.52145798678976 - }, - { - "repo": "exposed", - "language": "kotlin", - "chunks": 744, - "ndcg5": 0.7258891280402999, - "ndcg10": 0.7525827437204946, - "p50_ms": 0.8644790068501607, - "p90_ms": 3.9384753064950937, - "p95_ms": 4.576693754643204, - "p99_ms": 6.130038748960939, - "index_ms": 272.99887500703335 - }, - { - "repo": "express", - "language": "javascript", - "chunks": 52, - "ndcg5": 0.5213932929028847, - "ndcg10": 0.5213932929028847, - "p50_ms": 0.2906454974436201, - "p90_ms": 0.49372921057511376, - "p95_ms": 2.1239377951133065, - "p99_ms": 2.196453959622886, - "index_ms": 19.00641700194683 - }, - { - "repo": "fastapi", - "language": "python", - "chunks": 597, - "ndcg5": 0.7274224843886101, - "ndcg10": 0.7656623902466776, - "p50_ms": 0.4867710013058968, - "p90_ms": 3.519646398490295, - "p95_ms": 3.632005896361079, - "p99_ms": 3.689733976207208, - "index_ms": 197.32566599850543 - }, - { - "repo": "flask", - "language": "python", - "chunks": 291, - "ndcg5": 0.8570900833760776, - "ndcg10": 0.8767012186349079, - "p50_ms": 0.44045899994671345, - "p90_ms": 2.9264170007081702, - "p95_ms": 2.9937090002931654, - "p99_ms": 3.624075406696648, - "index_ms": 96.60487499786541 - }, - { - "repo": "fmtlib", - "language": "cpp", - "chunks": 476, - "ndcg5": 0.8715338279036697, - "ndcg10": 0.904867161237003, - "p50_ms": 0.4672919967561029, - "p90_ms": 0.8133923009154429, - "p95_ms": 3.4698544994171243, - "p99_ms": 3.5696044958604034, - "index_ms": 342.7425830013817 - }, - { - "repo": "gin", - "language": "go", - "chunks": 576, - "ndcg5": 0.8374038902637901, - "ndcg10": 0.8548965225450329, - "p50_ms": 0.5662500043399632, - "p90_ms": 3.5431753014563587, - "p95_ms": 3.736441702494631, - "p99_ms": 4.142155540903331, - "index_ms": 220.84795800037682 - }, - { - "repo": "gson", - "language": "java", - "chunks": 1460, - "ndcg5": 0.7990637329553106, - "ndcg10": 0.8168740923107117, - "p50_ms": 0.9840415077633224, - "p90_ms": 5.978270802006593, - "p95_ms": 6.956695511325961, - "p99_ms": 7.410605506011051, - "index_ms": 484.42600000998937 - }, - { - "repo": "guzzle", - "language": "php", - "chunks": 206, - "ndcg5": 0.8326908338735671, - "ndcg10": 0.844506786325837, - "p50_ms": 0.5946250021224841, - "p90_ms": 2.8571250091772527, - "p95_ms": 2.8967625039513223, - "p99_ms": 2.9651524950168096, - "index_ms": 68.1515420001233 - }, - { - "repo": "http4s", - "language": "scala", - "chunks": 952, - "ndcg5": 0.913500228802621, - "ndcg10": 0.913500228802621, - "p50_ms": 0.9110829996643588, - "p90_ms": 4.429116101528053, - "p95_ms": 4.79210240082466, - "p99_ms": 4.827220474398928, - "index_ms": 433.6127080023289 - }, - { - "repo": "httpx", - "language": "python", - "chunks": 248, - "ndcg5": 0.8519694264932337, - "ndcg10": 0.871159099521697, - "p50_ms": 0.4539170040516183, - "p90_ms": 2.6628750056261197, - "p95_ms": 3.020292002474889, - "p99_ms": 3.091058396967128, - "index_ms": 84.03450000332668 - }, - { - "repo": "jackson-databind", - "language": "java", - "chunks": 4570, - "ndcg5": 0.5995814171722698, - "ndcg10": 0.6416926478590864, - "p50_ms": 1.4283124983194284, - "p90_ms": 13.292900305532386, - "p95_ms": 14.296710399503354, - "p99_ms": 14.645708485331852, - "index_ms": 1470.1066660054494 - }, - { - "repo": "kotlinx-coroutines", - "language": "kotlin", - "chunks": 884, - "ndcg5": 0.8008891280402999, - "ndcg10": 0.8186994873957012, - "p50_ms": 0.8024159978958778, - "p90_ms": 4.5635917005711235, - "p95_ms": 4.73908365747775, - "p99_ms": 5.581416728527982, - "index_ms": 310.1958749903133 - }, - { - "repo": "ktor", - "language": "kotlin", - "chunks": 425, - "ndcg5": 0.726275662513606, - "ndcg10": 0.7630927329648237, - "p50_ms": 0.9958750015357509, - "p90_ms": 5.292937501508277, - "p95_ms": 5.481520747707691, - "p99_ms": 5.5064705476979725, - "index_ms": 153.3886670076754 - }, - { - "repo": "laravel-framework", - "language": "php", - "chunks": 6197, - "ndcg5": 0.6126770146137568, - "ndcg10": 0.6562294678265145, - "p50_ms": 1.1793329977081157, - "p90_ms": 13.86372949637007, - "p95_ms": 14.185189898125827, - "p99_ms": 14.257737980224192, - "index_ms": 2029.0744170051767 - }, - { - "repo": "messagepack-csharp", - "language": "csharp", - "chunks": 1125, - "ndcg5": 0.8164536328001585, - "ndcg10": 0.8262866007393468, - "p50_ms": 0.9232910088030621, - "p90_ms": 5.692983206245117, - "p95_ms": 5.8861248049652195, - "p99_ms": 6.452658553025685, - "index_ms": 449.77520799147896 - }, - { - "repo": "model2vec", - "language": "python", - "chunks": 107, - "ndcg5": 0.6593701861221591, - "ndcg10": 0.695271294655741, - "p50_ms": 0.49552099517313763, - "p90_ms": 3.7862750017666262, - "p95_ms": 4.119524994166569, - "p99_ms": 4.9920050019863975, - "index_ms": 40.59116599091794 - }, - { - "repo": "monolog", - "language": "php", - "chunks": 417, - "ndcg5": 0.8301283460390589, - "ndcg10": 0.8389903103782611, - "p50_ms": 0.9620834971428849, - "p90_ms": 3.8405755985877477, - "p95_ms": 3.8477458496345207, - "p99_ms": 3.889482775120996, - "index_ms": 167.42254099517595 - }, - { - "repo": "newtonsoft-json", - "language": "csharp", - "chunks": 2152, - "ndcg5": 0.6306102206338835, - "ndcg10": 0.7077298576109119, - "p50_ms": 1.1027914952137507, - "p90_ms": 7.627008309646047, - "p95_ms": 9.289878862909973, - "p99_ms": 9.649675777181983, - "index_ms": 807.8925839945441 - }, - { - "repo": "nlohmann-json", - "language": "cpp", - "chunks": 791, - "ndcg5": 0.6297896285293605, - "ndcg10": 0.6606004404305565, - "p50_ms": 0.6963955020182766, - "p90_ms": 4.802879197814036, - "p95_ms": 5.04354404474725, - "p99_ms": 5.4862752080953205, - "index_ms": 346.86941700056195 - }, - { - "repo": "phoenix", - "language": "elixir", - "chunks": 546, - "ndcg5": 0.6800650542719645, - "ndcg10": 0.7136486574666521, - "p50_ms": 0.642687504296191, - "p90_ms": 4.361454200989101, - "p95_ms": 4.563825346122031, - "p99_ms": 5.525732266542034, - "index_ms": 218.23004199541174 - }, - { - "repo": "plug", - "language": "elixir", - "chunks": 249, - "ndcg5": 0.8689567838476393, - "ndcg10": 0.8689567838476393, - "p50_ms": 0.5980620044283569, - "p90_ms": 3.2821539061842495, - "p95_ms": 3.803921153303236, - "p99_ms": 4.354984229430555, - "index_ms": 107.96183400088921 - }, - { - "repo": "pydantic", - "language": "python", - "chunks": 1518, - "ndcg5": 0.6795591269045096, - "ndcg10": 0.7070408064407742, - "p50_ms": 0.6842710063210689, - "p90_ms": 5.6252288006362505, - "p95_ms": 5.823938942194218, - "p99_ms": 6.0712877912737895, - "index_ms": 540.7792079931824 - }, - { - "repo": "rack", - "language": "ruby", - "chunks": 249, - "ndcg5": 0.8630929753571458, - "ndcg10": 0.8630929753571458, - "p50_ms": 0.5723545036744326, - "p90_ms": 3.4091965004336116, - "p95_ms": 5.141373542574002, - "p99_ms": 6.28387470365851, - "index_ms": 96.43166699970607 - }, - { - "repo": "rails", - "language": "ruby", - "chunks": 465, - "ndcg5": 0.8282867981913646, - "ndcg10": 0.8700179819334688, - "p50_ms": 0.8548745026928373, - "p90_ms": 4.612504193210046, - "p95_ms": 6.325906552228844, - "p99_ms": 6.46254770734231, - "index_ms": 187.26454200805165 - }, - { - "repo": "redux", - "language": "javascript", - "chunks": 53, - "ndcg5": 0.880657359638273, - "ndcg10": 0.8895193239774752, - "p50_ms": 0.4138329968554899, - "p90_ms": 2.045632705267053, - "p95_ms": 2.0967204982298426, - "p99_ms": 2.2280105025856756, - "index_ms": 25.876708008581772 - }, - { - "repo": "requests", - "language": "python", - "chunks": 169, - "ndcg5": 0.9550842629661954, - "ndcg10": 0.9550842629661954, - "p50_ms": 0.44629149488173425, - "p90_ms": 3.0958375034970236, - "p95_ms": 3.416781243868172, - "p99_ms": 3.42675625346601, - "index_ms": 57.05445799685549 - }, - { - "repo": "rxswift", - "language": "swift", - "chunks": 686, - "ndcg5": 0.6658764682653968, - "ndcg10": 0.6839672174435776, - "p50_ms": 0.7810624956618994, - "p90_ms": 3.413770903716795, - "p95_ms": 3.5497526987455785, - "p99_ms": 3.784116939641535, - "index_ms": 229.04945800837595 - }, - { - "repo": "serde", - "language": "rust", - "chunks": 1164, - "ndcg5": 0.680271503124185, - "ndcg10": 0.7460447469634716, - "p50_ms": 0.9299789962824434, - "p90_ms": 4.373300292354544, - "p95_ms": 4.803195798740489, - "p99_ms": 4.872671951161465, - "index_ms": 384.4321659998968 - }, - { - "repo": "sinatra", - "language": "ruby", - "chunks": 68, - "ndcg5": 0.8387325493217617, - "ndcg10": 0.8387325493217617, - "p50_ms": 0.34264599526068196, - "p90_ms": 5.215292003413197, - "p95_ms": 5.27752124980907, - "p99_ms": 5.324271445715567, - "index_ms": 28.397749993018806 - }, - { - "repo": "starlette", - "language": "python", - "chunks": 213, - "ndcg5": 0.9058681185722455, - "ndcg10": 0.9294136613951622, - "p50_ms": 0.5366250115912408, - "p90_ms": 2.8590829897439107, - "p95_ms": 2.9451669979607686, - "p99_ms": 3.3300006034551193, - "index_ms": 76.71899998968001 - }, - { - "repo": "tokio", - "language": "rust", - "chunks": 2730, - "ndcg5": 0.8750003941122573, - "ndcg10": 0.8878478903956787, - "p50_ms": 0.8478749950882047, - "p90_ms": 7.242541603045538, - "p95_ms": 7.441299402853474, - "p99_ms": 7.698126280447468, - "index_ms": 940.8040830021491 - }, - { - "repo": "trpc", - "language": "typescript", - "chunks": 362, - "ndcg5": 0.6949834508995433, - "ndcg10": 0.7431267778412411, - "p50_ms": 0.8709999965503812, - "p90_ms": 3.3676000020932406, - "p95_ms": 3.3844332036096603, - "p99_ms": 3.4006194409448653, - "index_ms": 124.33108300319873 - }, - { - "repo": "vapor", - "language": "swift", - "chunks": 780, - "ndcg5": 0.6363749551121142, - "ndcg10": 0.6638566346483789, - "p50_ms": 0.8344375091837719, - "p90_ms": 3.9053705026162793, - "p95_ms": 4.074922607105691, - "p99_ms": 4.133284526469652, - "index_ms": 310.1267919992097 - }, - { - "repo": "vitest", - "language": "typescript", - "chunks": 1079, - "ndcg5": 0.5508891280403, - "ndcg10": 0.6015613465343013, - "p50_ms": 0.8029579985304736, - "p90_ms": 4.722091699659359, - "p95_ms": 4.806444045243552, - "p99_ms": 4.810655209439574, - "index_ms": 365.1177920110058 - }, - { - "repo": "zod", - "language": "typescript", - "chunks": 1777, - "ndcg5": 0.5978935011565394, - "ndcg10": 0.6432908990195153, - "p50_ms": 0.867228998686187, - "p90_ms": 5.833920804434456, - "p95_ms": 6.018070504796924, - "p99_ms": 6.365580507699632, - "index_ms": 648.3059590100311 - } - ] -} diff --git a/benchmarks/results/4266a1e40ab5.json b/benchmarks/results/4266a1e40ab5.json deleted file mode 100644 index c211e15..0000000 --- a/benchmarks/results/4266a1e40ab5.json +++ /dev/null @@ -1,346 +0,0 @@ -{ - "sha": "4266a1e40ab5040e06759f15032dae121ceb07d0", - "model": "minishlab/potion-code-16M", - "summary": { - "ndcg10": 0.8668, - "p50_ms": 0.699, - "index_ms": 341.1 - }, - "by_language": { - "csharp": { - "repos": 1, - "ndcg10": 0.8263, - "p50_ms": 0.971, - "index_ms": 491.9 - }, - "go": { - "repos": 3, - "ndcg10": 0.9515, - "p50_ms": 0.508, - "index_ms": 155.9 - }, - "java": { - "repos": 3, - "ndcg10": 0.842, - "p50_ms": 1.231, - "index_ms": 975.4 - }, - "javascript": { - "repos": 3, - "ndcg10": 0.9282, - "p50_ms": 0.406, - "index_ms": 37.4 - }, - "kotlin": { - "repos": 1, - "ndcg10": 0.7631, - "p50_ms": 0.861, - "index_ms": 160.5 - }, - "php": { - "repos": 3, - "ndcg10": 0.906, - "p50_ms": 0.991, - "index_ms": 737.2 - }, - "python": { - "repos": 8, - "ndcg10": 0.8233, - "p50_ms": 0.496, - "index_ms": 164.5 - }, - "ruby": { - "repos": 3, - "ndcg10": 0.8911, - "p50_ms": 0.634, - "index_ms": 97.5 - }, - "rust": { - "repos": 1, - "ndcg10": 0.8878, - "p50_ms": 0.859, - "index_ms": 934.0 - }, - "scala": { - "repos": 1, - "ndcg10": 0.8415, - "p50_ms": 0.917, - "index_ms": 631.3 - }, - "swift": { - "repos": 1, - "ndcg10": 0.9316, - "p50_ms": 0.519, - "index_ms": 227.6 - }, - "typescript": { - "repos": 1, - "ndcg10": 0.7431, - "p50_ms": 0.86, - "index_ms": 119.8 - } - }, - "repos": [ - { - "repo": "aiohttp", - "language": "python", - "chunks": 756, - "ndcg5": 0.7132626857513019, - "ndcg10": 0.7821229638714016, - "p50_ms": 0.5862920006620698, - "index_ms": 266.62812499853317 - }, - { - "repo": "alamofire", - "language": "swift", - "chunks": 649, - "ndcg5": 0.900172569211564, - "ndcg10": 0.9315768229529695, - "p50_ms": 0.5190410010982305, - "index_ms": 227.64933299913537 - }, - { - "repo": "axios", - "language": "javascript", - "chunks": 166, - "ndcg5": 0.9671522420975631, - "ndcg10": 0.9671522420975631, - "p50_ms": 0.5850419984199107, - "index_ms": 61.9216669947491 - }, - { - "repo": "cats", - "language": "scala", - "chunks": 1254, - "ndcg5": 0.8157722039023972, - "ndcg10": 0.8414671964692401, - "p50_ms": 0.9170829944196157, - "index_ms": 631.3122919964371 - }, - { - "repo": "chi", - "language": "go", - "chunks": 262, - "ndcg5": 0.9455120441745608, - "ndcg10": 0.9455120441745608, - "p50_ms": 0.6326660004560836, - "index_ms": 100.20974999497412 - }, - { - "repo": "cobra", - "language": "go", - "chunks": 394, - "ndcg5": 0.970068981106951, - "ndcg10": 0.970068981106951, - "p50_ms": 0.41312499524792656, - "index_ms": 146.42495799489552 - }, - { - "repo": "commons-lang", - "language": "java", - "chunks": 3152, - "ndcg5": 0.7688578654609097, - "ndcg10": 0.8052591049306037, - "p50_ms": 0.9467080017202534, - "index_ms": 1020.9785000042757 - }, - { - "repo": "express", - "language": "javascript", - "chunks": 52, - "ndcg5": 0.9593872208972474, - "ndcg10": 0.9593872208972474, - "p50_ms": 0.2626249988679774, - "index_ms": 22.719332999258768 - }, - { - "repo": "fastapi", - "language": "python", - "chunks": 597, - "ndcg5": 0.7314364449312006, - "ndcg10": 0.7693095302894921, - "p50_ms": 0.46908400690881535, - "index_ms": 187.92545799806248 - }, - { - "repo": "flask", - "language": "python", - "chunks": 291, - "ndcg5": 0.8570900833760776, - "ndcg10": 0.8767012186349079, - "p50_ms": 0.44070799776818603, - "index_ms": 95.70033299678471 - }, - { - "repo": "gin", - "language": "go", - "chunks": 576, - "ndcg5": 0.8807555442147937, - "ndcg10": 0.939064318485603, - "p50_ms": 0.47812500270083547, - "index_ms": 221.14516699366504 - }, - { - "repo": "gson", - "language": "java", - "chunks": 1460, - "ndcg5": 0.9261859507142916, - "ndcg10": 0.9261859507142916, - "p50_ms": 1.1770420023822226, - "index_ms": 509.99808400229085 - }, - { - "repo": "guzzle", - "language": "php", - "chunks": 206, - "ndcg5": 0.8326908338735671, - "ndcg10": 0.844506786325837, - "p50_ms": 0.573749995965045, - "index_ms": 83.04195899836486 - }, - { - "repo": "httpx", - "language": "python", - "chunks": 248, - "ndcg5": 0.8519694264932337, - "ndcg10": 0.871159099521697, - "p50_ms": 0.4645420049200766, - "index_ms": 86.70345899736276 - }, - { - "repo": "jackson-databind", - "language": "java", - "chunks": 4570, - "ndcg5": 0.7667968319202225, - "ndcg10": 0.7944291752941182, - "p50_ms": 1.5702919990872033, - "index_ms": 1395.3167500003474 - }, - { - "repo": "ktor", - "language": "kotlin", - "chunks": 425, - "ndcg5": 0.726275662513606, - "ndcg10": 0.7630927329648237, - "p50_ms": 0.8605420007370412, - "index_ms": 160.50025000004098 - }, - { - "repo": "laravel-framework", - "language": "php", - "chunks": 6197, - "ndcg5": 0.967888315659275, - "ndcg10": 0.967888315659275, - "p50_ms": 1.4591669969377108, - "index_ms": 1993.087208000361 - }, - { - "repo": "messagepack-csharp", - "language": "csharp", - "chunks": 1125, - "ndcg5": 0.8164536328001585, - "ndcg10": 0.8262866007393468, - "p50_ms": 0.971207999100443, - "index_ms": 491.9366670001182 - }, - { - "repo": "model2vec", - "language": "python", - "chunks": 107, - "ndcg5": 0.6593701861221591, - "ndcg10": 0.695271294655741, - "p50_ms": 0.42779200157383457, - "index_ms": 42.165958002442494 - }, - { - "repo": "monolog", - "language": "php", - "chunks": 417, - "ndcg5": 0.9055096182921145, - "ndcg10": 0.9055096182921145, - "p50_ms": 0.939208002819214, - "index_ms": 135.56754199817078 - }, - { - "repo": "pydantic", - "language": "python", - "chunks": 1518, - "ndcg5": 0.6795591269045096, - "ndcg10": 0.7070408064407742, - "p50_ms": 0.6680410006083548, - "index_ms": 506.09699999768054 - }, - { - "repo": "rack", - "language": "ruby", - "chunks": 249, - "ndcg5": 1.0, - "ndcg10": 1.0, - "p50_ms": 0.5904999998165295, - "index_ms": 98.91937499924097 - }, - { - "repo": "rails", - "language": "ruby", - "chunks": 465, - "ndcg5": 0.7466134836472739, - "ndcg10": 0.8346443747935481, - "p50_ms": 0.988291998510249, - "index_ms": 165.1744169939775 - }, - { - "repo": "redux", - "language": "javascript", - "chunks": 53, - "ndcg5": 0.8226294385530917, - "ndcg10": 0.8580772959099011, - "p50_ms": 0.3718329971889034, - "index_ms": 27.56891599710798 - }, - { - "repo": "requests", - "language": "python", - "chunks": 169, - "ndcg5": 0.9550842629661954, - "ndcg10": 0.9550842629661954, - "p50_ms": 0.39600000309292227, - "index_ms": 54.466957997647114 - }, - { - "repo": "sinatra", - "language": "ruby", - "chunks": 68, - "ndcg5": 0.8387325493217617, - "ndcg10": 0.8387325493217617, - "p50_ms": 0.3239169964217581, - "index_ms": 28.267499998037238 - }, - { - "repo": "starlette", - "language": "python", - "chunks": 213, - "ndcg5": 0.9058681185722455, - "ndcg10": 0.9294136613951622, - "p50_ms": 0.51375000475673, - "index_ms": 76.53999999456573 - }, - { - "repo": "tokio", - "language": "rust", - "chunks": 2730, - "ndcg5": 0.8750003941122573, - "ndcg10": 0.8878478903956787, - "p50_ms": 0.8585420000599697, - "index_ms": 934.0497500015772 - }, - { - "repo": "trpc", - "language": "typescript", - "chunks": 362, - "ndcg5": 0.6949834508995433, - "ndcg10": 0.7431267778412411, - "p50_ms": 0.8599580032750964, - "index_ms": 119.76291600149125 - } - ] -} diff --git a/benchmarks/results/6c14e109002b.json b/benchmarks/results/6c14e109002b.json deleted file mode 100644 index 969156f..0000000 --- a/benchmarks/results/6c14e109002b.json +++ /dev/null @@ -1,988 +0,0 @@ -{ - "sha": "6c14e109002bb9ea9baac3479402f853d89817c2", - "model": "minishlab/potion-code-16M", - "summary": { - "ndcg10": 0.8288, - "p50_ms": 0.73, - "p90_ms": 3.463, - "p95_ms": 3.918, - "p99_ms": 4.221, - "index_ms": 492.3 - }, - "by_language": { - "bash": { - "repos": 3, - "ndcg10": 0.8385, - "p50_ms": 0.552, - "p90_ms": 0.639, - "p95_ms": 0.644, - "p99_ms": 0.659, - "index_ms": 106.1 - }, - "c": { - "repos": 2, - "ndcg10": 0.7632, - "p50_ms": 0.941, - "p90_ms": 1.058, - "p95_ms": 1.138, - "p99_ms": 1.483, - "index_ms": 2016.0 - }, - "cpp": { - "repos": 3, - "ndcg10": 0.9281, - "p50_ms": 0.625, - "p90_ms": 4.156, - "p95_ms": 5.198, - "p99_ms": 5.585, - "index_ms": 786.7 - }, - "csharp": { - "repos": 3, - "ndcg10": 0.824, - "p50_ms": 0.812, - "p90_ms": 5.118, - "p95_ms": 5.923, - "p99_ms": 7.494, - "index_ms": 453.0 - }, - "dart": { - "repos": 3, - "ndcg10": 0.7621, - "p50_ms": 0.589, - "p90_ms": 0.659, - "p95_ms": 0.666, - "p99_ms": 0.694, - "index_ms": 68.3 - }, - "elixir": { - "repos": 3, - "ndcg10": 0.8663, - "p50_ms": 0.568, - "p90_ms": 4.649, - "p95_ms": 5.016, - "p99_ms": 5.547, - "index_ms": 203.9 - }, - "go": { - "repos": 3, - "ndcg10": 0.8927, - "p50_ms": 0.59, - "p90_ms": 3.301, - "p95_ms": 3.804, - "p99_ms": 4.032, - "index_ms": 157.2 - }, - "haskell": { - "repos": 3, - "ndcg10": 0.7462, - "p50_ms": 0.698, - "p90_ms": 0.774, - "p95_ms": 0.781, - "p99_ms": 0.797, - "index_ms": 474.3 - }, - "java": { - "repos": 3, - "ndcg10": 0.8319, - "p50_ms": 1.176, - "p90_ms": 9.272, - "p95_ms": 12.956, - "p99_ms": 13.295, - "index_ms": 972.6 - }, - "javascript": { - "repos": 3, - "ndcg10": 0.8966, - "p50_ms": 0.441, - "p90_ms": 1.634, - "p95_ms": 1.671, - "p99_ms": 1.703, - "index_ms": 36.0 - }, - "kotlin": { - "repos": 3, - "ndcg10": 0.8104, - "p50_ms": 0.835, - "p90_ms": 4.545, - "p95_ms": 4.755, - "p99_ms": 5.455, - "index_ms": 242.9 - }, - "lua": { - "repos": 4, - "ndcg10": 0.7626, - "p50_ms": 0.785, - "p90_ms": 0.877, - "p95_ms": 0.907, - "p99_ms": 0.944, - "index_ms": 360.1 - }, - "php": { - "repos": 3, - "ndcg10": 0.8141, - "p50_ms": 0.894, - "p90_ms": 6.716, - "p95_ms": 6.844, - "p99_ms": 6.924, - "index_ms": 729.7 - }, - "python": { - "repos": 9, - "ndcg10": 0.8637, - "p50_ms": 0.495, - "p90_ms": 3.266, - "p95_ms": 3.398, - "p99_ms": 3.655, - "index_ms": 155.3 - }, - "ruby": { - "repos": 3, - "ndcg10": 0.8711, - "p50_ms": 0.591, - "p90_ms": 4.372, - "p95_ms": 5.432, - "p99_ms": 5.701, - "index_ms": 99.6 - }, - "rust": { - "repos": 3, - "ndcg10": 0.8378, - "p50_ms": 0.79, - "p90_ms": 5.02, - "p95_ms": 5.449, - "p99_ms": 5.759, - "index_ms": 505.3 - }, - "scala": { - "repos": 3, - "ndcg10": 0.8575, - "p50_ms": 0.817, - "p90_ms": 3.959, - "p95_ms": 4.143, - "p99_ms": 4.286, - "index_ms": 386.1 - }, - "swift": { - "repos": 3, - "ndcg10": 0.8227, - "p50_ms": 0.719, - "p90_ms": 3.715, - "p95_ms": 3.939, - "p99_ms": 4.501, - "index_ms": 245.7 - }, - "typescript": { - "repos": 3, - "ndcg10": 0.7185, - "p50_ms": 0.856, - "p90_ms": 4.608, - "p95_ms": 4.758, - "p99_ms": 4.911, - "index_ms": 441.3 - }, - "zig": { - "repos": 3, - "ndcg10": 0.8685, - "p50_ms": 0.823, - "p90_ms": 0.918, - "p95_ms": 0.932, - "p99_ms": 0.99, - "index_ms": 1405.3 - } - }, - "repos": [ - { - "repo": "abseil-cpp", - "language": "cpp", - "chunks": 3083, - "ndcg5": 0.9319537411240482, - "ndcg10": 0.9319537411240482, - "p50_ms": 0.7998124929144979, - "p90_ms": 7.487154501723126, - "p95_ms": 7.747266927617603, - "p99_ms": 8.248486187658273, - "index_ms": 1707.4572499841452 - }, - { - "repo": "aeson", - "language": "haskell", - "chunks": 393, - "ndcg5": 0.787707118843058, - "ndcg10": 0.8075975589033458, - "p50_ms": 0.5039380048401654, - "p90_ms": 0.5476831051055342, - "p95_ms": 0.5565902014495805, - "p99_ms": 0.5756844399729744, - "index_ms": 161.60437499638647 - }, - { - "repo": "aiohttp", - "language": "python", - "chunks": 756, - "ndcg5": 0.7595501987615106, - "ndcg10": 0.8051055391429651, - "p50_ms": 0.5790419818367809, - "p90_ms": 3.990333992987871, - "p95_ms": 4.206083016470075, - "p99_ms": 4.589283000677824, - "index_ms": 244.65399998007342 - }, - { - "repo": "alamofire", - "language": "swift", - "chunks": 649, - "ndcg5": 0.9613147192765459, - "ndcg10": 0.9613147192765459, - "p50_ms": 0.5557079857680947, - "p90_ms": 4.114870593184605, - "p95_ms": 4.304056889668574, - "p99_ms": 5.652644977963061, - "index_ms": 224.1691660019569 - }, - { - "repo": "axios", - "language": "javascript", - "chunks": 166, - "ndcg5": 0.8648468052243118, - "ndcg10": 0.8908186768484192, - "p50_ms": 0.595812511164695, - "p90_ms": 2.6303954946342856, - "p95_ms": 2.6892309164395556, - "p99_ms": 2.754178984905593, - "index_ms": 61.03224999969825 - }, - { - "repo": "axum", - "language": "rust", - "chunks": 509, - "ndcg5": 0.7324356157188728, - "ndcg10": 0.7826858855802271, - "p50_ms": 0.6067289941711351, - "p90_ms": 3.5670708806719635, - "p95_ms": 3.8244527298957114, - "p99_ms": 4.118857737630605, - "index_ms": 177.30954100261442 - }, - { - "repo": "bash-it", - "language": "bash", - "chunks": 723, - "ndcg5": 0.6381780979028123, - "ndcg10": 0.6881210787607543, - "p50_ms": 0.971707995631732, - "p90_ms": 1.1275464901700616, - "p95_ms": 1.1359048119629733, - "p99_ms": 1.1654809591709636, - "index_ms": 231.36266699293628 - }, - { - "repo": "bats-core", - "language": "bash", - "chunks": 48, - "ndcg5": 0.9011859507142915, - "ndcg10": 0.9011859507142915, - "p50_ms": 0.3573750000214204, - "p90_ms": 0.4321744083426893, - "p95_ms": 0.4346208690549247, - "p99_ms": 0.4364577782689594, - "index_ms": 24.089833023026586 - }, - { - "repo": "cats", - "language": "scala", - "chunks": 1254, - "ndcg5": 0.8632034061286296, - "ndcg10": 0.8632034061286296, - "p50_ms": 0.9821459971135482, - "p90_ms": 4.76967110298574, - "p95_ms": 5.013078868796583, - "p99_ms": 5.18971578188939, - "index_ms": 631.8489999976009 - }, - { - "repo": "chi", - "language": "go", - "chunks": 262, - "ndcg5": 0.8121926566738839, - "ndcg10": 0.8342931456297593, - "p50_ms": 0.6818124966230243, - "p90_ms": 2.902796198031865, - "p95_ms": 3.0680143026984297, - "p99_ms": 3.115302864171099, - "index_ms": 100.69449999718927 - }, - { - "repo": "circe", - "language": "scala", - "chunks": 192, - "ndcg5": 0.7870734511768013, - "ndcg10": 0.7870734511768013, - "p50_ms": 0.5541249993257225, - "p90_ms": 2.645499591017142, - "p95_ms": 2.70933280698955, - "p99_ms": 2.8689337568357587, - "index_ms": 90.79008401022293 - }, - { - "repo": "click", - "language": "python", - "chunks": 315, - "ndcg5": 1.0, - "ndcg10": 1.0, - "p50_ms": 0.42754149762913585, - "p90_ms": 3.2050079957116395, - "p95_ms": 3.3454059477662668, - "p99_ms": 3.4890147921396415, - "index_ms": 113.06462498032488 - }, - { - "repo": "cobra", - "language": "go", - "chunks": 394, - "ndcg5": 0.967519867361079, - "ndcg10": 0.967519867361079, - "p50_ms": 0.5262709892122075, - "p90_ms": 3.484274400398137, - "p95_ms": 4.602202065871097, - "p99_ms": 4.924473229912109, - "index_ms": 145.64199998858385 - }, - { - "repo": "commons-lang", - "language": "java", - "chunks": 3152, - "ndcg5": 0.8511907952337322, - "ndcg10": 0.8944264122460902, - "p50_ms": 0.9484160109423101, - "p90_ms": 8.694791002199054, - "p95_ms": 18.354333995375782, - "p99_ms": 18.77900039544329, - "index_ms": 1040.2108749840409 - }, - { - "repo": "curl", - "language": "c", - "chunks": 4444, - "ndcg5": 0.5564993486741835, - "ndcg10": 0.6602872366816288, - "p50_ms": 0.9797084931051359, - "p90_ms": 1.0835457913344726, - "p95_ms": 1.1860955317388295, - "p99_ms": 1.832286315911914, - "index_ms": 1505.4028329905123 - }, - { - "repo": "dapper", - "language": "csharp", - "chunks": 411, - "ndcg5": 0.7946394630357186, - "ndcg10": 0.8457831557244532, - "p50_ms": 0.5660210008500144, - "p90_ms": 3.25776671525091, - "p95_ms": 4.143112797464713, - "p99_ms": 7.799788958800485, - "index_ms": 173.79737499868497 - }, - { - "repo": "dio", - "language": "dart", - "chunks": 153, - "ndcg5": 0.6945949461156704, - "ndcg10": 0.6945949461156704, - "p50_ms": 0.569895506487228, - "p90_ms": 0.6605294183827937, - "p95_ms": 0.6660764673142694, - "p99_ms": 0.7179152985918335, - "index_ms": 60.07975002285093 - }, - { - "repo": "ecto", - "language": "elixir", - "chunks": 755, - "ndcg5": 0.8822031319548903, - "ndcg10": 0.9009508786447862, - "p50_ms": 0.5396670021582395, - "p90_ms": 6.722791190259159, - "p95_ms": 7.058446179144084, - "p99_ms": 7.2323564207181334, - "index_ms": 300.07354100234807 - }, - { - "repo": "exposed", - "language": "kotlin", - "chunks": 744, - "ndcg5": 0.714389356842921, - "ndcg10": 0.7597867547058971, - "p50_ms": 0.8886874857125804, - "p90_ms": 4.5291499845916405, - "p95_ms": 4.7769583732588226, - "p99_ms": 6.112025281763634, - "index_ms": 284.6420000132639 - }, - { - "repo": "express", - "language": "javascript", - "chunks": 52, - "ndcg5": 0.8968751674977092, - "ndcg10": 0.9237609540438003, - "p50_ms": 0.2903960121329874, - "p90_ms": 0.31328270270023495, - "p95_ms": 0.31442883191630244, - "p99_ms": 0.3158857603557408, - "index_ms": 18.616874993313104 - }, - { - "repo": "fastapi", - "language": "python", - "chunks": 597, - "ndcg5": 0.779729754068424, - "ndcg10": 0.8203171505071593, - "p50_ms": 0.4727500054286793, - "p90_ms": 3.522558094118722, - "p95_ms": 3.633708927372936, - "p99_ms": 3.821808169886935, - "index_ms": 191.60374999046326 - }, - { - "repo": "flask", - "language": "python", - "chunks": 291, - "ndcg5": 0.8847644106288912, - "ndcg10": 0.9039540836573546, - "p50_ms": 0.434750021668151, - "p90_ms": 2.9002500232309103, - "p95_ms": 2.9022080125287175, - "p99_ms": 3.530375193804503, - "index_ms": 94.13812498678453 - }, - { - "repo": "fmtlib", - "language": "cpp", - "chunks": 476, - "ndcg5": 0.9715338279036697, - "ndcg10": 0.9715338279036697, - "p50_ms": 0.46502101758960634, - "p90_ms": 0.8213881053961856, - "p95_ms": 3.4933999995701015, - "p99_ms": 3.6077799857594073, - "index_ms": 339.55375000368804 - }, - { - "repo": "gin", - "language": "go", - "chunks": 576, - "ndcg5": 0.8763658848604823, - "ndcg10": 0.8763658848604823, - "p50_ms": 0.5621669988613576, - "p90_ms": 3.5171459079720084, - "p95_ms": 3.7426819151733075, - "p99_ms": 4.05576997087337, - "index_ms": 225.3843340149615 - }, - { - "repo": "gson", - "language": "java", - "chunks": 1460, - "ndcg5": 0.8691575884408941, - "ndcg10": 0.8800779602818022, - "p50_ms": 0.9652704902691767, - "p90_ms": 5.974229486309924, - "p95_ms": 6.703927401395049, - "p99_ms": 7.09928548632888, - "index_ms": 489.4569999887608 - }, - { - "repo": "guzzle", - "language": "php", - "chunks": 206, - "ndcg5": 0.9140510731804075, - "ndcg10": 0.9140510731804075, - "p50_ms": 0.6004375027259812, - "p90_ms": 2.8898542077513416, - "p95_ms": 3.056083655974362, - "p99_ms": 3.0719167485949583, - "index_ms": 69.5339999801945 - }, - { - "repo": "http-dart", - "language": "dart", - "chunks": 89, - "ndcg5": 0.7566124015300086, - "ndcg10": 0.784641880764834, - "p50_ms": 0.5367295088944957, - "p90_ms": 0.5974836036330089, - "p95_ms": 0.6007184550981037, - "p99_ms": 0.6065772901638411, - "index_ms": 38.01754198502749 - }, - { - "repo": "http4s", - "language": "scala", - "chunks": 952, - "ndcg5": 0.9221719901717009, - "ndcg10": 0.9221719901717009, - "p50_ms": 0.9139790054177865, - "p90_ms": 4.461487504886463, - "p95_ms": 4.708068729087245, - "p99_ms": 4.798413753451314, - "index_ms": 435.52958298823796 - }, - { - "repo": "httpx", - "language": "python", - "chunks": 248, - "ndcg5": 0.879316171195208, - "ndcg10": 0.8890486663184692, - "p50_ms": 0.4710420034825802, - "p90_ms": 2.600749983685091, - "p95_ms": 2.9759170138277113, - "p99_ms": 3.0068169930018485, - "index_ms": 83.35058300872333 - }, - { - "repo": "jackson-databind", - "language": "java", - "chunks": 4570, - "ndcg5": 0.6754072534454754, - "ndcg10": 0.7212470920357018, - "p50_ms": 1.6132920136442408, - "p90_ms": 13.1470338877989, - "p95_ms": 13.810837203345727, - "p99_ms": 14.006601046712603, - "index_ms": 1388.1115420081187 - }, - { - "repo": "kotlinx-coroutines", - "language": "kotlin", - "chunks": 884, - "ndcg5": 0.8780803155822425, - "ndcg10": 0.8958906749376437, - "p50_ms": 0.7300834986381233, - "p90_ms": 4.3154252984095365, - "p95_ms": 4.5937020433484586, - "p99_ms": 5.180073205556254, - "index_ms": 298.98979200515896 - }, - { - "repo": "ktor", - "language": "kotlin", - "chunks": 425, - "ndcg5": 0.7385032847341471, - "ndcg10": 0.775416020293766, - "p50_ms": 0.8876665087882429, - "p90_ms": 4.790208287886344, - "p95_ms": 4.893782983708661, - "p99_ms": 5.071622988616582, - "index_ms": 145.0630409817677 - }, - { - "repo": "laravel-framework", - "language": "php", - "chunks": 6197, - "ndcg5": 0.6294399888351122, - "ndcg10": 0.6678420402122851, - "p50_ms": 1.1732704879250377, - "p90_ms": 13.535537489224225, - "p95_ms": 13.74607079924317, - "p99_ms": 13.948546980100218, - "index_ms": 1980.218499986222 - }, - { - "repo": "lazy.nvim", - "language": "lua", - "chunks": 300, - "ndcg5": 0.6371951400189322, - "ndcg10": 0.6989634817893211, - "p50_ms": 0.6517709844047204, - "p90_ms": 0.6752541841706261, - "p95_ms": 0.6876502971863374, - "p99_ms": 0.7386964530451222, - "index_ms": 118.93979102023877 - }, - { - "repo": "messagepack-csharp", - "language": "csharp", - "chunks": 1125, - "ndcg5": 0.8625205636356418, - "ndcg10": 0.8695839122786332, - "p50_ms": 0.9406244935235009, - "p90_ms": 5.429183400701731, - "p95_ms": 5.658550608495716, - "p99_ms": 5.768242911726702, - "index_ms": 438.91104098293 - }, - { - "repo": "mini.nvim", - "language": "lua", - "chunks": 2156, - "ndcg5": 0.9815464876785729, - "ndcg10": 0.9815464876785729, - "p50_ms": 0.5951670027570799, - "p90_ms": 0.762100299471058, - "p95_ms": 0.7760916632832959, - "p99_ms": 0.8097847370663657, - "index_ms": 788.4457500185817 - }, - { - "repo": "model2vec", - "language": "python", - "chunks": 107, - "ndcg5": 0.6870187953960127, - "ndcg10": 0.7153286644536179, - "p50_ms": 0.4505414981395006, - "p90_ms": 2.2201000101631507, - "p95_ms": 2.237458305899054, - "p99_ms": 2.248224464710802, - "index_ms": 41.60370898898691 - }, - { - "repo": "monolog", - "language": "php", - "chunks": 417, - "ndcg5": 0.8516433990956823, - "ndcg10": 0.8605053634348847, - "p50_ms": 0.9085419878829271, - "p90_ms": 3.72138281527441, - "p95_ms": 3.7303901815903373, - "p99_ms": 3.7521444182493724, - "index_ms": 139.48816698393784 - }, - { - "repo": "newtonsoft-json", - "language": "csharp", - "chunks": 2152, - "ndcg5": 0.7249554830799518, - "ndcg10": 0.7566736495298176, - "p50_ms": 0.928958019358106, - "p90_ms": 6.668483096291313, - "p95_ms": 7.9662589414510885, - "p99_ms": 8.913218189263715, - "index_ms": 746.3165840017609 - }, - { - "repo": "nlohmann-json", - "language": "cpp", - "chunks": 791, - "ndcg5": 0.8699118594962764, - "ndcg10": 0.8808322313371845, - "p50_ms": 0.6107499939389527, - "p90_ms": 4.159742014599033, - "p95_ms": 4.352762829512359, - "p99_ms": 4.899519751779734, - "index_ms": 312.9729159991257 - }, - { - "repo": "nvim-lspconfig", - "language": "lua", - "chunks": 1055, - "ndcg5": 0.537707118843058, - "ndcg10": 0.5850222192975525, - "p50_ms": 1.3026249944232404, - "p90_ms": 1.4242872013710441, - "p95_ms": 1.516214532603044, - "p99_ms": 1.5346757057704963, - "index_ms": 360.66041598678567 - }, - { - "repo": "nvm", - "language": "bash", - "chunks": 153, - "ndcg5": 0.9261859507142916, - "ndcg10": 0.9261859507142916, - "p50_ms": 0.326145498547703, - "p90_ms": 0.35674101090990007, - "p95_ms": 0.36159933952149004, - "p99_ms": 0.373886261950247, - "index_ms": 62.89633299456909 - }, - { - "repo": "pandoc", - "language": "haskell", - "chunks": 3090, - "ndcg5": 0.6333247437591728, - "ndcg10": 0.6650429102090386, - "p50_ms": 1.1764379887608811, - "p90_ms": 1.3344582985155284, - "p95_ms": 1.3426830060780048, - "p99_ms": 1.3537030015140772, - "index_ms": 1214.366208994761 - }, - { - "repo": "phoenix", - "language": "elixir", - "chunks": 546, - "ndcg5": 0.7696427696468264, - "ndcg10": 0.7848567078740838, - "p50_ms": 0.6017499836161733, - "p90_ms": 4.098741605412215, - "p95_ms": 4.440207997686227, - "p99_ms": 5.347408011439256, - "index_ms": 210.54029199876823 - }, - { - "repo": "plug", - "language": "elixir", - "chunks": 249, - "ndcg5": 0.9130929753571457, - "ndcg10": 0.9130929753571457, - "p50_ms": 0.5615834961645305, - "p90_ms": 3.124245902290568, - "p95_ms": 3.5483464569551875, - "p99_ms": 4.0615356754278755, - "index_ms": 101.17183299735188 - }, - { - "repo": "pydantic", - "language": "python", - "chunks": 1518, - "ndcg5": 0.7393950348587884, - "ndcg10": 0.7605345265791209, - "p50_ms": 0.660021003568545, - "p90_ms": 5.316204810515046, - "p95_ms": 5.387414898723364, - "p99_ms": 5.820582984015345, - "index_ms": 494.19220798881724 - }, - { - "repo": "rack", - "language": "ruby", - "chunks": 249, - "ndcg5": 0.9312144170634953, - "ndcg10": 0.9312144170634953, - "p50_ms": 0.5692500126315281, - "p90_ms": 3.806487403926441, - "p95_ms": 5.19927678251406, - "p99_ms": 5.876755353237966, - "index_ms": 98.45020802458748 - }, - { - "repo": "rails", - "language": "ruby", - "chunks": 465, - "ndcg5": 0.8788952563203779, - "ndcg10": 0.8788952563203779, - "p50_ms": 0.855479491292499, - "p90_ms": 4.239842013339515, - "p95_ms": 5.880929427803494, - "p99_ms": 5.955218666349538, - "index_ms": 169.96887500863522 - }, - { - "repo": "redis", - "language": "c", - "chunks": 6289, - "ndcg5": 0.8661732909393883, - "ndcg10": 0.8661732909393883, - "p50_ms": 0.9016664989758283, - "p90_ms": 1.031704802880995, - "p95_ms": 1.0907753647188656, - "p99_ms": 1.1342222811072133, - "index_ms": 2526.6466249886435 - }, - { - "repo": "redux", - "language": "javascript", - "chunks": 53, - "ndcg5": 0.8494076946336916, - "ndcg10": 0.8753031461393366, - "p50_ms": 0.4356250137789175, - "p90_ms": 1.9582130917115137, - "p95_ms": 2.0106812662561424, - "p99_ms": 2.0381362541229464, - "index_ms": 28.371209016768262 - }, - { - "repo": "requests", - "language": "python", - "chunks": 169, - "ndcg5": 0.9341423065816494, - "ndcg10": 0.9341423065816494, - "p50_ms": 0.421520511736162, - "p90_ms": 2.7767672931076963, - "p95_ms": 3.010671160882339, - "p99_ms": 3.138034240109846, - "index_ms": 58.63329200656153 - }, - { - "repo": "riverpod", - "language": "dart", - "chunks": 316, - "ndcg5": 0.7920624189796882, - "ndcg10": 0.8071139187628873, - "p50_ms": 0.6617710023419932, - "p90_ms": 0.7190787990111858, - "p95_ms": 0.7299222925212234, - "p99_ms": 0.75851806323044, - "index_ms": 106.87837499426678 - }, - { - "repo": "rxswift", - "language": "swift", - "chunks": 686, - "ndcg5": 0.7136381417190647, - "ndcg10": 0.7395335932247098, - "p50_ms": 0.7825000066077337, - "p90_ms": 3.360225295182318, - "p95_ms": 3.523800006951206, - "p99_ms": 3.7962600024184208, - "index_ms": 230.97279202193022 - }, - { - "repo": "serde", - "language": "rust", - "chunks": 1164, - "ndcg5": 0.7430676558073394, - "ndcg10": 0.7755075663132924, - "p50_ms": 0.905791501281783, - "p90_ms": 4.171537517686375, - "p95_ms": 4.652406251989305, - "p99_ms": 4.774481230415404, - "index_ms": 398.29737500986084 - }, - { - "repo": "sinatra", - "language": "ruby", - "chunks": 68, - "ndcg5": 0.8030803155822426, - "ndcg10": 0.8030803155822426, - "p50_ms": 0.3481244930298999, - "p90_ms": 5.0694211007794365, - "p95_ms": 5.217033003282268, - "p99_ms": 5.2713729967945255, - "index_ms": 30.381042015505955 - }, - { - "repo": "starlette", - "language": "python", - "chunks": 213, - "ndcg5": 0.9360462354097291, - "ndcg10": 0.945257016534361, - "p50_ms": 0.5377079942263663, - "p90_ms": 2.860916021745652, - "p95_ms": 2.880250016460195, - "p99_ms": 3.2515171973500405, - "index_ms": 76.48308397619985 - }, - { - "repo": "telescope.nvim", - "language": "lua", - "chunks": 540, - "ndcg5": 0.7850340567062908, - "ndcg10": 0.7850340567062908, - "p50_ms": 0.59020851040259, - "p90_ms": 0.644737490802072, - "p95_ms": 0.6498083079350181, - "p99_ms": 0.6943944809609092, - "index_ms": 172.32408298878 - }, - { - "repo": "tokio", - "language": "rust", - "chunks": 2730, - "ndcg5": 0.9459860394574093, - "ndcg10": 0.9552148242963877, - "p50_ms": 0.858416999108158, - "p90_ms": 7.32268299907446, - "p95_ms": 7.871458042063751, - "p99_ms": 8.384458807413466, - "index_ms": 940.3193339821883 - }, - { - "repo": "trpc", - "language": "typescript", - "chunks": 362, - "ndcg5": 0.7517036349312507, - "ndcg10": 0.7810815764501158, - "p50_ms": 0.873645520186983, - "p90_ms": 3.3595961052924395, - "p95_ms": 3.4578413600684144, - "p99_ms": 3.541568273503799, - "index_ms": 122.99524998525158 - }, - { - "repo": "vapor", - "language": "swift", - "chunks": 780, - "ndcg5": 0.714347895854399, - "ndcg10": 0.7673794037674891, - "p50_ms": 0.8193745015887544, - "p90_ms": 3.6703916790429507, - "p95_ms": 3.9897107679280452, - "p99_ms": 4.053075763804372, - "index_ms": 282.0896249904763 - }, - { - "repo": "vitest", - "language": "typescript", - "chunks": 1079, - "ndcg5": 0.6517782560805999, - "ndcg10": 0.7024504745746012, - "p50_ms": 0.8347290131496266, - "p90_ms": 4.679554206086323, - "p95_ms": 4.8899732530117035, - "p99_ms": 4.900328265503049, - "index_ms": 372.4507500010077 - }, - { - "repo": "xmonad", - "language": "haskell", - "chunks": 123, - "ndcg5": 0.7558852054218812, - "ndcg10": 0.7661043253013055, - "p50_ms": 0.41487500129733235, - "p90_ms": 0.44106668210588396, - "p95_ms": 0.44506280100904405, - "p99_ms": 0.46247896621935064, - "index_ms": 46.83258300065063 - }, - { - "repo": "zig", - "language": "zig", - "chunks": 13059, - "ndcg5": 0.8696394630357187, - "ndcg10": 0.8696394630357187, - "p50_ms": 1.38725052238442, - "p90_ms": 1.6043037845520303, - "p95_ms": 1.6270660431473518, - "p99_ms": 1.7547468162956645, - "index_ms": 3573.137957981089 - }, - { - "repo": "zig-clap", - "language": "zig", - "chunks": 99, - "ndcg5": 0.9130929753571457, - "ndcg10": 0.9130929753571457, - "p50_ms": 0.4263540031388402, - "p90_ms": 0.444116277503781, - "p95_ms": 0.4503264412051067, - "p99_ms": 0.47176528431009496, - "index_ms": 54.36124998959713 - }, - { - "repo": "zls", - "language": "zig", - "chunks": 1300, - "ndcg5": 0.8077324383928645, - "ndcg10": 0.8227839381760635, - "p50_ms": 0.6539585010614246, - "p90_ms": 0.7055627764202654, - "p95_ms": 0.7187207884271629, - "p99_ms": 0.7448769538314082, - "index_ms": 588.2920410076622 - }, - { - "repo": "zod", - "language": "typescript", - "chunks": 1777, - "ndcg5": 0.6721003911969763, - "ndcg10": 0.6721003911969763, - "p50_ms": 0.8605000039096922, - "p90_ms": 5.786174716195092, - "p95_ms": 5.926768759672996, - "p99_ms": 6.289953738159965, - "index_ms": 828.54041698738 - } - ] -} diff --git a/benchmarks/results/820b38638cad.json b/benchmarks/results/820b38638cad.json deleted file mode 100644 index d593ea6..0000000 --- a/benchmarks/results/820b38638cad.json +++ /dev/null @@ -1,472 +0,0 @@ -{ - "sha": "820b38638cad14aa264b4f83a36d110b7b9ecc6c", - "model": "minishlab/potion-code-16M", - "summary": { - "ndcg10": 0.8823, - "p50_ms": 0.708, - "p90_ms": 4.334, - "p95_ms": 4.748, - "p99_ms": 5.199, - "index_ms": 339.4 - }, - "by_language": { - "csharp": { - "repos": 1, - "ndcg10": 0.8383, - "p50_ms": 0.935, - "p90_ms": 5.233, - "p95_ms": 5.431, - "p99_ms": 5.84, - "index_ms": 462.9 - }, - "go": { - "repos": 3, - "ndcg10": 0.9647, - "p50_ms": 0.732, - "p90_ms": 2.155, - "p95_ms": 2.589, - "p99_ms": 2.936, - "index_ms": 165.9 - }, - "java": { - "repos": 3, - "ndcg10": 0.8476, - "p50_ms": 1.079, - "p90_ms": 9.252, - "p95_ms": 10.968, - "p99_ms": 12.341, - "index_ms": 962.0 - }, - "javascript": { - "repos": 3, - "ndcg10": 0.9502, - "p50_ms": 0.425, - "p90_ms": 1.431, - "p95_ms": 1.548, - "p99_ms": 1.642, - "index_ms": 40.4 - }, - "kotlin": { - "repos": 1, - "ndcg10": 0.8112, - "p50_ms": 0.882, - "p90_ms": 4.818, - "p95_ms": 4.989, - "p99_ms": 5.119, - "index_ms": 168.9 - }, - "php": { - "repos": 3, - "ndcg10": 0.915, - "p50_ms": 0.904, - "p90_ms": 5.078, - "p95_ms": 5.916, - "p99_ms": 6.601, - "index_ms": 715.0 - }, - "python": { - "repos": 8, - "ndcg10": 0.8471, - "p50_ms": 0.506, - "p90_ms": 3.269, - "p95_ms": 3.395, - "p99_ms": 3.795, - "index_ms": 162.8 - }, - "ruby": { - "repos": 3, - "ndcg10": 0.8901, - "p50_ms": 0.649, - "p90_ms": 5.475, - "p95_ms": 5.625, - "p99_ms": 5.749, - "index_ms": 101.1 - }, - "rust": { - "repos": 1, - "ndcg10": 0.8983, - "p50_ms": 0.838, - "p90_ms": 7.244, - "p95_ms": 7.474, - "p99_ms": 7.809, - "index_ms": 931.8 - }, - "scala": { - "repos": 1, - "ndcg10": 0.8442, - "p50_ms": 0.982, - "p90_ms": 4.654, - "p95_ms": 4.828, - "p99_ms": 4.85, - "index_ms": 655.8 - }, - "swift": { - "repos": 1, - "ndcg10": 0.952, - "p50_ms": 0.555, - "p90_ms": 4.089, - "p95_ms": 4.534, - "p99_ms": 5.608, - "index_ms": 245.9 - }, - "typescript": { - "repos": 1, - "ndcg10": 0.7633, - "p50_ms": 0.911, - "p90_ms": 3.328, - "p95_ms": 3.35, - "p99_ms": 3.377, - "index_ms": 122.7 - } - }, - "repos": [ - { - "repo": "aiohttp", - "language": "python", - "chunks": 756, - "ndcg5": 0.7752393448492159, - "ndcg10": 0.8107234959810621, - "p50_ms": 0.5831250018673018, - "p90_ms": 4.214999993564561, - "p95_ms": 4.230500009725802, - "p99_ms": 5.991300006280655, - "index_ms": 272.914708009921 - }, - { - "repo": "alamofire", - "language": "swift", - "chunks": 649, - "ndcg5": 0.9519875830423987, - "ndcg10": 0.9519875830423987, - "p50_ms": 0.5546250031329691, - "p90_ms": 4.088749794755131, - "p95_ms": 4.533633394748903, - "p99_ms": 5.608460279763676, - "index_ms": 245.9404160035774 - }, - { - "repo": "axios", - "language": "javascript", - "chunks": 166, - "ndcg5": 0.9770630826137678, - "ndcg10": 0.9770630826137678, - "p50_ms": 0.5838329961989075, - "p90_ms": 2.6197420025710016, - "p95_ms": 2.6515795005252585, - "p99_ms": 2.677049498888664, - "index_ms": 65.399916988099 - }, - { - "repo": "cats", - "language": "scala", - "chunks": 1254, - "ndcg5": 0.8313056228772555, - "ndcg10": 0.844153119160677, - "p50_ms": 0.9820830018725246, - "p90_ms": 4.653983601019718, - "p95_ms": 4.8278338013915345, - "p99_ms": 4.850233161705546, - "index_ms": 655.8479169907514 - }, - { - "repo": "chi", - "language": "go", - "chunks": 262, - "ndcg5": 0.9508861261352198, - "ndcg10": 0.9508861261352198, - "p50_ms": 0.6950419920030981, - "p90_ms": 2.2261250065639615, - "p95_ms": 2.7111250063171606, - "p99_ms": 3.0991250061197206, - "index_ms": 122.88979100412689 - }, - { - "repo": "cobra", - "language": "go", - "chunks": 394, - "ndcg5": 0.9839441578296375, - "ndcg10": 0.9839441578296375, - "p50_ms": 0.9769590105861425, - "p90_ms": 3.679574804846198, - "p95_ms": 4.49414140312001, - "p99_ms": 5.145794681739062, - "index_ms": 153.86750000470784 - }, - { - "repo": "commons-lang", - "language": "java", - "chunks": 3152, - "ndcg5": 0.8083908175891258, - "ndcg10": 0.8083908175891258, - "p50_ms": 0.8923545028665103, - "p90_ms": 9.845125001447741, - "p95_ms": 14.286145498772385, - "p99_ms": 17.838961896632103, - "index_ms": 1037.4199579964625 - }, - { - "repo": "express", - "language": "javascript", - "chunks": 52, - "ndcg5": 0.9839441578296375, - "ndcg10": 0.9839441578296375, - "p50_ms": 0.30524999601766467, - "p90_ms": 0.35119140811730176, - "p95_ms": 0.36065820895601064, - "p99_ms": 0.36823164962697774, - "index_ms": 25.441249992582016 - }, - { - "repo": "fastapi", - "language": "python", - "chunks": 597, - "ndcg5": 0.7638559078873687, - "ndcg10": 0.8116601052320185, - "p50_ms": 0.48493749636691064, - "p90_ms": 3.481445793295279, - "p95_ms": 3.4897559504315723, - "p99_ms": 3.555084784893552, - "index_ms": 201.4504999970086 - }, - { - "repo": "flask", - "language": "python", - "chunks": 291, - "ndcg5": 0.8926694749581663, - "ndcg10": 0.9014587938524314, - "p50_ms": 0.4546670097624883, - "p90_ms": 2.860082997358404, - "p95_ms": 2.8620410012081265, - "p99_ms": 3.4979417920112614, - "index_ms": 91.81595800328068 - }, - { - "repo": "gin", - "language": "go", - "chunks": 576, - "ndcg5": 0.9593950568449062, - "ndcg10": 0.9593950568449062, - "p50_ms": 0.5225625063758343, - "p90_ms": 0.5592704983428121, - "p95_ms": 0.5617182468995452, - "p99_ms": 0.5636764457449317, - "index_ms": 221.08395799295977 - }, - { - "repo": "gson", - "language": "java", - "chunks": 1460, - "ndcg5": 0.9261859507142916, - "ndcg10": 0.9261859507142916, - "p50_ms": 1.0274590022163466, - "p90_ms": 5.729733596672304, - "p95_ms": 5.772658795467578, - "p99_ms": 5.806998954503797, - "index_ms": 474.41158299625386 - }, - { - "repo": "guzzle", - "language": "php", - "chunks": 206, - "ndcg5": 0.8408764795176972, - "ndcg10": 0.8554369753055748, - "p50_ms": 0.6017500127200037, - "p90_ms": 2.870599998277612, - "p95_ms": 2.9140373997506686, - "p99_ms": 2.992973887885455, - "index_ms": 77.42929201049265 - }, - { - "repo": "httpx", - "language": "python", - "chunks": 248, - "ndcg5": 0.8831389907595801, - "ndcg10": 0.8928714858828413, - "p50_ms": 0.4792079998878762, - "p90_ms": 2.5800419971346855, - "p95_ms": 2.9380829946603626, - "p99_ms": 3.021583001827821, - "index_ms": 83.10679200803861 - }, - { - "repo": "jackson-databind", - "language": "java", - "chunks": 4570, - "ndcg5": 0.7789412530088333, - "ndcg10": 0.808138738378617, - "p50_ms": 1.3176659995224327, - "p90_ms": 12.182007802766748, - "p95_ms": 12.84629540023161, - "p99_ms": 13.3777254782035, - "index_ms": 1374.070459001814 - }, - { - "repo": "ktor", - "language": "kotlin", - "chunks": 425, - "ndcg5": 0.779649714096162, - "ndcg10": 0.8112379886744412, - "p50_ms": 0.8824994947644882, - "p90_ms": 4.817603999981657, - "p95_ms": 4.988843502360396, - "p99_ms": 5.119068696512841, - "index_ms": 168.9095829933649 - }, - { - "repo": "laravel-framework", - "language": "php", - "chunks": 6197, - "ndcg5": 0.9839441578296375, - "ndcg10": 0.9839441578296375, - "p50_ms": 1.2023750023217872, - "p90_ms": 8.66541659925133, - "p95_ms": 11.126791799324563, - "p99_ms": 13.095891959383152, - "index_ms": 1936.7720419977559 - }, - { - "repo": "messagepack-csharp", - "language": "csharp", - "chunks": 1125, - "ndcg5": 0.8382594866301668, - "ndcg10": 0.8382594866301668, - "p50_ms": 0.935125004616566, - "p90_ms": 5.233242001850158, - "p95_ms": 5.430550404707901, - "p99_ms": 5.840177281643264, - "index_ms": 462.87883300101385 - }, - { - "repo": "model2vec", - "language": "python", - "chunks": 107, - "ndcg5": 0.6983335146725586, - "ndcg10": 0.7270859190720488, - "p50_ms": 0.445937504991889, - "p90_ms": 2.183838099881541, - "p95_ms": 2.240556244942127, - "p99_ms": 2.264211259171134, - "index_ms": 40.34541700093541 - }, - { - "repo": "monolog", - "language": "php", - "chunks": 417, - "ndcg5": 0.9055096182921145, - "ndcg10": 0.9055096182921145, - "p50_ms": 0.9090624953387305, - "p90_ms": 3.6973877096897922, - "p95_ms": 3.7062983588839415, - "p99_ms": 3.713426878239261, - "index_ms": 130.88779200916179 - }, - { - "repo": "pydantic", - "language": "python", - "chunks": 1518, - "ndcg5": 0.7086416233828772, - "ndcg10": 0.729233315404649, - "p50_ms": 0.6620834974455647, - "p90_ms": 5.207604102906771, - "p95_ms": 5.446263944031671, - "p99_ms": 5.759352796012535, - "index_ms": 485.02158299379516 - }, - { - "repo": "rack", - "language": "ruby", - "chunks": 249, - "ndcg5": 1.0, - "ndcg10": 1.0, - "p50_ms": 0.5813340103486553, - "p90_ms": 5.474224794306792, - "p95_ms": 5.812487393268383, - "p99_ms": 6.0830974724376565, - "index_ms": 103.11483399709687 - }, - { - "repo": "rails", - "language": "ruby", - "chunks": 465, - "ndcg5": 0.8182228886961148, - "ndcg10": 0.8182228886961148, - "p50_ms": 1.0228329920209944, - "p90_ms": 5.9262002032483, - "p95_ms": 5.974037601845339, - "p99_ms": 6.01230752072297, - "index_ms": 170.24212499381974 - }, - { - "repo": "redux", - "language": "javascript", - "chunks": 53, - "ndcg5": 0.8488153892673832, - "ndcg10": 0.8896918687850803, - "p50_ms": 0.38658399716950953, - "p90_ms": 1.3228832045570016, - "p95_ms": 1.6325666045304386, - "p99_ms": 1.8803133245091885, - "index_ms": 30.36975000577513 - }, - { - "repo": "requests", - "language": "python", - "chunks": 169, - "ndcg5": 0.9652540586697873, - "ndcg10": 0.9652540586697873, - "p50_ms": 0.4093329989700578, - "p90_ms": 2.73469169769669, - "p95_ms": 2.9982461499457713, - "p99_ms": 3.045049224019749, - "index_ms": 52.48629199923016 - }, - { - "repo": "sinatra", - "language": "ruby", - "chunks": 68, - "ndcg5": 0.8519331095982161, - "ndcg10": 0.8519331095982161, - "p50_ms": 0.34402049641357735, - "p90_ms": 5.025583501264919, - "p95_ms": 5.089218753710156, - "p99_ms": 5.152143752638949, - "index_ms": 29.88087499397807 - }, - { - "repo": "starlette", - "language": "python", - "chunks": 213, - "ndcg5": 0.9117150083180527, - "ndcg10": 0.9384097504464579, - "p50_ms": 0.532125006429851, - "p90_ms": 2.8864580090157688, - "p95_ms": 2.954542011138983, - "p99_ms": 3.2278748025419195, - "index_ms": 75.41920899529941 - }, - { - "repo": "tokio", - "language": "rust", - "chunks": 2730, - "ndcg5": 0.8750003941122573, - "ndcg10": 0.8982737307947403, - "p50_ms": 0.8380000072065741, - "p90_ms": 7.244300001184456, - "p95_ms": 7.474166800966486, - "p99_ms": 7.808700551977381, - "index_ms": 931.7533749999711 - }, - { - "repo": "trpc", - "language": "typescript", - "chunks": 362, - "ndcg5": 0.7276113706872143, - "ndcg10": 0.7633387548746389, - "p50_ms": 0.9107090008910745, - "p90_ms": 3.3279749943176284, - "p95_ms": 3.3500665944302455, - "p99_ms": 3.3770797174656764, - "index_ms": 122.73824999283534 - } - ] -} From a6fc524f011be71c29cad9ea6ac2812f07715d6c Mon Sep 17 00:00:00 2001 From: Pringled Date: Fri, 17 Apr 2026 11:21:41 +0200 Subject: [PATCH 17/19] Drop nvim-lspconfig; fix non-standard annotation categories - Remove nvim-lspconfig (4th lua repo, lowest score 0.583) to keep all languages at 3 repos - Fix bash-it and libuv annotations using non-standard 'api' and 'keyword' categories; remap to 'architecture' and 'symbol' - Refresh benchmark results: NDCG@10 = 0.833 --- benchmarks/annotations/bash-it.json | 14 +- benchmarks/annotations/libuv.json | 4 +- benchmarks/annotations/nvim-lspconfig.json | 122 -- benchmarks/repos.json | 7 - benchmarks/results/d684944531d9.json | 1309 ++++++++++++++++++++ 5 files changed, 1318 insertions(+), 138 deletions(-) delete mode 100644 benchmarks/annotations/nvim-lspconfig.json create mode 100644 benchmarks/results/d684944531d9.json diff --git a/benchmarks/annotations/bash-it.json b/benchmarks/annotations/bash-it.json index 0588a2b..bbd7bea 100644 --- a/benchmarks/annotations/bash-it.json +++ b/benchmarks/annotations/bash-it.json @@ -15,7 +15,7 @@ "lib/helpers.bash" ], "secondary": [], - "category": "api" + "category": "architecture" }, { "query": "how command duration is measured and displayed in prompt", @@ -51,7 +51,7 @@ "lib/log.bash" ], "secondary": [], - "category": "api" + "category": "architecture" }, { "query": "color definitions and terminal color support", @@ -97,7 +97,7 @@ "plugins/available/pyenv.plugin.bash" ], "secondary": [], - "category": "keyword" + "category": "symbol" }, { "query": "ssh agent plugin for managing ssh keys", @@ -105,7 +105,7 @@ "plugins/available/ssh.plugin.bash" ], "secondary": [], - "category": "keyword" + "category": "symbol" }, { "query": "jump plugin for bookmarking directories", @@ -121,7 +121,7 @@ "plugins/available/node.plugin.bash" ], "secondary": [], - "category": "keyword" + "category": "symbol" }, { "query": "rvm ruby version manager plugin", @@ -129,7 +129,7 @@ "plugins/available/rvm.plugin.bash" ], "secondary": [], - "category": "keyword" + "category": "symbol" }, { "query": "bash-it utility functions for string manipulation", @@ -145,7 +145,7 @@ "plugins/available/hub.plugin.bash" ], "secondary": [], - "category": "keyword" + "category": "symbol" }, { "query": "xterm terminal title setting functions", diff --git a/benchmarks/annotations/libuv.json b/benchmarks/annotations/libuv.json index 6b7c913..19f5418 100644 --- a/benchmarks/annotations/libuv.json +++ b/benchmarks/annotations/libuv.json @@ -133,7 +133,7 @@ "src/unix/dl.c" ], "secondary": [], - "category": "api" + "category": "architecture" }, { "query": "network interface address enumeration", @@ -171,7 +171,7 @@ "src/idna.c" ], "secondary": [], - "category": "keyword" + "category": "symbol" }, { "query": "tty terminal raw mode and window size", diff --git a/benchmarks/annotations/nvim-lspconfig.json b/benchmarks/annotations/nvim-lspconfig.json deleted file mode 100644 index 402951b..0000000 --- a/benchmarks/annotations/nvim-lspconfig.json +++ /dev/null @@ -1,122 +0,0 @@ -[ - { - "query": "how nvim-lspconfig creates and starts an LSP client for a buffer", - "relevant": ["lua/lspconfig/manager.lua"], - "secondary": [], - "category": "architecture" - }, - { - "query": "how nvim-lspconfig configs.lua registers a new server configuration", - "relevant": ["lua/lspconfig/configs.lua"], - "secondary": [], - "category": "architecture" - }, - { - "query": "how root_pattern finds the project root by searching for marker files", - "relevant": ["lua/lspconfig/util.lua"], - "secondary": [], - "category": "semantic" - }, - { - "query": "how nvim-lspconfig searches ancestors to find the root directory", - "relevant": ["lua/lspconfig/util.lua"], - "secondary": [], - "category": "semantic" - }, - { - "query": "how nvim-lspconfig gets available server configurations by filetype", - "relevant": ["lua/lspconfig/util.lua"], - "secondary": [], - "category": "semantic" - }, - { - "query": "how nvim-lspconfig displays server info in the :LspInfo window", - "relevant": ["lua/lspconfig/ui/windows.lua"], - "secondary": [], - "category": "semantic" - }, - { - "query": "how nvim-lspconfig reports server health status", - "relevant": ["lua/lspconfig/health.lua"], - "secondary": [], - "category": "semantic" - }, - { - "query": "how nvim-lspconfig async module handles deferred server startup", - "relevant": ["lua/lspconfig/async.lua"], - "secondary": [], - "category": "architecture" - }, - { - "query": "how pyright language server is configured in nvim-lspconfig", - "relevant": ["lua/lspconfig/configs/pyright.lua"], - "secondary": [], - "category": "semantic" - }, - { - "query": "how typescript-language-server (tsserver) is configured", - "relevant": ["lua/lspconfig/configs/ts_ls.lua"], - "secondary": [], - "category": "semantic" - }, - { - "query": "how clangd C/C++ language server is configured in nvim-lspconfig", - "relevant": ["lua/lspconfig/configs/clangd.lua"], - "secondary": [], - "category": "semantic" - }, - { - "query": "how rust-analyzer is configured in nvim-lspconfig", - "relevant": ["lua/lspconfig/configs/rust_analyzer.lua"], - "secondary": [], - "category": "semantic" - }, - { - "query": "how lua_ls (Lua language server) is configured for Neovim development", - "relevant": ["lua/lspconfig/configs/lua_ls.lua"], - "secondary": [], - "category": "semantic" - }, - { - "query": "how nvim-lspconfig util finds the typescript server path for a project", - "relevant": ["lua/lspconfig/util.lua"], - "secondary": [], - "category": "semantic" - }, - { - "query": "how gopls Go language server is configured in nvim-lspconfig", - "relevant": ["lua/lspconfig/configs/gopls.lua"], - "secondary": [], - "category": "semantic" - }, - { - "query": "how path utility functions check if paths are files or directories", - "relevant": ["lua/lspconfig/util.lua"], - "secondary": [], - "category": "semantic" - }, - { - "query": "how zls Zig language server is configured in nvim-lspconfig", - "relevant": ["lua/lspconfig/configs/zls.lua"], - "secondary": [], - "category": "semantic" - }, - { - "query": "how eslint language server is configured for JavaScript projects", - "relevant": ["lua/lspconfig/configs/eslint.lua"], - "secondary": [], - "category": "semantic" - }, - { - "query": "how jsonls JSON language server is configured", - "relevant": ["lua/lspconfig/configs/jsonls.lua"], - "secondary": [], - "category": "semantic" - }, - { - "query": "how nvim-lspconfig util strips archive subpaths from root directories", - "relevant": ["lua/lspconfig/util.lua"], - "secondary": [], - "category": "semantic" - } -] diff --git a/benchmarks/repos.json b/benchmarks/repos.json index b4ea10d..29e8a72 100644 --- a/benchmarks/repos.json +++ b/benchmarks/repos.json @@ -436,13 +436,6 @@ "revision": "cac77b1ec1c4b4c0ca7c6e9b1436f80250b4edc0", "benchmark_root": "packages/riverpod/lib/src" }, - { - "name": "nvim-lspconfig", - "language": "lua", - "url": "https://github.com/neovim/nvim-lspconfig.git", - "revision": "4b7fbaa239c5db6b36f424a4521ca9f1a401be33", - "benchmark_root": "lua/lspconfig" - }, { "name": "mini.nvim", "language": "lua", diff --git a/benchmarks/results/d684944531d9.json b/benchmarks/results/d684944531d9.json new file mode 100644 index 0000000..70fd139 --- /dev/null +++ b/benchmarks/results/d684944531d9.json @@ -0,0 +1,1309 @@ +{ + "sha": "d684944531d9590d662095f7252eb26dcdd7dedd", + "model": "minishlab/potion-code-16M", + "summary": { + "ndcg10": 0.8325, + "p50_ms": 0.72, + "p90_ms": 3.487, + "p95_ms": 3.928, + "p99_ms": 4.235, + "index_ms": 470.1, + "by_category": { + "api": 0.6731, + "architecture": 0.7859, + "keyword": 0.7286, + "semantic": 0.8314, + "symbol": 0.9426 + } + }, + "by_language": { + "bash": { + "repos": 3, + "ndcg10": 0.8283, + "p50_ms": 0.539, + "p90_ms": 0.594, + "p95_ms": 0.611, + "p99_ms": 0.628, + "index_ms": 118.4 + }, + "c": { + "repos": 3, + "ndcg10": 0.7125, + "p50_ms": 0.803, + "p90_ms": 0.934, + "p95_ms": 1.026, + "p99_ms": 1.295, + "index_ms": 1508.8 + }, + "cpp": { + "repos": 3, + "ndcg10": 0.9281, + "p50_ms": 0.627, + "p90_ms": 4.253, + "p95_ms": 5.242, + "p99_ms": 5.66, + "index_ms": 800.3 + }, + "csharp": { + "repos": 3, + "ndcg10": 0.8288, + "p50_ms": 0.789, + "p90_ms": 5.163, + "p95_ms": 6.089, + "p99_ms": 7.569, + "index_ms": 459.2 + }, + "dart": { + "repos": 3, + "ndcg10": 0.7621, + "p50_ms": 0.601, + "p90_ms": 0.656, + "p95_ms": 0.684, + "p99_ms": 0.694, + "index_ms": 69.9 + }, + "elixir": { + "repos": 3, + "ndcg10": 0.8663, + "p50_ms": 0.569, + "p90_ms": 4.762, + "p95_ms": 5.078, + "p99_ms": 5.57, + "index_ms": 203.3 + }, + "go": { + "repos": 3, + "ndcg10": 0.8927, + "p50_ms": 0.596, + "p90_ms": 3.4, + "p95_ms": 3.869, + "p99_ms": 4.101, + "index_ms": 156.7 + }, + "haskell": { + "repos": 3, + "ndcg10": 0.7451, + "p50_ms": 0.706, + "p90_ms": 0.767, + "p95_ms": 0.772, + "p99_ms": 0.811, + "index_ms": 473.3 + }, + "java": { + "repos": 3, + "ndcg10": 0.8263, + "p50_ms": 1.158, + "p90_ms": 9.288, + "p95_ms": 12.907, + "p99_ms": 13.403, + "index_ms": 964.3 + }, + "javascript": { + "repos": 3, + "ndcg10": 0.8923, + "p50_ms": 0.438, + "p90_ms": 1.629, + "p95_ms": 1.666, + "p99_ms": 1.67, + "index_ms": 36.1 + }, + "kotlin": { + "repos": 3, + "ndcg10": 0.814, + "p50_ms": 0.842, + "p90_ms": 4.434, + "p95_ms": 4.77, + "p99_ms": 5.551, + "index_ms": 244.2 + }, + "lua": { + "repos": 3, + "ndcg10": 0.8218, + "p50_ms": 0.606, + "p90_ms": 0.699, + "p95_ms": 0.737, + "p99_ms": 0.783, + "index_ms": 360.0 + }, + "php": { + "repos": 3, + "ndcg10": 0.8141, + "p50_ms": 0.931, + "p90_ms": 6.893, + "p95_ms": 6.986, + "p99_ms": 7.049, + "index_ms": 723.3 + }, + "python": { + "repos": 9, + "ndcg10": 0.8591, + "p50_ms": 0.499, + "p90_ms": 3.314, + "p95_ms": 3.464, + "p99_ms": 3.718, + "index_ms": 156.8 + }, + "ruby": { + "repos": 3, + "ndcg10": 0.9007, + "p50_ms": 0.608, + "p90_ms": 4.414, + "p95_ms": 5.325, + "p99_ms": 5.702, + "index_ms": 100.4 + }, + "rust": { + "repos": 3, + "ndcg10": 0.8378, + "p50_ms": 0.849, + "p90_ms": 5.159, + "p95_ms": 5.529, + "p99_ms": 5.775, + "index_ms": 499.7 + }, + "scala": { + "repos": 3, + "ndcg10": 0.8917, + "p50_ms": 0.826, + "p90_ms": 4.049, + "p95_ms": 4.189, + "p99_ms": 4.359, + "index_ms": 384.3 + }, + "swift": { + "repos": 3, + "ndcg10": 0.8419, + "p50_ms": 0.713, + "p90_ms": 3.777, + "p95_ms": 3.968, + "p99_ms": 4.517, + "index_ms": 241.2 + }, + "typescript": { + "repos": 3, + "ndcg10": 0.7185, + "p50_ms": 0.859, + "p90_ms": 4.643, + "p95_ms": 4.723, + "p99_ms": 4.885, + "index_ms": 442.2 + }, + "zig": { + "repos": 3, + "ndcg10": 0.8685, + "p50_ms": 0.838, + "p90_ms": 0.91, + "p95_ms": 0.922, + "p99_ms": 0.959, + "index_ms": 1459.1 + } + }, + "repos": [ + { + "repo": "abseil-cpp", + "language": "cpp", + "chunks": 3083, + "ndcg5": 0.9319537411240482, + "ndcg10": 0.9319537411240482, + "p50_ms": 0.8374374883715063, + "p90_ms": 7.6230374979786575, + "p95_ms": 7.756652087846306, + "p99_ms": 8.499964002694467, + "index_ms": 1747.7030000009108, + "by_category": { + "architecture": 1.0, + "semantic": 0.9426049881653976, + "symbol": 0.8333333333333334 + } + }, + { + "repo": "aeson", + "language": "haskell", + "chunks": 393, + "ndcg5": 0.787707118843058, + "ndcg10": 0.8075975589033458, + "p50_ms": 0.5031670007156208, + "p90_ms": 0.5592547997366637, + "p95_ms": 0.5643107637297362, + "p99_ms": 0.5664957582484931, + "index_ms": 178.0741249967832, + "by_category": { + "architecture": 0.6722706232293573, + "semantic": 0.852706537461342 + } + }, + { + "repo": "aiohttp", + "language": "python", + "chunks": 756, + "ndcg5": 0.7595501987615106, + "ndcg10": 0.8051055391429651, + "p50_ms": 0.5764590168837458, + "p90_ms": 3.952125000068918, + "p95_ms": 4.15354099823162, + "p99_ms": 4.528874612879008, + "index_ms": 247.71429199608974, + "by_category": { + "architecture": 0.8356195986270888, + "semantic": 0.6730976812902937, + "symbol": 1.0 + } + }, + { + "repo": "alamofire", + "language": "swift", + "chunks": 649, + "ndcg5": 0.9613147192765459, + "ndcg10": 0.9613147192765459, + "p50_ms": 0.544187001651153, + "p90_ms": 4.086063100839965, + "p95_ms": 4.3714208106393935, + "p99_ms": 5.667916960956061, + "index_ms": 223.94745799829252, + "by_category": { + "architecture": 0.9732402630493958, + "semantic": 0.9369612360347936, + "symbol": 1.0 + } + }, + { + "repo": "axios", + "language": "javascript", + "chunks": 166, + "ndcg5": 0.8648468052243118, + "ndcg10": 0.8908186768484192, + "p50_ms": 0.6073124968679622, + "p90_ms": 2.660670186742209, + "p95_ms": 2.7588205455685966, + "p99_ms": 2.7624313029809855, + "index_ms": 61.012124991975725, + "by_category": { + "architecture": 0.6793305495640389, + "semantic": 0.9355245321275762, + "symbol": 1.0 + } + }, + { + "repo": "axum", + "language": "rust", + "chunks": 509, + "ndcg5": 0.7324356157188728, + "ndcg10": 0.7826858855802271, + "p50_ms": 0.6214790046215057, + "p90_ms": 3.6213210842106496, + "p95_ms": 3.836960098124109, + "p99_ms": 4.01559202640783, + "index_ms": 179.42366600618698, + "by_category": { + "architecture": 0.7297596420238124, + "semantic": 0.8040593595314548, + "symbol": 0.7854023957026741 + } + }, + { + "repo": "bash-it", + "language": "bash", + "chunks": 723, + "ndcg5": 0.6075207382645395, + "ndcg10": 0.6574637191224815, + "p50_ms": 0.9479580039624125, + "p90_ms": 1.0611038218485191, + "p95_ms": 1.0965139619656838, + "p99_ms": 1.1360027876798995, + "index_ms": 269.27933300612494, + "by_category": { + "api": 0.7153382790366966, + "keyword": 0.8261859507142916, + "semantic": 0.5836667746772907 + } + }, + { + "repo": "bats-core", + "language": "bash", + "chunks": 48, + "ndcg5": 0.9011859507142915, + "ndcg10": 0.9011859507142915, + "p50_ms": 0.3439165011513978, + "p90_ms": 0.3601125004934147, + "p95_ms": 0.3675499974633567, + "p99_ms": 0.37970997946104035, + "index_ms": 17.77362497523427, + "by_category": { + "architecture": 0.8231227867347022, + "semantic": 0.9432199620879166 + } + }, + { + "repo": "cats", + "language": "scala", + "chunks": 1254, + "ndcg5": 0.9132034061286296, + "ndcg10": 0.9132034061286296, + "p50_ms": 1.054853986715898, + "p90_ms": 4.937574986252002, + "p95_ms": 4.967964564275462, + "p99_ms": 5.214425704034511, + "index_ms": 637.9197080095764, + "by_category": { + "architecture": 0.8467132018086354, + "semantic": 0.8877215315338048, + "symbol": 1.0 + } + }, + { + "repo": "chi", + "language": "go", + "chunks": 262, + "ndcg5": 0.8121926566738839, + "ndcg10": 0.8342931456297593, + "p50_ms": 0.6933335098437965, + "p90_ms": 2.929341100389138, + "p95_ms": 3.120658136322163, + "p99_ms": 3.1226988247362897, + "index_ms": 101.03791698929854, + "by_category": { + "architecture": 0.6259028523654583, + "semantic": 0.9589921948412731, + "symbol": 0.8769765845238192 + } + }, + { + "repo": "circe", + "language": "scala", + "chunks": 192, + "ndcg5": 0.8397050301241697, + "ndcg10": 0.8397050301241697, + "p50_ms": 0.5244170024525374, + "p90_ms": 2.7519002149347216, + "p95_ms": 2.8876787982881065, + "p99_ms": 3.0701685464009643, + "index_ms": 86.58437500707805, + "by_category": { + "architecture": 0.7261859507142916, + "semantic": 0.8475878017079786, + "symbol": 1.0 + } + }, + { + "repo": "click", + "language": "python", + "chunks": 315, + "ndcg5": 1.0, + "ndcg10": 1.0, + "p50_ms": 0.44156248623039573, + "p90_ms": 3.193154188920744, + "p95_ms": 3.3613899067859165, + "p99_ms": 3.3666779854684137, + "index_ms": 106.83341702679172, + "by_category": { + "architecture": 1.0, + "semantic": 1.0, + "symbol": 1.0 + } + }, + { + "repo": "cobra", + "language": "go", + "chunks": 394, + "ndcg5": 0.967519867361079, + "ndcg10": 0.967519867361079, + "p50_ms": 0.5353749875212088, + "p90_ms": 3.573741405853072, + "p95_ms": 4.759350339008961, + "p99_ms": 5.077537268225568, + "index_ms": 149.87641701009125, + "by_category": { + "architecture": 1.0, + "semantic": 0.94094521338378, + "symbol": 1.0 + } + }, + { + "repo": "commons-lang", + "language": "java", + "chunks": 3152, + "ndcg5": 0.8696123574829959, + "ndcg10": 0.8958857274902101, + "p50_ms": 0.9724579867906868, + "p90_ms": 8.89162500970997, + "p95_ms": 18.84879101999104, + "p99_ms": 19.196391012519598, + "index_ms": 1038.1665419845376, + "by_category": { + "architecture": 0.7216293209723186, + "semantic": 0.9034794510269613, + "symbol": 1.0 + } + }, + { + "repo": "curl", + "language": "c", + "chunks": 4444, + "ndcg5": 0.5564993486741835, + "ndcg10": 0.6602872366816288, + "p50_ms": 0.9318954980699345, + "p90_ms": 1.0752377886092293, + "p95_ms": 1.2176979595096789, + "p99_ms": 1.9883068004855873, + "index_ms": 1516.9905410148203, + "by_category": { + "architecture": 0.5728575877940218, + "semantic": 0.7318205857714887 + } + }, + { + "repo": "dapper", + "language": "csharp", + "chunks": 411, + "ndcg5": 0.7946394630357186, + "ndcg10": 0.8457831557244532, + "p50_ms": 0.5689790123142302, + "p90_ms": 3.4293621982214986, + "p95_ms": 4.560354154091332, + "p99_ms": 7.93063724180683, + "index_ms": 203.83804198354483, + "by_category": { + "architecture": 0.5801175685032033, + "semantic": 0.920327929761907, + "symbol": 0.8769765845238192 + } + }, + { + "repo": "dio", + "language": "dart", + "chunks": 153, + "ndcg5": 0.6945949461156704, + "ndcg10": 0.6945949461156704, + "p50_ms": 0.5953960062470287, + "p90_ms": 0.6467125029303135, + "p95_ms": 0.68700837000506, + "p99_ms": 0.6890352806658484, + "index_ms": 61.50004197843373, + "by_category": { + "architecture": 0.6421082758814111, + "semantic": 0.7077166136742353 + } + }, + { + "repo": "ecto", + "language": "elixir", + "chunks": 755, + "ndcg5": 0.8822031319548903, + "ndcg10": 0.9009508786447862, + "p50_ms": 0.5347090191207826, + "p90_ms": 6.813016207888722, + "p95_ms": 7.165000319946556, + "p99_ms": 7.320400050375611, + "index_ms": 302.75270802667364, + "by_category": { + "architecture": 1.0, + "semantic": 0.9220874569753447, + "symbol": 0.7103099178571526 + } + }, + { + "repo": "exposed", + "language": "kotlin", + "chunks": 744, + "ndcg5": 0.714389356842921, + "ndcg10": 0.7597867547058971, + "p50_ms": 0.8966664900071919, + "p90_ms": 3.9098666980862626, + "p95_ms": 4.661604437569624, + "p99_ms": 6.171153700270222, + "index_ms": 283.5369159874972, + "by_category": { + "architecture": 0.6547543623015969, + "semantic": 0.7308194290866535, + "symbol": 1.0 + } + }, + { + "repo": "express", + "language": "javascript", + "chunks": 52, + "ndcg5": 0.8775325271359822, + "ndcg10": 0.9108658604693156, + "p50_ms": 0.28158399800304323, + "p90_ms": 0.31161670631263405, + "p95_ms": 0.3221065504476428, + "p99_ms": 0.32878770027309656, + "index_ms": 21.74379097414203, + "by_category": { + "architecture": 0.8932934460687887, + "semantic": 0.8964263086904791, + "symbol": 1.0 + } + }, + { + "repo": "fastapi", + "language": "python", + "chunks": 597, + "ndcg5": 0.7297297540684241, + "ndcg10": 0.7869838171738259, + "p50_ms": 0.49683349789120257, + "p90_ms": 3.45590389915742, + "p95_ms": 3.5134065663442016, + "p99_ms": 3.659547716379165, + "index_ms": 191.84866599971429, + "by_category": { + "architecture": 0.6392000559545565, + "semantic": 0.7831594939743279, + "symbol": 1.0 + } + }, + { + "repo": "flask", + "language": "python", + "chunks": 291, + "ndcg5": 0.8847644106288912, + "ndcg10": 0.9039540836573546, + "p50_ms": 0.4361660103313625, + "p90_ms": 2.9130830080248415, + "p95_ms": 2.9164169973228127, + "p99_ms": 3.4968169929925357, + "index_ms": 94.89637502701953, + "by_category": { + "architecture": 0.8548201992475203, + "semantic": 0.9090267601883458, + "symbol": 1.0 + } + }, + { + "repo": "fmtlib", + "language": "cpp", + "chunks": 476, + "ndcg5": 0.9715338279036697, + "ndcg10": 0.9715338279036697, + "p50_ms": 0.46256251516751945, + "p90_ms": 0.9179208194837015, + "p95_ms": 3.5180726044927724, + "p99_ms": 3.6015145378769375, + "index_ms": 351.95866698632017, + "by_category": { + "architecture": 1.0, + "semantic": 0.9593340398623853, + "symbol": 1.0 + } + }, + { + "repo": "gin", + "language": "go", + "chunks": 576, + "ndcg5": 0.8763658848604823, + "ndcg10": 0.8763658848604823, + "p50_ms": 0.5604170000879094, + "p90_ms": 3.6956118972739205, + "p95_ms": 3.727654194517527, + "p99_ms": 4.102398029353934, + "index_ms": 219.3060840072576, + "by_category": { + "architecture": 0.9638734584787886, + "semantic": 0.7949160860306287, + "symbol": 1.0 + } + }, + { + "repo": "gson", + "language": "java", + "chunks": 1460, + "ndcg5": 0.850704076119467, + "ndcg10": 0.8616244479603751, + "p50_ms": 1.032250002026558, + "p90_ms": 6.000945190316998, + "p95_ms": 6.733628832444083, + "p99_ms": 7.110525766329373, + "index_ms": 480.2956249914132, + "by_category": { + "architecture": 0.677192486230418, + "semantic": 0.8523719014285831, + "symbol": 1.0 + } + }, + { + "repo": "guzzle", + "language": "php", + "chunks": 206, + "ndcg5": 0.9140510731804075, + "ndcg10": 0.9140510731804075, + "p50_ms": 0.6126874941401184, + "p90_ms": 2.9039293818641454, + "p95_ms": 3.0210181095753796, + "p99_ms": 3.037770021765027, + "index_ms": 72.4710829963442, + "by_category": { + "architecture": 1.0, + "semantic": 0.8677708818160114, + "symbol": 1.0 + } + }, + { + "repo": "http-dart", + "language": "dart", + "chunks": 89, + "ndcg5": 0.7566124015300086, + "ndcg10": 0.784641880764834, + "p50_ms": 0.536812498467043, + "p90_ms": 0.58858749398496, + "p95_ms": 0.5971416481770575, + "p99_ms": 0.6125947157852352, + "index_ms": 34.36887499992736, + "by_category": { + "architecture": 0.75, + "semantic": 0.7884909786275932 + } + }, + { + "repo": "http4s", + "language": "scala", + "chunks": 952, + "ndcg5": 0.9221719901717009, + "ndcg10": 0.9221719901717009, + "p50_ms": 0.8996039978228509, + "p90_ms": 4.458775307284668, + "p95_ms": 4.712575014855247, + "p99_ms": 4.793514989723917, + "index_ms": 428.4053340088576, + "by_category": { + "architecture": 0.9732402630493958, + "semantic": 0.8945513581632737, + "symbol": 1.0 + } + }, + { + "repo": "httpx", + "language": "python", + "chunks": 248, + "ndcg5": 0.879316171195208, + "ndcg10": 0.8890486663184692, + "p50_ms": 0.467291014501825, + "p90_ms": 2.694083988899365, + "p95_ms": 2.9445000109262764, + "p99_ms": 3.0021664104424417, + "index_ms": 83.16833400749601, + "by_category": { + "architecture": 0.8281337292123195, + "semantic": 0.8747873209112909, + "symbol": 1.0 + } + }, + { + "repo": "jackson-databind", + "language": "java", + "chunks": 4570, + "ndcg5": 0.6754072534454754, + "ndcg10": 0.7212470920357018, + "p50_ms": 1.4705835055792704, + "p90_ms": 12.970500596566126, + "p95_ms": 13.138202055415604, + "p99_ms": 13.903173206199424, + "index_ms": 1374.3878329987638, + "by_category": { + "architecture": 0.6403142945053555, + "semantic": 0.6233581306024223, + "symbol": 0.9355245321275764 + } + }, + { + "repo": "kotlinx-coroutines", + "language": "kotlin", + "chunks": 884, + "ndcg5": 0.8780803155822425, + "ndcg10": 0.8958906749376437, + "p50_ms": 0.7502085063606501, + "p90_ms": 4.396433100919239, + "p95_ms": 4.558790249575396, + "p99_ms": 5.285825255850795, + "index_ms": 300.9838750003837, + "by_category": { + "architecture": 0.8102255193577976, + "semantic": 0.8919383529056771, + "symbol": 1.0 + } + }, + { + "repo": "ktor", + "language": "kotlin", + "chunks": 425, + "ndcg5": 0.7385032847341471, + "ndcg10": 0.7863363921346742, + "p50_ms": 0.8796664915280417, + "p90_ms": 4.99692912271712, + "p95_ms": 5.0899139532702975, + "p99_ms": 5.1962828016257845, + "index_ms": 148.18429099977948, + "by_category": { + "architecture": 0.665712506739421, + "semantic": 0.7238200422167912, + "symbol": 1.0 + } + }, + { + "repo": "laravel-framework", + "language": "php", + "chunks": 6197, + "ndcg5": 0.6294399888351122, + "ndcg10": 0.6678420402122851, + "p50_ms": 1.2420840066624805, + "p90_ms": 14.059982981416397, + "p95_ms": 14.21233093860792, + "p99_ms": 14.267399794480298, + "index_ms": 1967.3546670237556, + "by_category": { + "architecture": 0.6041947436776243, + "semantic": 0.6662830938812081, + "symbol": 0.7827324383928644 + } + }, + { + "repo": "lazy.nvim", + "language": "lua", + "chunks": 300, + "ndcg5": 0.6371951400189322, + "ndcg10": 0.6989634817893211, + "p50_ms": 0.6438124983105808, + "p90_ms": 0.7034957932773978, + "p95_ms": 0.718849695113022, + "p99_ms": 0.798903542163316, + "index_ms": 120.79566699685529, + "by_category": { + "architecture": 0.7937228666330852, + "semantic": 0.6214330760080596 + } + }, + { + "repo": "libuv", + "language": "c", + "chunks": 1345, + "ndcg5": 0.5778481246570202, + "ndcg10": 0.6109903736184, + "p50_ms": 0.637937497231178, + "p90_ms": 0.7707627926720306, + "p95_ms": 0.8012750069610775, + "p99_ms": 0.8244550065137446, + "index_ms": 459.30829099961556, + "by_category": { + "api": 0.6309297535714575, + "keyword": 0.6309297535714575, + "semantic": 0.608774886956949 + } + }, + { + "repo": "messagepack-csharp", + "language": "csharp", + "chunks": 1125, + "ndcg5": 0.8625205636356418, + "ndcg10": 0.8695839122786332, + "p50_ms": 0.9064370096893981, + "p90_ms": 5.285308987367899, + "p95_ms": 5.645392303995322, + "p99_ms": 5.855278452800121, + "index_ms": 436.8656659789849, + "by_category": { + "architecture": 0.622590627025877, + "semantic": 0.8779239708299064, + "symbol": 1.0 + } + }, + { + "repo": "mini.nvim", + "language": "lua", + "chunks": 2156, + "ndcg5": 0.9815464876785729, + "ndcg10": 0.9815464876785729, + "p50_ms": 0.5848955042893067, + "p90_ms": 0.7526039087679238, + "p95_ms": 0.8464003578410484, + "p99_ms": 0.8499472800758667, + "index_ms": 778.7910829938482, + "by_category": { + "architecture": 1.0, + "semantic": 0.9769331095982161 + } + }, + { + "repo": "model2vec", + "language": "python", + "chunks": 107, + "ndcg5": 0.6563614357577399, + "ndcg10": 0.6955916766562531, + "p50_ms": 0.4487085097935051, + "p90_ms": 2.1935087046585977, + "p95_ms": 2.281627687625587, + "p99_ms": 2.2917919466271996, + "index_ms": 40.502916992409155, + "by_category": { + "architecture": 0.6343453280002408, + "semantic": 0.7084563429888835, + "symbol": 0.7956176024115139 + } + }, + { + "repo": "monolog", + "language": "php", + "chunks": 417, + "ndcg5": 0.8516433990956823, + "ndcg10": 0.8605053634348847, + "p50_ms": 0.9384375007357448, + "p90_ms": 3.716557688312605, + "p95_ms": 3.7255330447806045, + "p99_ms": 3.8425738032674417, + "index_ms": 130.16191599308513, + "by_category": { + "architecture": 0.619392015186447, + "semantic": 0.9113147192765458, + "symbol": 1.0 + } + }, + { + "repo": "newtonsoft-json", + "language": "csharp", + "chunks": 2152, + "ndcg5": 0.7249554830799518, + "ndcg10": 0.7711268908457121, + "p50_ms": 0.8911875047488138, + "p90_ms": 6.7743048071861285, + "p95_ms": 8.062344035715796, + "p99_ms": 8.920035206829196, + "index_ms": 736.8726670101751, + "by_category": { + "architecture": 0.8229172249923645, + "semantic": 0.6804576788145502, + "symbol": 1.0 + } + }, + { + "repo": "nlohmann-json", + "language": "cpp", + "chunks": 791, + "ndcg5": 0.8699118594962764, + "ndcg10": 0.8808322313371845, + "p50_ms": 0.5800414946861565, + "p90_ms": 4.219433004618622, + "p95_ms": 4.449885099893436, + "p99_ms": 4.878177026985212, + "index_ms": 301.2426249915734, + "by_category": { + "architecture": 0.8478663329217984, + "semantic": 0.8681580296291103, + "symbol": 1.0 + } + }, + { + "repo": "nvm", + "language": "bash", + "chunks": 153, + "ndcg5": 0.9261859507142916, + "ndcg10": 0.9261859507142916, + "p50_ms": 0.3252704773331061, + "p90_ms": 0.36100798461120576, + "p95_ms": 0.3682393129565753, + "p99_ms": 0.36871506861643866, + "index_ms": 68.26387500041164, + "by_category": { + "architecture": 0.8154648767857288, + "semantic": 0.9384882922619097 + } + }, + { + "repo": "pandoc", + "language": "haskell", + "chunks": 3090, + "ndcg5": 0.6333247437591728, + "ndcg10": 0.6650429102090386, + "p50_ms": 1.2036455009365454, + "p90_ms": 1.306679518893361, + "p95_ms": 1.3137044938048348, + "p99_ms": 1.4187744975788517, + "index_ms": 1193.6048339994159, + "by_category": { + "architecture": 0.6368991050595311, + "semantic": 0.6838054469753768 + } + }, + { + "repo": "phoenix", + "language": "elixir", + "chunks": 546, + "ndcg5": 0.7696427696468264, + "ndcg10": 0.7848567078740838, + "p50_ms": 0.5912919878028333, + "p90_ms": 4.166050418280065, + "p95_ms": 4.383233899716285, + "p99_ms": 5.277113162446767, + "index_ms": 203.6387079861015, + "by_category": { + "architecture": 0.8547262294684788, + "semantic": 0.8270092609025553, + "symbol": 0.47689218602446437 + } + }, + { + "repo": "plug", + "language": "elixir", + "chunks": 249, + "ndcg5": 0.9130929753571457, + "ndcg10": 0.9130929753571457, + "p50_ms": 0.5807084962725639, + "p90_ms": 3.308245487278328, + "p95_ms": 3.684324692585506, + "p99_ms": 4.11169855215121, + "index_ms": 103.56283298460767, + "by_category": { + "architecture": 1.0, + "semantic": 0.902209268112247, + "symbol": 0.8769765845238192 + } + }, + { + "repo": "pydantic", + "language": "python", + "chunks": 1518, + "ndcg5": 0.7393950348587884, + "ndcg10": 0.7605345265791209, + "p50_ms": 0.66347949905321, + "p90_ms": 5.6474999990314245, + "p95_ms": 5.889633338665591, + "p99_ms": 6.663060261635109, + "index_ms": 512.9204579861835, + "by_category": { + "architecture": 0.7517473446718608, + "semantic": 0.7577007889556063, + "symbol": 0.7773705614469083 + } + }, + { + "repo": "rack", + "language": "ruby", + "chunks": 249, + "ndcg5": 0.8884601594287914, + "ndcg10": 0.8884601594287914, + "p50_ms": 0.6276255153352395, + "p90_ms": 3.740016801748426, + "p95_ms": 5.105108128918799, + "p99_ms": 5.9982888147351305, + "index_ms": 98.13541700714268, + "by_category": { + "architecture": 1.0, + "semantic": 0.7992282869718244, + "symbol": 1.0 + } + }, + { + "repo": "rails", + "language": "ruby", + "chunks": 465, + "ndcg5": 0.8788952563203779, + "ndcg10": 0.8788952563203779, + "p50_ms": 0.8559999841963872, + "p90_ms": 4.400991112925114, + "p95_ms": 5.727941948862281, + "p99_ms": 5.93162117729662, + "index_ms": 171.78887498448603, + "by_category": { + "architecture": 0.815634157070918, + "semantic": 1.0, + "symbol": 0.809299428192324 + } + }, + { + "repo": "redis", + "language": "c", + "chunks": 6289, + "ndcg5": 0.8661732909393883, + "ndcg10": 0.8661732909393883, + "p50_ms": 0.8404374966630712, + "p90_ms": 0.9552583971526475, + "p95_ms": 1.059665194770787, + "p99_ms": 1.072299450461287, + "index_ms": 2549.9916249827947, + "by_category": { + "architecture": 0.8761859507142915, + "semantic": 0.8561606311644849 + } + }, + { + "repo": "redux", + "language": "javascript", + "chunks": 53, + "ndcg5": 0.8494076946336916, + "ndcg10": 0.8753031461393366, + "p50_ms": 0.425291495048441, + "p90_ms": 1.9138715113513172, + "p95_ms": 1.916686054028105, + "p99_ms": 1.9201372013776563, + "index_ms": 25.486917002126575, + "by_category": { + "architecture": 0.756966639313657, + "semantic": 0.884918120767199, + "symbol": 1.0 + } + }, + { + "repo": "requests", + "language": "python", + "chunks": 169, + "ndcg5": 0.9454570258581952, + "ndcg10": 0.9454570258581952, + "p50_ms": 0.41597850213292986, + "p90_ms": 2.8491586068412293, + "p95_ms": 3.164439310785383, + "p99_ms": 3.204055076930672, + "index_ms": 57.3113750142511, + "by_category": { + "architecture": 0.9144279211792, + "semantic": 0.9385181336136883, + "symbol": 1.0 + } + }, + { + "repo": "riverpod", + "language": "dart", + "chunks": 316, + "ndcg5": 0.7920624189796882, + "ndcg10": 0.8071139187628873, + "p50_ms": 0.6715630006510764, + "p90_ms": 0.7326205959543586, + "p95_ms": 0.7675548098632134, + "p99_ms": 0.7804109624703415, + "index_ms": 113.71345800580457, + "by_category": { + "architecture": 0.7542345811355592, + "semantic": 0.8355874082545255 + } + }, + { + "repo": "rxswift", + "language": "swift", + "chunks": 686, + "ndcg5": 0.7523234224425189, + "ndcg10": 0.7786614092900491, + "p50_ms": 0.7870420085964724, + "p90_ms": 3.3721790852723643, + "p95_ms": 3.48701604816597, + "p99_ms": 3.754536802298389, + "index_ms": 217.97037500073202, + "by_category": { + "architecture": 0.6934264036172708, + "semantic": 0.7457583585710961, + "symbol": 1.0 + } + }, + { + "repo": "serde", + "language": "rust", + "chunks": 1164, + "ndcg5": 0.7430676558073394, + "ndcg10": 0.7755075663132924, + "p50_ms": 0.9289790032198653, + "p90_ms": 4.231132799759508, + "p95_ms": 4.694848546932917, + "p99_ms": 4.822369710018393, + "index_ms": 386.7135420150589, + "by_category": { + "architecture": 0.7974500308912245, + "semantic": 0.6726085028922673, + "symbol": 0.875 + } + }, + { + "repo": "sinatra", + "language": "ruby", + "chunks": 68, + "ndcg5": 0.9346268032608155, + "ndcg10": 0.9346268032608155, + "p50_ms": 0.3409999917494133, + "p90_ms": 5.0998292019357905, + "p95_ms": 5.143152398522943, + "p99_ms": 5.1752304821275175, + "index_ms": 31.28308299346827, + "by_category": { + "architecture": 0.7385072130432616, + "semantic": 1.0, + "symbol": 1.0 + } + }, + { + "repo": "starlette", + "language": "python", + "chunks": 213, + "ndcg5": 0.9360462354097291, + "ndcg10": 0.945257016534361, + "p50_ms": 0.5408750148490071, + "p90_ms": 2.9259169823490083, + "p95_ms": 2.951166999991983, + "p99_ms": 3.2520006061531608, + "index_ms": 76.23216698993929, + "by_category": { + "architecture": 0.8954906679292346, + "semantic": 1.0, + "symbol": 1.0 + } + }, + { + "repo": "telescope.nvim", + "language": "lua", + "chunks": 540, + "ndcg5": 0.7850340567062908, + "ndcg10": 0.7850340567062908, + "p50_ms": 0.5895835056435317, + "p90_ms": 0.6421381200198084, + "p95_ms": 0.6461312528699636, + "p99_ms": 0.6994262384250759, + "index_ms": 180.27979199541733, + "by_category": { + "architecture": 0.8557660725862154, + "semantic": 0.7469475866171005 + } + }, + { + "repo": "tokio", + "language": "rust", + "chunks": 2730, + "ndcg5": 0.9459860394574093, + "ndcg10": 0.9552148242963877, + "p50_ms": 0.9951874963007867, + "p90_ms": 7.626012811670081, + "p95_ms": 8.055718755349517, + "p99_ms": 8.486543740145862, + "index_ms": 932.936666009482, + "by_category": { + "architecture": 0.8507160809879593, + "semantic": 1.0, + "symbol": 1.0 + } + }, + { + "repo": "trpc", + "language": "typescript", + "chunks": 362, + "ndcg5": 0.7517036349312507, + "ndcg10": 0.7810815764501158, + "p50_ms": 0.8729584951652214, + "p90_ms": 3.3824329962953925, + "p95_ms": 3.392008043010719, + "p99_ms": 3.4383687941590324, + "index_ms": 124.96220899629407, + "by_category": { + "architecture": 0.6937431130989311, + "semantic": 0.724526660601552, + "symbol": 1.0 + } + }, + { + "repo": "vapor", + "language": "swift", + "chunks": 780, + "ndcg5": 0.7328014081758261, + "ndcg10": 0.7858329160889163, + "p50_ms": 0.8085415029199794, + "p90_ms": 3.873462192132138, + "p95_ms": 4.04652290744707, + "p99_ms": 4.128570973407477, + "index_ms": 281.66624999721535, + "by_category": { + "architecture": 0.42599353221896225, + "semantic": 0.8170484089372457, + "symbol": 1.0 + } + }, + { + "repo": "vitest", + "language": "typescript", + "chunks": 1079, + "ndcg5": 0.6517782560805999, + "ndcg10": 0.7024504745746012, + "p50_ms": 0.834312493680045, + "p90_ms": 4.676666401792318, + "p95_ms": 4.736729436262976, + "p99_ms": 4.834578699374106, + "index_ms": 365.49883300904185, + "by_category": { + "architecture": 0.5291699572630004, + "semantic": 0.7158172498103655, + "symbol": 1.0 + } + }, + { + "repo": "xmonad", + "language": "haskell", + "chunks": 123, + "ndcg5": 0.7524190333255507, + "ndcg10": 0.7626381532049751, + "p50_ms": 0.4114164912607521, + "p90_ms": 0.43617500050459057, + "p95_ms": 0.43935419525951147, + "p99_ms": 0.4466380411759019, + "index_ms": 48.33058299846016, + "by_category": { + "architecture": 0.7998908847793088, + "semantic": 0.7378029988220858 + } + }, + { + "repo": "zig", + "language": "zig", + "chunks": 13059, + "ndcg5": 0.8696394630357187, + "ndcg10": 0.8696394630357187, + "p50_ms": 1.4498959935735911, + "p90_ms": 1.5939826960675418, + "p95_ms": 1.6095059283543378, + "p99_ms": 1.6653347678948194, + "index_ms": 3733.5195839987136, + "by_category": { + "architecture": 0.6666666666666666, + "semantic": 0.9054581918067278 + } + }, + { + "repo": "zig-clap", + "language": "zig", + "chunks": 99, + "ndcg5": 0.9130929753571457, + "ndcg10": 0.9130929753571457, + "p50_ms": 0.42841650429181755, + "p90_ms": 0.44359618914313614, + "p95_ms": 0.4559381472063251, + "p99_ms": 0.46512123342836276, + "index_ms": 54.655375017318875, + "by_category": { + "architecture": 1.0, + "semantic": 0.9034366392857175 + } + }, + { + "repo": "zls", + "language": "zig", + "chunks": 1300, + "ndcg5": 0.8077324383928645, + "ndcg10": 0.8227839381760635, + "p50_ms": 0.6357710080919787, + "p90_ms": 0.6921624968526885, + "p95_ms": 0.7011582914856263, + "p99_ms": 0.7472644760855472, + "index_ms": 588.9867910009343, + "by_category": { + "architecture": 0.7946985004009851, + "semantic": 0.837906866208798 + } + }, + { + "repo": "zod", + "language": "typescript", + "chunks": 1777, + "ndcg5": 0.6721003911969763, + "ndcg10": 0.6721003911969763, + "p50_ms": 0.8692920091561973, + "p90_ms": 5.870521187898703, + "p95_ms": 6.039177696220577, + "p99_ms": 6.382601927034556, + "index_ms": 836.2260420108214, + "by_category": { + "architecture": 0.6577324383928644, + "semantic": 0.6393136977206204, + "symbol": 0.8333333333333334 + } + } + ] +} From 077d94072ef67e396a47f54c682d4be1fdfa4b6f Mon Sep 17 00:00:00 2001 From: Pringled Date: Fri, 17 Apr 2026 11:23:28 +0200 Subject: [PATCH 18/19] Remove stale benchmark result file --- benchmarks/results/19352d3f21ed.json | 1325 -------------------------- 1 file changed, 1325 deletions(-) delete mode 100644 benchmarks/results/19352d3f21ed.json diff --git a/benchmarks/results/19352d3f21ed.json b/benchmarks/results/19352d3f21ed.json deleted file mode 100644 index add37aa..0000000 --- a/benchmarks/results/19352d3f21ed.json +++ /dev/null @@ -1,1325 +0,0 @@ -{ - "sha": "19352d3f21edec01cedb45fb519098ef757c3b90", - "model": "minishlab/potion-code-16M", - "summary": { - "ndcg10": 0.8298, - "p50_ms": 0.735, - "p90_ms": 3.541, - "p95_ms": 3.984, - "p99_ms": 4.302, - "index_ms": 453.8, - "by_category": { - "api": 0.6731, - "architecture": 0.781, - "keyword": 0.7286, - "semantic": 0.8283, - "symbol": 0.9426 - } - }, - "by_language": { - "bash": { - "repos": 3, - "ndcg10": 0.8283, - "p50_ms": 0.558, - "p90_ms": 0.61, - "p95_ms": 0.627, - "p99_ms": 0.655, - "index_ms": 102.7 - }, - "c": { - "repos": 3, - "ndcg10": 0.7087, - "p50_ms": 0.835, - "p90_ms": 0.965, - "p95_ms": 1.024, - "p99_ms": 1.055, - "index_ms": 1498.3 - }, - "cpp": { - "repos": 3, - "ndcg10": 0.9281, - "p50_ms": 0.624, - "p90_ms": 4.271, - "p95_ms": 5.426, - "p99_ms": 5.713, - "index_ms": 760.0 - }, - "csharp": { - "repos": 3, - "ndcg10": 0.8288, - "p50_ms": 0.828, - "p90_ms": 5.202, - "p95_ms": 6.183, - "p99_ms": 7.779, - "index_ms": 445.9 - }, - "dart": { - "repos": 3, - "ndcg10": 0.7621, - "p50_ms": 0.598, - "p90_ms": 0.654, - "p95_ms": 0.675, - "p99_ms": 0.687, - "index_ms": 67.7 - }, - "elixir": { - "repos": 3, - "ndcg10": 0.8663, - "p50_ms": 0.568, - "p90_ms": 4.751, - "p95_ms": 5.136, - "p99_ms": 5.644, - "index_ms": 193.5 - }, - "go": { - "repos": 3, - "ndcg10": 0.8927, - "p50_ms": 0.605, - "p90_ms": 3.368, - "p95_ms": 3.791, - "p99_ms": 4.094, - "index_ms": 152.2 - }, - "haskell": { - "repos": 3, - "ndcg10": 0.7451, - "p50_ms": 0.71, - "p90_ms": 0.769, - "p95_ms": 0.783, - "p99_ms": 0.815, - "index_ms": 460.5 - }, - "java": { - "repos": 3, - "ndcg10": 0.8244, - "p50_ms": 1.167, - "p90_ms": 9.454, - "p95_ms": 12.96, - "p99_ms": 13.591, - "index_ms": 957.2 - }, - "javascript": { - "repos": 3, - "ndcg10": 0.8966, - "p50_ms": 0.443, - "p90_ms": 1.653, - "p95_ms": 1.67, - "p99_ms": 1.718, - "index_ms": 29.4 - }, - "kotlin": { - "repos": 3, - "ndcg10": 0.814, - "p50_ms": 0.844, - "p90_ms": 4.609, - "p95_ms": 4.837, - "p99_ms": 5.654, - "index_ms": 234.6 - }, - "lua": { - "repos": 4, - "ndcg10": 0.7626, - "p50_ms": 0.785, - "p90_ms": 0.892, - "p95_ms": 0.924, - "p99_ms": 0.948, - "index_ms": 349.4 - }, - "php": { - "repos": 3, - "ndcg10": 0.8141, - "p50_ms": 0.944, - "p90_ms": 6.882, - "p95_ms": 7.003, - "p99_ms": 7.031, - "index_ms": 686.0 - }, - "python": { - "repos": 9, - "ndcg10": 0.8591, - "p50_ms": 0.509, - "p90_ms": 3.362, - "p95_ms": 3.489, - "p99_ms": 3.701, - "index_ms": 148.4 - }, - "ruby": { - "repos": 3, - "ndcg10": 0.9007, - "p50_ms": 0.613, - "p90_ms": 4.435, - "p95_ms": 5.523, - "p99_ms": 5.845, - "index_ms": 85.6 - }, - "rust": { - "repos": 3, - "ndcg10": 0.8378, - "p50_ms": 0.815, - "p90_ms": 5.393, - "p95_ms": 5.619, - "p99_ms": 5.917, - "index_ms": 475.4 - }, - "scala": { - "repos": 3, - "ndcg10": 0.8982, - "p50_ms": 0.814, - "p90_ms": 4.124, - "p95_ms": 4.247, - "p99_ms": 4.376, - "index_ms": 369.7 - }, - "swift": { - "repos": 3, - "ndcg10": 0.8419, - "p50_ms": 0.72, - "p90_ms": 3.788, - "p95_ms": 3.982, - "p99_ms": 4.514, - "index_ms": 220.5 - }, - "typescript": { - "repos": 3, - "ndcg10": 0.7185, - "p50_ms": 0.856, - "p90_ms": 4.669, - "p95_ms": 4.783, - "p99_ms": 4.942, - "index_ms": 425.4 - }, - "zig": { - "repos": 3, - "ndcg10": 0.8685, - "p50_ms": 0.865, - "p90_ms": 0.966, - "p95_ms": 0.998, - "p99_ms": 1.358, - "index_ms": 1414.2 - } - }, - "repos": [ - { - "repo": "abseil-cpp", - "language": "cpp", - "chunks": 3083, - "ndcg5": 0.9319537411240482, - "ndcg10": 0.9319537411240482, - "p50_ms": 0.829958007670939, - "p90_ms": 7.6941794948652396, - "p95_ms": 8.204781569656916, - "p99_ms": 8.542822721065022, - "index_ms": 1638.2936659792904, - "by_category": { - "architecture": 1.0, - "semantic": 0.9426049881653976, - "symbol": 0.8333333333333334 - } - }, - { - "repo": "aeson", - "language": "haskell", - "chunks": 393, - "ndcg5": 0.787707118843058, - "ndcg10": 0.8075975589033458, - "p50_ms": 0.49762499111238867, - "p90_ms": 0.5686170072294772, - "p95_ms": 0.5794294847873971, - "p99_ms": 0.5796194862341508, - "index_ms": 158.74670800985768, - "by_category": { - "architecture": 0.6722706232293573, - "semantic": 0.852706537461342 - } - }, - { - "repo": "aiohttp", - "language": "python", - "chunks": 756, - "ndcg5": 0.7595501987615106, - "ndcg10": 0.8051055391429651, - "p50_ms": 0.5707079835701734, - "p90_ms": 4.08641598187387, - "p95_ms": 4.303541994886473, - "p99_ms": 4.671075596706942, - "index_ms": 231.02924998966046, - "by_category": { - "architecture": 0.8356195986270888, - "semantic": 0.6730976812902937, - "symbol": 1.0 - } - }, - { - "repo": "alamofire", - "language": "swift", - "chunks": 649, - "ndcg5": 0.9613147192765459, - "ndcg10": 0.9613147192765459, - "p50_ms": 0.5479375104187056, - "p90_ms": 4.096378898248076, - "p95_ms": 4.388221158296802, - "p99_ms": 5.7057442312361655, - "index_ms": 204.76558301015757, - "by_category": { - "architecture": 0.9732402630493958, - "semantic": 0.9369612360347936, - "symbol": 1.0 - } - }, - { - "repo": "axios", - "language": "javascript", - "chunks": 166, - "ndcg5": 0.8648468052243118, - "ndcg10": 0.8908186768484192, - "p50_ms": 0.6146045052446425, - "p90_ms": 2.689695911249146, - "p95_ms": 2.704596458352171, - "p99_ms": 2.7674856985686347, - "index_ms": 50.1389580022078, - "by_category": { - "architecture": 0.6793305495640389, - "semantic": 0.9355245321275762, - "symbol": 1.0 - } - }, - { - "repo": "axum", - "language": "rust", - "chunks": 509, - "ndcg5": 0.7324356157188728, - "ndcg10": 0.7826858855802271, - "p50_ms": 0.6395204836735502, - "p90_ms": 3.6230414232704793, - "p95_ms": 3.8414690498029813, - "p99_ms": 3.952460197615437, - "index_ms": 166.7014169797767, - "by_category": { - "architecture": 0.7297596420238124, - "semantic": 0.8040593595314548, - "symbol": 0.7854023957026741 - } - }, - { - "repo": "bash-it", - "language": "bash", - "chunks": 723, - "ndcg5": 0.6075207382645395, - "ndcg10": 0.6574637191224815, - "p50_ms": 0.9896045085042715, - "p90_ms": 1.0916961153270677, - "p95_ms": 1.1293684685369954, - "p99_ms": 1.1850073066307232, - "index_ms": 229.41695898771286, - "by_category": { - "api": 0.7153382790366966, - "keyword": 0.8261859507142916, - "semantic": 0.5836667746772907 - } - }, - { - "repo": "bats-core", - "language": "bash", - "chunks": 48, - "ndcg5": 0.9011859507142915, - "ndcg10": 0.9011859507142915, - "p50_ms": 0.35431250580586493, - "p90_ms": 0.37335828819777817, - "p95_ms": 0.3792413481278345, - "p99_ms": 0.40254826599266375, - "index_ms": 16.63404199643992, - "by_category": { - "architecture": 0.8231227867347022, - "semantic": 0.9432199620879166 - } - }, - { - "repo": "cats", - "language": "scala", - "chunks": 1254, - "ndcg5": 0.9132034061286296, - "ndcg10": 0.9132034061286296, - "p50_ms": 0.9761249821167439, - "p90_ms": 5.196216999320313, - "p95_ms": 5.2172982672345825, - "p99_ms": 5.291493257100228, - "index_ms": 591.6140420013107, - "by_category": { - "architecture": 0.8467132018086354, - "semantic": 0.8877215315338048, - "symbol": 1.0 - } - }, - { - "repo": "chi", - "language": "go", - "chunks": 262, - "ndcg5": 0.8121926566738839, - "ndcg10": 0.8342931456297593, - "p50_ms": 0.6906459893798456, - "p90_ms": 2.9502419172786176, - "p95_ms": 3.1535000700387172, - "p99_ms": 3.175033613515552, - "index_ms": 89.58054200047627, - "by_category": { - "architecture": 0.6259028523654583, - "semantic": 0.9589921948412731, - "symbol": 0.8769765845238192 - } - }, - { - "repo": "circe", - "language": "scala", - "chunks": 192, - "ndcg5": 0.8591297799361982, - "ndcg10": 0.8591297799361982, - "p50_ms": 0.5344170203898102, - "p90_ms": 2.6909581967629492, - "p95_ms": 2.769245294621214, - "p99_ms": 2.8805162745993584, - "index_ms": 82.8212919877842, - "by_category": { - "architecture": 0.7261859507142916, - "semantic": 0.8811396422923916, - "symbol": 1.0 - } - }, - { - "repo": "click", - "language": "python", - "chunks": 315, - "ndcg5": 1.0, - "ndcg10": 1.0, - "p50_ms": 0.4218334943288937, - "p90_ms": 3.295338078169152, - "p95_ms": 3.4305500084883533, - "p99_ms": 3.5016099966014735, - "index_ms": 102.194083010545, - "by_category": { - "architecture": 1.0, - "semantic": 1.0, - "symbol": 1.0 - } - }, - { - "repo": "cobra", - "language": "go", - "chunks": 394, - "ndcg5": 0.967519867361079, - "ndcg10": 0.967519867361079, - "p50_ms": 0.5313959991326556, - "p90_ms": 3.561783389886843, - "p95_ms": 4.599669354502112, - "p99_ms": 5.066466678399592, - "index_ms": 148.3247500145808, - "by_category": { - "architecture": 1.0, - "semantic": 0.94094521338378, - "symbol": 1.0 - } - }, - { - "repo": "commons-lang", - "language": "java", - "chunks": 3152, - "ndcg5": 0.8511907952337322, - "ndcg10": 0.8944264122460902, - "p50_ms": 1.0550000006332994, - "p90_ms": 9.112208004808053, - "p95_ms": 18.731874995864928, - "p99_ms": 19.44987499155104, - "index_ms": 1002.3869590077084, - "by_category": { - "architecture": 0.7216293209723186, - "semantic": 0.9012904781607812, - "symbol": 1.0 - } - }, - { - "repo": "curl", - "language": "c", - "chunks": 4444, - "ndcg5": 0.5564993486741835, - "ndcg10": 0.6602872366816288, - "p50_ms": 0.9954170091077685, - "p90_ms": 1.0862374940188602, - "p95_ms": 1.1380604119040072, - "p99_ms": 1.1579784913919866, - "index_ms": 1554.1007920110133, - "by_category": { - "architecture": 0.5728575877940218, - "semantic": 0.7318205857714887 - } - }, - { - "repo": "dapper", - "language": "csharp", - "chunks": 411, - "ndcg5": 0.7946394630357186, - "ndcg10": 0.8457831557244532, - "p50_ms": 0.5781045038020238, - "p90_ms": 3.3011621882906197, - "p95_ms": 4.314479192544244, - "p99_ms": 8.095163038524326, - "index_ms": 177.36520900507458, - "by_category": { - "architecture": 0.5801175685032033, - "semantic": 0.920327929761907, - "symbol": 0.8769765845238192 - } - }, - { - "repo": "dio", - "language": "dart", - "chunks": 153, - "ndcg5": 0.6945949461156704, - "ndcg10": 0.6945949461156704, - "p50_ms": 0.5881045071873814, - "p90_ms": 0.659049698151648, - "p95_ms": 0.6828854136983864, - "p99_ms": 0.6906434669508599, - "index_ms": 58.705125004053116, - "by_category": { - "architecture": 0.6421082758814111, - "semantic": 0.7077166136742353 - } - }, - { - "repo": "ecto", - "language": "elixir", - "chunks": 755, - "ndcg5": 0.8822031319548903, - "ndcg10": 0.9009508786447862, - "p50_ms": 0.5405829870142043, - "p90_ms": 6.965766608482227, - "p95_ms": 7.336166387540288, - "p99_ms": 7.47536689566914, - "index_ms": 294.8168749862816, - "by_category": { - "architecture": 1.0, - "semantic": 0.9220874569753447, - "symbol": 0.7103099178571526 - } - }, - { - "repo": "exposed", - "language": "kotlin", - "chunks": 744, - "ndcg5": 0.714389356842921, - "ndcg10": 0.7597867547058971, - "p50_ms": 0.8982294821180403, - "p90_ms": 4.48354141553864, - "p95_ms": 4.971002400270664, - "p99_ms": 6.332700477796604, - "index_ms": 261.48333298624493, - "by_category": { - "architecture": 0.6547543623015969, - "semantic": 0.7308194290866535, - "symbol": 1.0 - } - }, - { - "repo": "express", - "language": "javascript", - "chunks": 52, - "ndcg5": 0.8968751674977092, - "ndcg10": 0.9237609540438003, - "p50_ms": 0.29781300690956414, - "p90_ms": 0.3636872133938596, - "p95_ms": 0.39014788781059906, - "p99_ms": 0.41899596893927077, - "index_ms": 19.48824999271892, - "by_category": { - "architecture": 0.9301365705673165, - "semantic": 0.8964263086904791, - "symbol": 1.0 - } - }, - { - "repo": "fastapi", - "language": "python", - "chunks": 597, - "ndcg5": 0.7297297540684241, - "ndcg10": 0.7869838171738259, - "p50_ms": 0.5182080058148131, - "p90_ms": 3.656400280306116, - "p95_ms": 3.805879154242575, - "p99_ms": 3.8401422323659062, - "index_ms": 191.74483401002362, - "by_category": { - "architecture": 0.6392000559545565, - "semantic": 0.7831594939743279, - "symbol": 1.0 - } - }, - { - "repo": "flask", - "language": "python", - "chunks": 291, - "ndcg5": 0.8847644106288912, - "ndcg10": 0.9039540836573546, - "p50_ms": 0.4816659784410149, - "p90_ms": 2.98920800560154, - "p95_ms": 3.021458978764713, - "p99_ms": 3.598425397649408, - "index_ms": 99.04100000858307, - "by_category": { - "architecture": 0.8548201992475203, - "semantic": 0.9090267601883458, - "symbol": 1.0 - } - }, - { - "repo": "fmtlib", - "language": "cpp", - "chunks": 476, - "ndcg5": 0.9715338279036697, - "ndcg10": 0.9715338279036697, - "p50_ms": 0.45997950655873865, - "p90_ms": 0.9122461982769934, - "p95_ms": 3.6203839976224117, - "p99_ms": 3.6819440018734895, - "index_ms": 355.0054170191288, - "by_category": { - "architecture": 1.0, - "semantic": 0.9593340398623853, - "symbol": 1.0 - } - }, - { - "repo": "gin", - "language": "go", - "chunks": 576, - "ndcg5": 0.8763658848604823, - "ndcg10": 0.8763658848604823, - "p50_ms": 0.5929375038249418, - "p90_ms": 3.590725307003595, - "p95_ms": 3.621058353746776, - "p99_ms": 4.039945253462064, - "index_ms": 218.6191670189146, - "by_category": { - "architecture": 0.9638734584787886, - "semantic": 0.7949160860306287, - "symbol": 1.0 - } - }, - { - "repo": "gson", - "language": "java", - "chunks": 1460, - "ndcg5": 0.8466901155768763, - "ndcg10": 0.8576104874177843, - "p50_ms": 1.012187494779937, - "p90_ms": 6.153145796270111, - "p95_ms": 6.967778856051154, - "p99_ms": 7.308955761254764, - "index_ms": 486.7030000023078, - "by_category": { - "architecture": 0.677192486230418, - "semantic": 0.8443439803434017, - "symbol": 1.0 - } - }, - { - "repo": "guzzle", - "language": "php", - "chunks": 206, - "ndcg5": 0.9140510731804075, - "ndcg10": 0.9140510731804075, - "p50_ms": 0.6081460014684126, - "p90_ms": 2.9341624962398782, - "p95_ms": 2.965677068277728, - "p99_ms": 2.9778681937023066, - "index_ms": 67.69337499281392, - "by_category": { - "architecture": 1.0, - "semantic": 0.8677708818160114, - "symbol": 1.0 - } - }, - { - "repo": "http-dart", - "language": "dart", - "chunks": 89, - "ndcg5": 0.7566124015300086, - "ndcg10": 0.784641880764834, - "p50_ms": 0.5406460113590583, - "p90_ms": 0.5715333099942654, - "p95_ms": 0.5788517562905326, - "p99_ms": 0.6000367627711967, - "index_ms": 37.63020897167735, - "by_category": { - "architecture": 0.75, - "semantic": 0.7884909786275932 - } - }, - { - "repo": "http4s", - "language": "scala", - "chunks": 952, - "ndcg5": 0.9221719901717009, - "ndcg10": 0.9221719901717009, - "p50_ms": 0.9319585078628734, - "p90_ms": 4.48374129482545, - "p95_ms": 4.753899363277014, - "p99_ms": 4.95694625627948, - "index_ms": 434.61324999225326, - "by_category": { - "architecture": 0.9732402630493958, - "semantic": 0.8945513581632737, - "symbol": 1.0 - } - }, - { - "repo": "httpx", - "language": "python", - "chunks": 248, - "ndcg5": 0.879316171195208, - "ndcg10": 0.8890486663184692, - "p50_ms": 0.4831660189665854, - "p90_ms": 2.828333992511034, - "p95_ms": 2.9634590027853847, - "p99_ms": 3.061724593862891, - "index_ms": 84.37012499780394, - "by_category": { - "architecture": 0.8281337292123195, - "semantic": 0.8747873209112909, - "symbol": 1.0 - } - }, - { - "repo": "jackson-databind", - "language": "java", - "chunks": 4570, - "ndcg5": 0.6754072534454754, - "ndcg10": 0.7212470920357018, - "p50_ms": 1.4328539982670918, - "p90_ms": 13.098112202715129, - "p95_ms": 13.181266681931447, - "p99_ms": 14.013720551447475, - "index_ms": 1382.4182919925079, - "by_category": { - "architecture": 0.6403142945053555, - "semantic": 0.6233581306024223, - "symbol": 0.9355245321275764 - } - }, - { - "repo": "kotlinx-coroutines", - "language": "kotlin", - "chunks": 884, - "ndcg5": 0.8780803155822425, - "ndcg10": 0.8958906749376437, - "p50_ms": 0.7532914896728471, - "p90_ms": 4.418266395805404, - "p95_ms": 4.515541954606307, - "p99_ms": 5.3363411928876285, - "index_ms": 297.39504199824296, - "by_category": { - "architecture": 0.8102255193577976, - "semantic": 0.8919383529056771, - "symbol": 1.0 - } - }, - { - "repo": "ktor", - "language": "kotlin", - "chunks": 425, - "ndcg5": 0.7385032847341471, - "ndcg10": 0.7863363921346742, - "p50_ms": 0.8799584902590141, - "p90_ms": 4.924645504797809, - "p95_ms": 5.023820497444831, - "p99_ms": 5.291530500981025, - "index_ms": 144.90454099723138, - "by_category": { - "architecture": 0.665712506739421, - "semantic": 0.7238200422167912, - "symbol": 1.0 - } - }, - { - "repo": "laravel-framework", - "language": "php", - "chunks": 6197, - "ndcg5": 0.6294399888351122, - "ndcg10": 0.6678420402122851, - "p50_ms": 1.208916975883767, - "p90_ms": 13.925883886986412, - "p95_ms": 14.225897600408643, - "p99_ms": 14.230679532047361, - "index_ms": 1869.05083298916, - "by_category": { - "architecture": 0.6041947436776243, - "semantic": 0.6662830938812081, - "symbol": 0.7827324383928644 - } - }, - { - "repo": "lazy.nvim", - "language": "lua", - "chunks": 300, - "ndcg5": 0.6371951400189322, - "ndcg10": 0.6989634817893211, - "p50_ms": 0.6474170077126473, - "p90_ms": 0.6792291213059798, - "p95_ms": 0.7103701878804713, - "p99_ms": 0.7419740420300514, - "index_ms": 109.899500006577, - "by_category": { - "architecture": 0.7937228666330852, - "semantic": 0.6214330760080596 - } - }, - { - "repo": "libuv", - "language": "c", - "chunks": 1345, - "ndcg5": 0.5665334053804744, - "ndcg10": 0.5996756543418542, - "p50_ms": 0.6576460000360385, - "p90_ms": 0.8203247038181872, - "p95_ms": 0.8763707999605685, - "p99_ms": 0.8915069478098303, - "index_ms": 442.0584999897983, - "by_category": { - "api": 0.6309297535714575, - "keyword": 0.6309297535714575, - "semantic": 0.5962029766496759 - } - }, - { - "repo": "messagepack-csharp", - "language": "csharp", - "chunks": 1125, - "ndcg5": 0.8625205636356418, - "ndcg10": 0.8695839122786332, - "p50_ms": 0.9579790057614446, - "p90_ms": 5.4224333085585394, - "p95_ms": 5.891901759605389, - "p99_ms": 6.02594676282024, - "index_ms": 430.782832991099, - "by_category": { - "architecture": 0.622590627025877, - "semantic": 0.8779239708299064, - "symbol": 1.0 - } - }, - { - "repo": "mini.nvim", - "language": "lua", - "chunks": 2156, - "ndcg5": 0.9815464876785729, - "ndcg10": 0.9815464876785729, - "p50_ms": 0.6276039930526167, - "p90_ms": 0.7653292064787821, - "p95_ms": 0.8346023983904161, - "p99_ms": 0.8507204710622318, - "index_ms": 786.01191600319, - "by_category": { - "architecture": 1.0, - "semantic": 0.9769331095982161 - } - }, - { - "repo": "model2vec", - "language": "python", - "chunks": 107, - "ndcg5": 0.6563614357577399, - "ndcg10": 0.6955916766562531, - "p50_ms": 0.45652098197024316, - "p90_ms": 2.241354208672419, - "p95_ms": 2.314250302151777, - "p99_ms": 2.330716460128315, - "index_ms": 33.114374993601814, - "by_category": { - "architecture": 0.6343453280002408, - "semantic": 0.7084563429888835, - "symbol": 0.7956176024115139 - } - }, - { - "repo": "monolog", - "language": "php", - "chunks": 417, - "ndcg5": 0.8516433990956823, - "ndcg10": 0.8605053634348847, - "p50_ms": 1.0137499921256676, - "p90_ms": 3.7867955019464716, - "p95_ms": 3.816783036745619, - "p99_ms": 3.884423795097973, - "index_ms": 121.15945902769454, - "by_category": { - "architecture": 0.619392015186447, - "semantic": 0.9113147192765458, - "symbol": 1.0 - } - }, - { - "repo": "newtonsoft-json", - "language": "csharp", - "chunks": 2152, - "ndcg5": 0.7249554830799518, - "ndcg10": 0.7711268908457121, - "p50_ms": 0.9486044873483479, - "p90_ms": 6.881428620545195, - "p95_ms": 8.34401699830778, - "p99_ms": 9.215737000340594, - "index_ms": 729.5767499890644, - "by_category": { - "architecture": 0.8229172249923645, - "semantic": 0.6804576788145502, - "symbol": 1.0 - } - }, - { - "repo": "nlohmann-json", - "language": "cpp", - "chunks": 791, - "ndcg5": 0.8699118594962764, - "ndcg10": 0.8808322313371845, - "p50_ms": 0.583478991757147, - "p90_ms": 4.205937203369103, - "p95_ms": 4.453222926531453, - "p99_ms": 4.914511778915766, - "index_ms": 286.75341699272394, - "by_category": { - "architecture": 0.8478663329217984, - "semantic": 0.8681580296291103, - "symbol": 1.0 - } - }, - { - "repo": "nvim-lspconfig", - "language": "lua", - "chunks": 1055, - "ndcg5": 0.537707118843058, - "ndcg10": 0.5850222192975525, - "p50_ms": 1.2810829939553514, - "p90_ms": 1.4955331047531217, - "p95_ms": 1.5041215083329007, - "p99_ms": 1.504691512673162, - "index_ms": 324.8739579867106, - "by_category": { - "architecture": 0.42896124839380506, - "semantic": 0.6125623906335079 - } - }, - { - "repo": "nvm", - "language": "bash", - "chunks": 153, - "ndcg5": 0.9261859507142916, - "ndcg10": 0.9261859507142916, - "p50_ms": 0.32929198641795665, - "p90_ms": 0.3652419080026448, - "p95_ms": 0.37090565456310287, - "p99_ms": 0.37834833638044074, - "index_ms": 62.00775000615977, - "by_category": { - "architecture": 0.8154648767857288, - "semantic": 0.9384882922619097 - } - }, - { - "repo": "pandoc", - "language": "haskell", - "chunks": 3090, - "ndcg5": 0.6333247437591728, - "ndcg10": 0.6650429102090386, - "p50_ms": 1.2169585097581148, - "p90_ms": 1.2934794183820486, - "p95_ms": 1.3189098026487045, - "p99_ms": 1.3891155584133228, - "index_ms": 1174.4977500056848, - "by_category": { - "architecture": 0.6368991050595311, - "semantic": 0.6838054469753768 - } - }, - { - "repo": "phoenix", - "language": "elixir", - "chunks": 546, - "ndcg5": 0.7696427696468264, - "ndcg10": 0.7848567078740838, - "p50_ms": 0.6013750098645687, - "p90_ms": 4.10126619390212, - "p95_ms": 4.448708615382199, - "p99_ms": 5.334608117700554, - "index_ms": 192.7195419848431, - "by_category": { - "architecture": 0.8547262294684788, - "semantic": 0.8270092609025553, - "symbol": 0.47689218602446437 - } - }, - { - "repo": "plug", - "language": "elixir", - "chunks": 249, - "ndcg5": 0.9130929753571457, - "ndcg10": 0.9130929753571457, - "p50_ms": 0.5631039966829121, - "p90_ms": 3.1872002989985053, - "p95_ms": 3.623162480653264, - "p99_ms": 4.123432485503144, - "index_ms": 92.90016599697992, - "by_category": { - "architecture": 1.0, - "semantic": 0.902209268112247, - "symbol": 0.8769765845238192 - } - }, - { - "repo": "pydantic", - "language": "python", - "chunks": 1518, - "ndcg5": 0.7393950348587884, - "ndcg10": 0.7605345265791209, - "p50_ms": 0.6767290033167228, - "p90_ms": 5.407387801096775, - "p95_ms": 5.555404152255505, - "p99_ms": 5.928247242700308, - "index_ms": 475.13879102189094, - "by_category": { - "architecture": 0.7517473446718608, - "semantic": 0.7577007889556063, - "symbol": 0.7773705614469083 - } - }, - { - "repo": "rack", - "language": "ruby", - "chunks": 249, - "ndcg5": 0.8884601594287914, - "ndcg10": 0.8884601594287914, - "p50_ms": 0.5831460002809763, - "p90_ms": 3.8083669060142724, - "p95_ms": 5.222506244899703, - "p99_ms": 6.100301259430124, - "index_ms": 82.6720830227714, - "by_category": { - "architecture": 1.0, - "semantic": 0.7992282869718244, - "symbol": 1.0 - } - }, - { - "repo": "rails", - "language": "ruby", - "chunks": 465, - "ndcg5": 0.8788952563203779, - "ndcg10": 0.8788952563203779, - "p50_ms": 0.9125834912993014, - "p90_ms": 4.440475310548211, - "p95_ms": 6.172075017821044, - "p99_ms": 6.184615024831146, - "index_ms": 147.6661249762401, - "by_category": { - "architecture": 0.815634157070918, - "semantic": 1.0, - "symbol": 0.809299428192324 - } - }, - { - "repo": "redis", - "language": "c", - "chunks": 6289, - "ndcg5": 0.8661732909393883, - "ndcg10": 0.8661732909393883, - "p50_ms": 0.850646014441736, - "p90_ms": 0.9875960822682829, - "p95_ms": 1.057141341152601, - "p99_ms": 1.1150282568996772, - "index_ms": 2498.759499983862, - "by_category": { - "architecture": 0.8761859507142915, - "semantic": 0.8561606311644849 - } - }, - { - "repo": "redux", - "language": "javascript", - "chunks": 53, - "ndcg5": 0.8494076946336916, - "ndcg10": 0.8753031461393366, - "p50_ms": 0.41687500197440386, - "p90_ms": 1.9045750028453767, - "p95_ms": 1.9143062498187646, - "p99_ms": 1.9664612709311768, - "index_ms": 18.569084000773728, - "by_category": { - "architecture": 0.756966639313657, - "semantic": 0.884918120767199, - "symbol": 1.0 - } - }, - { - "repo": "requests", - "language": "python", - "chunks": 169, - "ndcg5": 0.9454570258581952, - "ndcg10": 0.9454570258581952, - "p50_ms": 0.43068750528618693, - "p90_ms": 2.8821457846788694, - "p95_ms": 3.0780059547396377, - "p99_ms": 3.09393480012659, - "index_ms": 52.12345800828189, - "by_category": { - "architecture": 0.9144279211792, - "semantic": 0.9385181336136883, - "symbol": 1.0 - } - }, - { - "repo": "riverpod", - "language": "dart", - "chunks": 316, - "ndcg5": 0.7920624189796882, - "ndcg10": 0.8071139187628873, - "p50_ms": 0.6658960046479478, - "p90_ms": 0.730220801779069, - "p95_ms": 0.7629871397512034, - "p99_ms": 0.7691302249440923, - "index_ms": 106.78329100483097, - "by_category": { - "architecture": 0.7542345811355592, - "semantic": 0.8355874082545255 - } - }, - { - "repo": "rxswift", - "language": "swift", - "chunks": 686, - "ndcg5": 0.7523234224425189, - "ndcg10": 0.7786614092900491, - "p50_ms": 0.781146009103395, - "p90_ms": 3.4272585879079998, - "p95_ms": 3.57729339011712, - "p99_ms": 3.7761914831935424, - "index_ms": 199.97324998257682, - "by_category": { - "architecture": 0.6934264036172708, - "semantic": 0.7457583585710961, - "symbol": 1.0 - } - }, - { - "repo": "serde", - "language": "rust", - "chunks": 1164, - "ndcg5": 0.7430676558073394, - "ndcg10": 0.7755075663132924, - "p50_ms": 0.9484380134381354, - "p90_ms": 4.297549990587869, - "p95_ms": 4.719533353636507, - "p99_ms": 4.987940257706213, - "index_ms": 357.2896249825135, - "by_category": { - "architecture": 0.7974500308912245, - "semantic": 0.6726085028922673, - "symbol": 0.875 - } - }, - { - "repo": "sinatra", - "language": "ruby", - "chunks": 68, - "ndcg5": 0.9346268032608155, - "ndcg10": 0.9346268032608155, - "p50_ms": 0.34345850872341543, - "p90_ms": 5.055532691767439, - "p95_ms": 5.172968406986911, - "p99_ms": 5.249126494454686, - "index_ms": 26.459499989869073, - "by_category": { - "architecture": 0.7385072130432616, - "semantic": 1.0, - "symbol": 1.0 - } - }, - { - "repo": "starlette", - "language": "python", - "chunks": 213, - "ndcg5": 0.9360462354097291, - "ndcg10": 0.945257016534361, - "p50_ms": 0.5430409801192582, - "p90_ms": 2.869833988370374, - "p95_ms": 2.9320000030566007, - "p99_ms": 3.2851336116436873, - "index_ms": 67.157582991058, - "by_category": { - "architecture": 0.8954906679292346, - "semantic": 1.0, - "symbol": 1.0 - } - }, - { - "repo": "telescope.nvim", - "language": "lua", - "chunks": 540, - "ndcg5": 0.7850340567062908, - "ndcg10": 0.7850340567062908, - "p50_ms": 0.5830830050399527, - "p90_ms": 0.6295207829680294, - "p95_ms": 0.645447603892535, - "p99_ms": 0.6965895346365868, - "index_ms": 176.90724998828955, - "by_category": { - "architecture": 0.8557660725862154, - "semantic": 0.7469475866171005 - } - }, - { - "repo": "tokio", - "language": "rust", - "chunks": 2730, - "ndcg5": 0.9459860394574093, - "ndcg10": 0.9552148242963877, - "p50_ms": 0.8565000025555491, - "p90_ms": 8.257212507305667, - "p95_ms": 8.295268761867192, - "p99_ms": 8.810453747573774, - "index_ms": 902.2078340058215, - "by_category": { - "architecture": 0.8507160809879593, - "semantic": 1.0, - "symbol": 1.0 - } - }, - { - "repo": "trpc", - "language": "typescript", - "chunks": 362, - "ndcg5": 0.7517036349312507, - "ndcg10": 0.7810815764501158, - "p50_ms": 0.8910829928936437, - "p90_ms": 3.4174586966400966, - "p95_ms": 3.421240246098023, - "p99_ms": 3.4217152497149073, - "index_ms": 111.48195798159577, - "by_category": { - "architecture": 0.6937431130989311, - "semantic": 0.724526660601552, - "symbol": 1.0 - } - }, - { - "repo": "vapor", - "language": "swift", - "chunks": 780, - "ndcg5": 0.7328014081758261, - "ndcg10": 0.7858329160889163, - "p50_ms": 0.8314999868161976, - "p90_ms": 3.841249705874361, - "p95_ms": 3.9807208042475395, - "p99_ms": 4.060076976602431, - "index_ms": 256.69304199982435, - "by_category": { - "architecture": 0.42599353221896225, - "semantic": 0.8170484089372457, - "symbol": 1.0 - } - }, - { - "repo": "vitest", - "language": "typescript", - "chunks": 1079, - "ndcg5": 0.6517782560805999, - "ndcg10": 0.7024504745746012, - "p50_ms": 0.8062505075940862, - "p90_ms": 4.7074163012439385, - "p95_ms": 4.77397433569422, - "p99_ms": 4.936361272993963, - "index_ms": 334.7159579861909, - "by_category": { - "architecture": 0.5291699572630004, - "semantic": 0.7158172498103655, - "symbol": 1.0 - } - }, - { - "repo": "xmonad", - "language": "haskell", - "chunks": 123, - "ndcg5": 0.7524190333255507, - "ndcg10": 0.7626381532049751, - "p50_ms": 0.41635450907051563, - "p90_ms": 0.4436205024830997, - "p95_ms": 0.4501143121160567, - "p99_ms": 0.4752900567837059, - "index_ms": 48.12854100600816, - "by_category": { - "architecture": 0.7998908847793088, - "semantic": 0.7378029988220858 - } - }, - { - "repo": "zig", - "language": "zig", - "chunks": 13059, - "ndcg5": 0.8696394630357187, - "ndcg10": 0.8696394630357187, - "p50_ms": 1.512583505245857, - "p90_ms": 1.7351917194901034, - "p95_ms": 1.8087398944771858, - "p99_ms": 2.8149479857529496, - "index_ms": 3599.626624985831, - "by_category": { - "architecture": 0.6666666666666666, - "semantic": 0.9054581918067278 - } - }, - { - "repo": "zig-clap", - "language": "zig", - "chunks": 99, - "ndcg5": 0.9130929753571457, - "ndcg10": 0.9130929753571457, - "p50_ms": 0.4297084960853681, - "p90_ms": 0.45650000975001603, - "p95_ms": 0.46138750767568126, - "p99_ms": 0.48437748366268346, - "index_ms": 51.843541994458064, - "by_category": { - "architecture": 1.0, - "semantic": 0.9034366392857175 - } - }, - { - "repo": "zls", - "language": "zig", - "chunks": 1300, - "ndcg5": 0.8077324383928645, - "ndcg10": 0.8227839381760635, - "p50_ms": 0.6536250002682209, - "p90_ms": 0.7057464972604066, - "p95_ms": 0.725008940207772, - "p99_ms": 0.7732682017376645, - "index_ms": 591.1188750178553, - "by_category": { - "architecture": 0.7946985004009851, - "semantic": 0.837906866208798 - } - }, - { - "repo": "zod", - "language": "typescript", - "chunks": 1777, - "ndcg5": 0.6721003911969763, - "ndcg10": 0.6721003911969763, - "p50_ms": 0.8715000149095431, - "p90_ms": 5.881650312221609, - "p95_ms": 6.153058311610948, - "p99_ms": 6.467444459849502, - "index_ms": 829.9674169975333, - "by_category": { - "architecture": 0.6577324383928644, - "semantic": 0.6393136977206204, - "symbol": 0.8333333333333334 - } - } - ] -} From 3b03cace495d47c5c5dfb8a06c16032d53b295cc Mon Sep 17 00:00:00 2001 From: Pringled Date: Fri, 17 Apr 2026 11:24:22 +0200 Subject: [PATCH 19/19] Regenerate benchmark results after fixing api/keyword categories --- .../{d684944531d9.json => 077d94072ef6.json} | 956 +++++++++--------- 1 file changed, 477 insertions(+), 479 deletions(-) rename benchmarks/results/{d684944531d9.json => 077d94072ef6.json} (54%) diff --git a/benchmarks/results/d684944531d9.json b/benchmarks/results/077d94072ef6.json similarity index 54% rename from benchmarks/results/d684944531d9.json rename to benchmarks/results/077d94072ef6.json index 70fd139..0804f28 100644 --- a/benchmarks/results/d684944531d9.json +++ b/benchmarks/results/077d94072ef6.json @@ -1,201 +1,199 @@ { - "sha": "d684944531d9590d662095f7252eb26dcdd7dedd", + "sha": "077d94072ef67e396a47f54c682d4be1fdfa4b6f", "model": "minishlab/potion-code-16M", "summary": { - "ndcg10": 0.8325, - "p50_ms": 0.72, - "p90_ms": 3.487, - "p95_ms": 3.928, - "p99_ms": 4.235, - "index_ms": 470.1, + "ndcg10": 0.8323, + "p50_ms": 0.725, + "p90_ms": 3.509, + "p95_ms": 3.967, + "p99_ms": 4.259, + "index_ms": 470.4, "by_category": { - "api": 0.6731, - "architecture": 0.7859, - "keyword": 0.7286, + "architecture": 0.7825, "semantic": 0.8314, - "symbol": 0.9426 + "symbol": 0.9341 } }, "by_language": { "bash": { "repos": 3, "ndcg10": 0.8283, - "p50_ms": 0.539, - "p90_ms": 0.594, - "p95_ms": 0.611, - "p99_ms": 0.628, - "index_ms": 118.4 + "p50_ms": 0.555, + "p90_ms": 0.619, + "p95_ms": 0.64, + "p99_ms": 0.655, + "index_ms": 121.3 }, "c": { "repos": 3, "ndcg10": 0.7125, - "p50_ms": 0.803, - "p90_ms": 0.934, - "p95_ms": 1.026, - "p99_ms": 1.295, - "index_ms": 1508.8 + "p50_ms": 0.833, + "p90_ms": 0.973, + "p95_ms": 1.004, + "p99_ms": 1.057, + "index_ms": 1520.3 }, "cpp": { "repos": 3, - "ndcg10": 0.9281, - "p50_ms": 0.627, - "p90_ms": 4.253, - "p95_ms": 5.242, - "p99_ms": 5.66, - "index_ms": 800.3 + "ndcg10": 0.922, + "p50_ms": 0.623, + "p90_ms": 4.246, + "p95_ms": 5.282, + "p99_ms": 5.655, + "index_ms": 776.8 }, "csharp": { "repos": 3, - "ndcg10": 0.8288, - "p50_ms": 0.789, - "p90_ms": 5.163, - "p95_ms": 6.089, - "p99_ms": 7.569, - "index_ms": 459.2 + "ndcg10": 0.824, + "p50_ms": 0.797, + "p90_ms": 5.161, + "p95_ms": 6.102, + "p99_ms": 7.602, + "index_ms": 448.5 }, "dart": { "repos": 3, "ndcg10": 0.7621, - "p50_ms": 0.601, - "p90_ms": 0.656, - "p95_ms": 0.684, - "p99_ms": 0.694, - "index_ms": 69.9 + "p50_ms": 0.607, + "p90_ms": 0.663, + "p95_ms": 0.675, + "p99_ms": 0.697, + "index_ms": 72.3 }, "elixir": { "repos": 3, "ndcg10": 0.8663, - "p50_ms": 0.569, - "p90_ms": 4.762, - "p95_ms": 5.078, - "p99_ms": 5.57, - "index_ms": 203.3 + "p50_ms": 0.573, + "p90_ms": 4.744, + "p95_ms": 5.1, + "p99_ms": 5.6, + "index_ms": 203.2 }, "go": { "repos": 3, "ndcg10": 0.8927, - "p50_ms": 0.596, - "p90_ms": 3.4, + "p50_ms": 0.6, + "p90_ms": 3.399, "p95_ms": 3.869, - "p99_ms": 4.101, - "index_ms": 156.7 + "p99_ms": 4.116, + "index_ms": 155.8 }, "haskell": { "repos": 3, - "ndcg10": 0.7451, - "p50_ms": 0.706, - "p90_ms": 0.767, - "p95_ms": 0.772, - "p99_ms": 0.811, - "index_ms": 473.3 + "ndcg10": 0.7462, + "p50_ms": 0.712, + "p90_ms": 0.784, + "p95_ms": 0.795, + "p99_ms": 0.809, + "index_ms": 474.9 }, "java": { "repos": 3, - "ndcg10": 0.8263, - "p50_ms": 1.158, - "p90_ms": 9.288, - "p95_ms": 12.907, - "p99_ms": 13.403, - "index_ms": 964.3 + "ndcg10": 0.8249, + "p50_ms": 1.132, + "p90_ms": 9.325, + "p95_ms": 12.948, + "p99_ms": 13.381, + "index_ms": 969.0 }, "javascript": { "repos": 3, - "ndcg10": 0.8923, - "p50_ms": 0.438, - "p90_ms": 1.629, - "p95_ms": 1.666, - "p99_ms": 1.67, - "index_ms": 36.1 + "ndcg10": 0.8985, + "p50_ms": 0.442, + "p90_ms": 1.667, + "p95_ms": 1.755, + "p99_ms": 1.934, + "index_ms": 33.9 }, "kotlin": { "repos": 3, "ndcg10": 0.814, - "p50_ms": 0.842, - "p90_ms": 4.434, - "p95_ms": 4.77, - "p99_ms": 5.551, - "index_ms": 244.2 + "p50_ms": 0.843, + "p90_ms": 4.427, + "p95_ms": 4.832, + "p99_ms": 5.611, + "index_ms": 235.0 }, "lua": { "repos": 3, "ndcg10": 0.8218, - "p50_ms": 0.606, - "p90_ms": 0.699, - "p95_ms": 0.737, - "p99_ms": 0.783, - "index_ms": 360.0 + "p50_ms": 0.607, + "p90_ms": 0.706, + "p95_ms": 0.732, + "p99_ms": 0.746, + "index_ms": 364.9 }, "php": { "repos": 3, "ndcg10": 0.8141, - "p50_ms": 0.931, - "p90_ms": 6.893, - "p95_ms": 6.986, - "p99_ms": 7.049, - "index_ms": 723.3 + "p50_ms": 0.928, + "p90_ms": 6.838, + "p95_ms": 6.961, + "p99_ms": 6.982, + "index_ms": 728.2 }, "python": { "repos": 9, - "ndcg10": 0.8591, - "p50_ms": 0.499, + "ndcg10": 0.8598, + "p50_ms": 0.509, "p90_ms": 3.314, - "p95_ms": 3.464, - "p99_ms": 3.718, - "index_ms": 156.8 + "p95_ms": 3.503, + "p99_ms": 3.691, + "index_ms": 154.8 }, "ruby": { "repos": 3, "ndcg10": 0.9007, - "p50_ms": 0.608, - "p90_ms": 4.414, - "p95_ms": 5.325, - "p99_ms": 5.702, - "index_ms": 100.4 + "p50_ms": 0.605, + "p90_ms": 4.554, + "p95_ms": 5.553, + "p99_ms": 5.926, + "index_ms": 100.1 }, "rust": { "repos": 3, "ndcg10": 0.8378, - "p50_ms": 0.849, - "p90_ms": 5.159, - "p95_ms": 5.529, - "p99_ms": 5.775, - "index_ms": 499.7 + "p50_ms": 0.822, + "p90_ms": 5.164, + "p95_ms": 5.562, + "p99_ms": 5.879, + "index_ms": 503.8 }, "scala": { "repos": 3, - "ndcg10": 0.8917, - "p50_ms": 0.826, - "p90_ms": 4.049, - "p95_ms": 4.189, - "p99_ms": 4.359, - "index_ms": 384.3 + "ndcg10": 0.8982, + "p50_ms": 0.822, + "p90_ms": 4.061, + "p95_ms": 4.153, + "p99_ms": 4.261, + "index_ms": 384.4 }, "swift": { "repos": 3, - "ndcg10": 0.8419, - "p50_ms": 0.713, - "p90_ms": 3.777, - "p95_ms": 3.968, - "p99_ms": 4.517, - "index_ms": 241.2 + "ndcg10": 0.8358, + "p50_ms": 0.728, + "p90_ms": 3.77, + "p95_ms": 4.013, + "p99_ms": 4.528, + "index_ms": 242.3 }, "typescript": { "repos": 3, "ndcg10": 0.7185, - "p50_ms": 0.859, - "p90_ms": 4.643, - "p95_ms": 4.723, - "p99_ms": 4.885, - "index_ms": 442.2 + "p50_ms": 0.889, + "p90_ms": 4.826, + "p95_ms": 4.897, + "p99_ms": 5.073, + "index_ms": 446.0 }, "zig": { "repos": 3, "ndcg10": 0.8685, - "p50_ms": 0.838, - "p90_ms": 0.91, - "p95_ms": 0.922, - "p99_ms": 0.959, - "index_ms": 1459.1 + "p50_ms": 0.878, + "p90_ms": 0.946, + "p95_ms": 0.96, + "p99_ms": 0.983, + "index_ms": 1472.4 } }, "repos": [ @@ -203,16 +201,16 @@ "repo": "abseil-cpp", "language": "cpp", "chunks": 3083, - "ndcg5": 0.9319537411240482, - "ndcg10": 0.9319537411240482, - "p50_ms": 0.8374374883715063, - "p90_ms": 7.6230374979786575, - "p95_ms": 7.756652087846306, - "p99_ms": 8.499964002694467, - "index_ms": 1747.7030000009108, + "ndcg5": 0.913500228802621, + "ndcg10": 0.913500228802621, + "p50_ms": 0.8288329991046339, + "p90_ms": 7.644358408288099, + "p95_ms": 7.874565255769995, + "p99_ms": 8.383480237971526, + "index_ms": 1695.0073750049341, "by_category": { "architecture": 1.0, - "semantic": 0.9426049881653976, + "semantic": 0.9180003050701615, "symbol": 0.8333333333333334 } }, @@ -222,11 +220,11 @@ "chunks": 393, "ndcg5": 0.787707118843058, "ndcg10": 0.8075975589033458, - "p50_ms": 0.5031670007156208, - "p90_ms": 0.5592547997366637, - "p95_ms": 0.5643107637297362, - "p99_ms": 0.5664957582484931, - "index_ms": 178.0741249967832, + "p50_ms": 0.5029794992879033, + "p90_ms": 0.5684624949935824, + "p95_ms": 0.598820838786196, + "p99_ms": 0.6036977711482905, + "index_ms": 166.75454200594686, "by_category": { "architecture": 0.6722706232293573, "semantic": 0.852706537461342 @@ -238,11 +236,11 @@ "chunks": 756, "ndcg5": 0.7595501987615106, "ndcg10": 0.8051055391429651, - "p50_ms": 0.5764590168837458, - "p90_ms": 3.952125000068918, - "p95_ms": 4.15354099823162, - "p99_ms": 4.528874612879008, - "index_ms": 247.71429199608974, + "p50_ms": 0.5858750082552433, + "p90_ms": 4.032541997730732, + "p95_ms": 4.340999992564321, + "p99_ms": 4.6775663970038295, + "index_ms": 242.41833400446922, "by_category": { "architecture": 0.8356195986270888, "semantic": 0.6730976812902937, @@ -255,11 +253,11 @@ "chunks": 649, "ndcg5": 0.9613147192765459, "ndcg10": 0.9613147192765459, - "p50_ms": 0.544187001651153, - "p90_ms": 4.086063100839965, - "p95_ms": 4.3714208106393935, - "p99_ms": 5.667916960956061, - "index_ms": 223.94745799829252, + "p50_ms": 0.538958513061516, + "p90_ms": 4.011783419991843, + "p95_ms": 4.366625644615852, + "p99_ms": 5.66875873308163, + "index_ms": 215.27604199945927, "by_category": { "architecture": 0.9732402630493958, "semantic": 0.9369612360347936, @@ -272,11 +270,11 @@ "chunks": 166, "ndcg5": 0.8648468052243118, "ndcg10": 0.8908186768484192, - "p50_ms": 0.6073124968679622, - "p90_ms": 2.660670186742209, - "p95_ms": 2.7588205455685966, - "p99_ms": 2.7624313029809855, - "index_ms": 61.012124991975725, + "p50_ms": 0.6152499991003424, + "p90_ms": 2.756246086210013, + "p95_ms": 2.975497588340659, + "p99_ms": 3.4415995157905845, + "index_ms": 58.68120800005272, "by_category": { "architecture": 0.6793305495640389, "semantic": 0.9355245321275762, @@ -289,11 +287,11 @@ "chunks": 509, "ndcg5": 0.7324356157188728, "ndcg10": 0.7826858855802271, - "p50_ms": 0.6214790046215057, - "p90_ms": 3.6213210842106496, - "p95_ms": 3.836960098124109, - "p99_ms": 4.01559202640783, - "index_ms": 179.42366600618698, + "p50_ms": 0.6296034989645705, + "p90_ms": 3.627721415250562, + "p95_ms": 3.6631476148613733, + "p99_ms": 4.011829532973933, + "index_ms": 177.1654589974787, "by_category": { "architecture": 0.7297596420238124, "semantic": 0.8040593595314548, @@ -306,15 +304,15 @@ "chunks": 723, "ndcg5": 0.6075207382645395, "ndcg10": 0.6574637191224815, - "p50_ms": 0.9479580039624125, - "p90_ms": 1.0611038218485191, - "p95_ms": 1.0965139619656838, - "p99_ms": 1.1360027876798995, - "index_ms": 269.27933300612494, + "p50_ms": 0.9839580015977845, + "p90_ms": 1.1318125005345792, + "p95_ms": 1.1711499988450669, + "p99_ms": 1.1962299907463603, + "index_ms": 278.2070839894004, "by_category": { - "api": 0.7153382790366966, - "keyword": 0.8261859507142916, - "semantic": 0.5836667746772907 + "architecture": 0.7153382790366966, + "semantic": 0.5836667746772907, + "symbol": 0.8261859507142916 } }, { @@ -323,11 +321,11 @@ "chunks": 48, "ndcg5": 0.9011859507142915, "ndcg10": 0.9011859507142915, - "p50_ms": 0.3439165011513978, - "p90_ms": 0.3601125004934147, - "p95_ms": 0.3675499974633567, - "p99_ms": 0.37970997946104035, - "index_ms": 17.77362497523427, + "p50_ms": 0.35145849687978625, + "p90_ms": 0.3723627974977717, + "p95_ms": 0.3865687453071587, + "p99_ms": 0.40471375075867394, + "index_ms": 20.100541994906962, "by_category": { "architecture": 0.8231227867347022, "semantic": 0.9432199620879166 @@ -339,11 +337,11 @@ "chunks": 1254, "ndcg5": 0.9132034061286296, "ndcg10": 0.9132034061286296, - "p50_ms": 1.054853986715898, - "p90_ms": 4.937574986252002, - "p95_ms": 4.967964564275462, - "p99_ms": 5.214425704034511, - "index_ms": 637.9197080095764, + "p50_ms": 0.9875210089376196, + "p90_ms": 4.95432531752158, + "p95_ms": 5.011820839717984, + "p99_ms": 5.16299775801599, + "index_ms": 629.3801249994431, "by_category": { "architecture": 0.8467132018086354, "semantic": 0.8877215315338048, @@ -356,11 +354,11 @@ "chunks": 262, "ndcg5": 0.8121926566738839, "ndcg10": 0.8342931456297593, - "p50_ms": 0.6933335098437965, - "p90_ms": 2.929341100389138, - "p95_ms": 3.120658136322163, - "p99_ms": 3.1226988247362897, - "index_ms": 101.03791698929854, + "p50_ms": 0.6947704969206825, + "p90_ms": 3.024499787716195, + "p95_ms": 3.1808037048904225, + "p99_ms": 3.2018279371550307, + "index_ms": 96.05349999037571, "by_category": { "architecture": 0.6259028523654583, "semantic": 0.9589921948412731, @@ -371,16 +369,16 @@ "repo": "circe", "language": "scala", "chunks": 192, - "ndcg5": 0.8397050301241697, - "ndcg10": 0.8397050301241697, - "p50_ms": 0.5244170024525374, - "p90_ms": 2.7519002149347216, - "p95_ms": 2.8876787982881065, - "p99_ms": 3.0701685464009643, - "index_ms": 86.58437500707805, + "ndcg5": 0.8591297799361982, + "ndcg10": 0.8591297799361982, + "p50_ms": 0.5594169779215008, + "p90_ms": 2.7055004029534757, + "p95_ms": 2.731363082421012, + "p99_ms": 2.8683726029703394, + "index_ms": 91.02870899369009, "by_category": { "architecture": 0.7261859507142916, - "semantic": 0.8475878017079786, + "semantic": 0.8811396422923916, "symbol": 1.0 } }, @@ -390,11 +388,11 @@ "chunks": 315, "ndcg5": 1.0, "ndcg10": 1.0, - "p50_ms": 0.44156248623039573, - "p90_ms": 3.193154188920744, - "p95_ms": 3.3613899067859165, - "p99_ms": 3.3666779854684137, - "index_ms": 106.83341702679172, + "p50_ms": 0.4284165188437328, + "p90_ms": 3.32115450873971, + "p95_ms": 3.3433961390983313, + "p99_ms": 3.4608792315702885, + "index_ms": 109.89029100164771, "by_category": { "architecture": 1.0, "semantic": 1.0, @@ -407,11 +405,11 @@ "chunks": 394, "ndcg5": 0.967519867361079, "ndcg10": 0.967519867361079, - "p50_ms": 0.5353749875212088, - "p90_ms": 3.573741405853072, - "p95_ms": 4.759350339008961, - "p99_ms": 5.077537268225568, - "index_ms": 149.87641701009125, + "p50_ms": 0.546520488569513, + "p90_ms": 3.5891666833777, + "p95_ms": 4.766246155486442, + "p99_ms": 5.039149236981756, + "index_ms": 147.52787500037812, "by_category": { "architecture": 1.0, "semantic": 0.94094521338378, @@ -424,11 +422,11 @@ "chunks": 3152, "ndcg5": 0.8696123574829959, "ndcg10": 0.8958857274902101, - "p50_ms": 0.9724579867906868, - "p90_ms": 8.89162500970997, - "p95_ms": 18.84879101999104, - "p99_ms": 19.196391012519598, - "index_ms": 1038.1665419845376, + "p50_ms": 0.9761250112205744, + "p90_ms": 8.967500005383044, + "p95_ms": 18.8575419888366, + "p99_ms": 19.31890841224231, + "index_ms": 1046.8531670048833, "by_category": { "architecture": 0.7216293209723186, "semantic": 0.9034794510269613, @@ -441,11 +439,11 @@ "chunks": 4444, "ndcg5": 0.5564993486741835, "ndcg10": 0.6602872366816288, - "p50_ms": 0.9318954980699345, - "p90_ms": 1.0752377886092293, - "p95_ms": 1.2176979595096789, - "p99_ms": 1.9883068004855873, - "index_ms": 1516.9905410148203, + "p50_ms": 0.976354000158608, + "p90_ms": 1.1134833126561716, + "p95_ms": 1.1474247090518475, + "p99_ms": 1.203918531537056, + "index_ms": 1525.944624998374, "by_category": { "architecture": 0.5728575877940218, "semantic": 0.7318205857714887 @@ -457,11 +455,11 @@ "chunks": 411, "ndcg5": 0.7946394630357186, "ndcg10": 0.8457831557244532, - "p50_ms": 0.5689790123142302, - "p90_ms": 3.4293621982214986, - "p95_ms": 4.560354154091332, - "p99_ms": 7.93063724180683, - "index_ms": 203.83804198354483, + "p50_ms": 0.553229489014484, + "p90_ms": 3.1310503080021603, + "p95_ms": 4.086462511622816, + "p99_ms": 7.731992511253332, + "index_ms": 161.88154101837426, "by_category": { "architecture": 0.5801175685032033, "semantic": 0.920327929761907, @@ -474,11 +472,11 @@ "chunks": 153, "ndcg5": 0.6945949461156704, "ndcg10": 0.6945949461156704, - "p50_ms": 0.5953960062470287, - "p90_ms": 0.6467125029303135, - "p95_ms": 0.68700837000506, - "p99_ms": 0.6890352806658484, - "index_ms": 61.50004197843373, + "p50_ms": 0.5910000036237761, + "p90_ms": 0.6526541808852926, + "p95_ms": 0.6720711608068086, + "p99_ms": 0.6896142222103663, + "index_ms": 60.18616698565893, "by_category": { "architecture": 0.6421082758814111, "semantic": 0.7077166136742353 @@ -490,11 +488,11 @@ "chunks": 755, "ndcg5": 0.8822031319548903, "ndcg10": 0.9009508786447862, - "p50_ms": 0.5347090191207826, - "p90_ms": 6.813016207888722, - "p95_ms": 7.165000319946556, - "p99_ms": 7.320400050375611, - "index_ms": 302.75270802667364, + "p50_ms": 0.5307499959599227, + "p90_ms": 6.834600010188296, + "p95_ms": 7.2031833027722305, + "p99_ms": 7.355703074135818, + "index_ms": 300.08620899752714, "by_category": { "architecture": 1.0, "semantic": 0.9220874569753447, @@ -507,11 +505,11 @@ "chunks": 744, "ndcg5": 0.714389356842921, "ndcg10": 0.7597867547058971, - "p50_ms": 0.8966664900071919, - "p90_ms": 3.9098666980862626, - "p95_ms": 4.661604437569624, - "p99_ms": 6.171153700270222, - "index_ms": 283.5369159874972, + "p50_ms": 0.9064374899026006, + "p90_ms": 4.080029402393849, + "p95_ms": 4.999353543098551, + "p99_ms": 6.30370429571485, + "index_ms": 262.4458329810295, "by_category": { "architecture": 0.6547543623015969, "semantic": 0.7308194290866535, @@ -524,11 +522,11 @@ "chunks": 52, "ndcg5": 0.8775325271359822, "ndcg10": 0.9108658604693156, - "p50_ms": 0.28158399800304323, - "p90_ms": 0.31161670631263405, - "p95_ms": 0.3221065504476428, - "p99_ms": 0.32878770027309656, - "index_ms": 21.74379097414203, + "p50_ms": 0.2892705088015646, + "p90_ms": 0.32750380923971534, + "p95_ms": 0.34718479582807055, + "p99_ms": 0.4177705544861964, + "index_ms": 19.9750000028871, "by_category": { "architecture": 0.8932934460687887, "semantic": 0.8964263086904791, @@ -541,11 +539,11 @@ "chunks": 597, "ndcg5": 0.7297297540684241, "ndcg10": 0.7869838171738259, - "p50_ms": 0.49683349789120257, - "p90_ms": 3.45590389915742, - "p95_ms": 3.5134065663442016, - "p99_ms": 3.659547716379165, - "index_ms": 191.84866599971429, + "p50_ms": 0.5158960120752454, + "p90_ms": 3.550083900336176, + "p95_ms": 3.5727746479096822, + "p99_ms": 3.626987723109778, + "index_ms": 192.3647919902578, "by_category": { "architecture": 0.6392000559545565, "semantic": 0.7831594939743279, @@ -556,16 +554,16 @@ "repo": "flask", "language": "python", "chunks": 291, - "ndcg5": 0.8847644106288912, - "ndcg10": 0.9039540836573546, - "p50_ms": 0.4361660103313625, - "p90_ms": 2.9130830080248415, - "p95_ms": 2.9164169973228127, - "p99_ms": 3.4968169929925357, - "index_ms": 94.89637502701953, + "ndcg5": 0.9023391842683456, + "ndcg10": 0.921528857296809, + "p50_ms": 0.4447920073289424, + "p90_ms": 2.793624997138977, + "p95_ms": 3.002292010933161, + "p99_ms": 3.515158407390118, + "index_ms": 96.16287500830367, "by_category": { "architecture": 0.8548201992475203, - "semantic": 0.9090267601883458, + "semantic": 0.9425786007727588, "symbol": 1.0 } }, @@ -575,11 +573,11 @@ "chunks": 476, "ndcg5": 0.9715338279036697, "ndcg10": 0.9715338279036697, - "p50_ms": 0.46256251516751945, - "p90_ms": 0.9179208194837015, - "p95_ms": 3.5180726044927724, - "p99_ms": 3.6015145378769375, - "index_ms": 351.95866698632017, + "p50_ms": 0.46768749598413706, + "p90_ms": 0.8212952059693678, + "p95_ms": 3.5719746359973215, + "p99_ms": 3.640627732675057, + "index_ms": 346.1054160143249, "by_category": { "architecture": 1.0, "semantic": 0.9593340398623853, @@ -592,11 +590,11 @@ "chunks": 576, "ndcg5": 0.8763658848604823, "ndcg10": 0.8763658848604823, - "p50_ms": 0.5604170000879094, - "p90_ms": 3.6956118972739205, - "p95_ms": 3.727654194517527, - "p99_ms": 4.102398029353934, - "index_ms": 219.3060840072576, + "p50_ms": 0.5581455043284222, + "p90_ms": 3.583649976644665, + "p95_ms": 3.6604666238417853, + "p99_ms": 4.10645974043291, + "index_ms": 223.8528750021942, "by_category": { "architecture": 0.9638734584787886, "semantic": 0.7949160860306287, @@ -607,16 +605,16 @@ "repo": "gson", "language": "java", "chunks": 1460, - "ndcg5": 0.850704076119467, - "ndcg10": 0.8616244479603751, - "p50_ms": 1.032250002026558, - "p90_ms": 6.000945190316998, - "p95_ms": 6.733628832444083, - "p99_ms": 7.110525766329373, - "index_ms": 480.2956249914132, + "ndcg5": 0.8466901155768763, + "ndcg10": 0.8576104874177843, + "p50_ms": 0.9703960095066577, + "p90_ms": 6.001195311546327, + "p95_ms": 6.6798568674130365, + "p99_ms": 7.073504165164194, + "index_ms": 478.8982500031125, "by_category": { "architecture": 0.677192486230418, - "semantic": 0.8523719014285831, + "semantic": 0.8443439803434017, "symbol": 1.0 } }, @@ -626,11 +624,11 @@ "chunks": 206, "ndcg5": 0.9140510731804075, "ndcg10": 0.9140510731804075, - "p50_ms": 0.6126874941401184, - "p90_ms": 2.9039293818641454, - "p95_ms": 3.0210181095753796, - "p99_ms": 3.037770021765027, - "index_ms": 72.4710829963442, + "p50_ms": 0.6020834989612922, + "p90_ms": 2.956729498691857, + "p95_ms": 3.0089273874182254, + "p99_ms": 3.041385473916307, + "index_ms": 65.15933401533403, "by_category": { "architecture": 1.0, "semantic": 0.8677708818160114, @@ -643,11 +641,11 @@ "chunks": 89, "ndcg5": 0.7566124015300086, "ndcg10": 0.784641880764834, - "p50_ms": 0.536812498467043, - "p90_ms": 0.58858749398496, - "p95_ms": 0.5971416481770575, - "p99_ms": 0.6125947157852352, - "index_ms": 34.36887499992736, + "p50_ms": 0.547791991266422, + "p90_ms": 0.582012502127327, + "p95_ms": 0.5892666435102001, + "p99_ms": 0.6123197247507051, + "index_ms": 37.57270800997503, "by_category": { "architecture": 0.75, "semantic": 0.7884909786275932 @@ -659,11 +657,11 @@ "chunks": 952, "ndcg5": 0.9221719901717009, "ndcg10": 0.9221719901717009, - "p50_ms": 0.8996039978228509, - "p90_ms": 4.458775307284668, - "p95_ms": 4.712575014855247, - "p99_ms": 4.793514989723917, - "index_ms": 428.4053340088576, + "p50_ms": 0.9176874882541597, + "p90_ms": 4.522633095621131, + "p95_ms": 4.716569404990878, + "p99_ms": 4.750547480944078, + "index_ms": 432.83587499172427, "by_category": { "architecture": 0.9732402630493958, "semantic": 0.8945513581632737, @@ -676,11 +674,11 @@ "chunks": 248, "ndcg5": 0.879316171195208, "ndcg10": 0.8890486663184692, - "p50_ms": 0.467291014501825, - "p90_ms": 2.694083988899365, - "p95_ms": 2.9445000109262764, - "p99_ms": 3.0021664104424417, - "index_ms": 83.16833400749601, + "p50_ms": 0.48129100468941033, + "p90_ms": 2.6347090024501085, + "p95_ms": 2.995792019646615, + "p99_ms": 3.084624803159386, + "index_ms": 86.85887500178069, "by_category": { "architecture": 0.8281337292123195, "semantic": 0.8747873209112909, @@ -693,11 +691,11 @@ "chunks": 4570, "ndcg5": 0.6754072534454754, "ndcg10": 0.7212470920357018, - "p50_ms": 1.4705835055792704, - "p90_ms": 12.970500596566126, - "p95_ms": 13.138202055415604, - "p99_ms": 13.903173206199424, - "index_ms": 1374.3878329987638, + "p50_ms": 1.4495830109808594, + "p90_ms": 13.007562805432826, + "p95_ms": 13.306881245807745, + "p99_ms": 13.74967623327393, + "index_ms": 1381.1816250090487, "by_category": { "architecture": 0.6403142945053555, "semantic": 0.6233581306024223, @@ -710,11 +708,11 @@ "chunks": 884, "ndcg5": 0.8780803155822425, "ndcg10": 0.8958906749376437, - "p50_ms": 0.7502085063606501, - "p90_ms": 4.396433100919239, - "p95_ms": 4.558790249575396, - "p99_ms": 5.285825255850795, - "index_ms": 300.9838750003837, + "p50_ms": 0.7357709982898086, + "p90_ms": 4.328983896994032, + "p95_ms": 4.495772591326387, + "p99_ms": 5.232054519001394, + "index_ms": 297.71074999007396, "by_category": { "architecture": 0.8102255193577976, "semantic": 0.8919383529056771, @@ -727,11 +725,11 @@ "chunks": 425, "ndcg5": 0.7385032847341471, "ndcg10": 0.7863363921346742, - "p50_ms": 0.8796664915280417, - "p90_ms": 4.99692912271712, - "p95_ms": 5.0899139532702975, - "p99_ms": 5.1962828016257845, - "index_ms": 148.18429099977948, + "p50_ms": 0.8865210111252964, + "p90_ms": 4.872666989103891, + "p95_ms": 5.0001607494778, + "p99_ms": 5.29646574956132, + "index_ms": 144.9417079857085, "by_category": { "architecture": 0.665712506739421, "semantic": 0.7238200422167912, @@ -744,11 +742,11 @@ "chunks": 6197, "ndcg5": 0.6294399888351122, "ndcg10": 0.6678420402122851, - "p50_ms": 1.2420840066624805, - "p90_ms": 14.059982981416397, - "p95_ms": 14.21233093860792, - "p99_ms": 14.267399794480298, - "index_ms": 1967.3546670237556, + "p50_ms": 1.2531874963315204, + "p90_ms": 13.804049722966738, + "p95_ms": 14.04194585775258, + "p99_ms": 14.07152275700355, + "index_ms": 1988.6437079985626, "by_category": { "architecture": 0.6041947436776243, "semantic": 0.6662830938812081, @@ -761,11 +759,11 @@ "chunks": 300, "ndcg5": 0.6371951400189322, "ndcg10": 0.6989634817893211, - "p50_ms": 0.6438124983105808, - "p90_ms": 0.7034957932773978, - "p95_ms": 0.718849695113022, - "p99_ms": 0.798903542163316, - "index_ms": 120.79566699685529, + "p50_ms": 0.6456870032707229, + "p90_ms": 0.6823410920333117, + "p95_ms": 0.6849752957350574, + "p99_ms": 0.701061472936999, + "index_ms": 115.83154200343415, "by_category": { "architecture": 0.7937228666330852, "semantic": 0.6214330760080596 @@ -777,15 +775,15 @@ "chunks": 1345, "ndcg5": 0.5778481246570202, "ndcg10": 0.6109903736184, - "p50_ms": 0.637937497231178, - "p90_ms": 0.7707627926720306, - "p95_ms": 0.8012750069610775, - "p99_ms": 0.8244550065137446, - "index_ms": 459.30829099961556, + "p50_ms": 0.6311875040410087, + "p90_ms": 0.7627499988302588, + "p95_ms": 0.7889853950473481, + "p99_ms": 0.8799634626484475, + "index_ms": 459.9294580111746, "by_category": { - "api": 0.6309297535714575, - "keyword": 0.6309297535714575, - "semantic": 0.608774886956949 + "architecture": 0.6309297535714575, + "semantic": 0.608774886956949, + "symbol": 0.6309297535714575 } }, { @@ -794,11 +792,11 @@ "chunks": 1125, "ndcg5": 0.8625205636356418, "ndcg10": 0.8695839122786332, - "p50_ms": 0.9064370096893981, - "p90_ms": 5.285308987367899, - "p95_ms": 5.645392303995322, - "p99_ms": 5.855278452800121, - "index_ms": 436.8656659789849, + "p50_ms": 0.9685624827397987, + "p90_ms": 5.381412213318982, + "p95_ms": 5.9620146013912745, + "p99_ms": 6.1237365115084685, + "index_ms": 438.20912498631515, "by_category": { "architecture": 0.622590627025877, "semantic": 0.8779239708299064, @@ -811,11 +809,11 @@ "chunks": 2156, "ndcg5": 0.9815464876785729, "ndcg10": 0.9815464876785729, - "p50_ms": 0.5848955042893067, - "p90_ms": 0.7526039087679238, - "p95_ms": 0.8464003578410484, - "p99_ms": 0.8499472800758667, - "index_ms": 778.7910829938482, + "p50_ms": 0.5754584999522194, + "p90_ms": 0.7932624808745459, + "p95_ms": 0.8019666391192004, + "p99_ms": 0.8128597162431106, + "index_ms": 793.3844999934081, "by_category": { "architecture": 1.0, "semantic": 0.9769331095982161 @@ -827,11 +825,11 @@ "chunks": 107, "ndcg5": 0.6563614357577399, "ndcg10": 0.6955916766562531, - "p50_ms": 0.4487085097935051, - "p90_ms": 2.1935087046585977, - "p95_ms": 2.281627687625587, - "p99_ms": 2.2917919466271996, - "index_ms": 40.502916992409155, + "p50_ms": 0.4668334877351299, + "p90_ms": 2.1846040908712894, + "p95_ms": 2.252278554078657, + "p99_ms": 2.2748893234529532, + "index_ms": 40.3084589925129, "by_category": { "architecture": 0.6343453280002408, "semantic": 0.7084563429888835, @@ -844,11 +842,11 @@ "chunks": 417, "ndcg5": 0.8516433990956823, "ndcg10": 0.8605053634348847, - "p50_ms": 0.9384375007357448, - "p90_ms": 3.716557688312605, - "p95_ms": 3.7255330447806045, - "p99_ms": 3.8425738032674417, - "index_ms": 130.16191599308513, + "p50_ms": 0.9274579933844507, + "p90_ms": 3.752950284979306, + "p95_ms": 3.833195846527815, + "p99_ms": 3.8342727720737457, + "index_ms": 130.6636660010554, "by_category": { "architecture": 0.619392015186447, "semantic": 0.9113147192765458, @@ -860,15 +858,15 @@ "language": "csharp", "chunks": 2152, "ndcg5": 0.7249554830799518, - "ndcg10": 0.7711268908457121, - "p50_ms": 0.8911875047488138, - "p90_ms": 6.7743048071861285, - "p95_ms": 8.062344035715796, - "p99_ms": 8.920035206829196, - "index_ms": 736.8726670101751, + "ndcg10": 0.7566736495298176, + "p50_ms": 0.8702919876668602, + "p90_ms": 6.970825017197059, + "p95_ms": 8.257966689416207, + "p99_ms": 8.950960536603814, + "index_ms": 745.3908750030678, "by_category": { "architecture": 0.8229172249923645, - "semantic": 0.6804576788145502, + "semantic": 0.6541790582401968, "symbol": 1.0 } }, @@ -878,11 +876,11 @@ "chunks": 791, "ndcg5": 0.8699118594962764, "ndcg10": 0.8808322313371845, - "p50_ms": 0.5800414946861565, - "p90_ms": 4.219433004618622, - "p95_ms": 4.449885099893436, - "p99_ms": 4.878177026985212, - "index_ms": 301.2426249915734, + "p50_ms": 0.5722290079575032, + "p90_ms": 4.273767012637109, + "p95_ms": 4.399139914312401, + "p99_ms": 4.940227980841882, + "index_ms": 289.2793339851778, "by_category": { "architecture": 0.8478663329217984, "semantic": 0.8681580296291103, @@ -895,11 +893,11 @@ "chunks": 153, "ndcg5": 0.9261859507142916, "ndcg10": 0.9261859507142916, - "p50_ms": 0.3252704773331061, - "p90_ms": 0.36100798461120576, - "p95_ms": 0.3682393129565753, - "p99_ms": 0.36871506861643866, - "index_ms": 68.26387500041164, + "p50_ms": 0.32816700695548207, + "p90_ms": 0.3530455083819106, + "p95_ms": 0.3617684211349115, + "p99_ms": 0.36268648866098374, + "index_ms": 65.55141700664535, "by_category": { "architecture": 0.8154648767857288, "semantic": 0.9384882922619097 @@ -911,11 +909,11 @@ "chunks": 3090, "ndcg5": 0.6333247437591728, "ndcg10": 0.6650429102090386, - "p50_ms": 1.2036455009365454, - "p90_ms": 1.306679518893361, - "p95_ms": 1.3137044938048348, - "p99_ms": 1.4187744975788517, - "index_ms": 1193.6048339994159, + "p50_ms": 1.2137705052737147, + "p90_ms": 1.332991395611316, + "p95_ms": 1.3356294919503853, + "p99_ms": 1.371159497066401, + "index_ms": 1204.971207975177, "by_category": { "architecture": 0.6368991050595311, "semantic": 0.6838054469753768 @@ -927,11 +925,11 @@ "chunks": 546, "ndcg5": 0.7696427696468264, "ndcg10": 0.7848567078740838, - "p50_ms": 0.5912919878028333, - "p90_ms": 4.166050418280065, - "p95_ms": 4.383233899716285, - "p99_ms": 5.277113162446767, - "index_ms": 203.6387079861015, + "p50_ms": 0.6014159880578518, + "p90_ms": 4.199699993478134, + "p95_ms": 4.508924976107662, + "p99_ms": 5.321984985494055, + "index_ms": 205.2227079984732, "by_category": { "architecture": 0.8547262294684788, "semantic": 0.8270092609025553, @@ -944,11 +942,11 @@ "chunks": 249, "ndcg5": 0.9130929753571457, "ndcg10": 0.9130929753571457, - "p50_ms": 0.5807084962725639, - "p90_ms": 3.308245487278328, - "p95_ms": 3.684324692585506, - "p99_ms": 4.11169855215121, - "index_ms": 103.56283298460767, + "p50_ms": 0.5853954935446382, + "p90_ms": 3.1964041991159324, + "p95_ms": 3.5883940639905636, + "p99_ms": 4.121945200022309, + "index_ms": 104.35420801513828, "by_category": { "architecture": 1.0, "semantic": 0.902209268112247, @@ -961,11 +959,11 @@ "chunks": 1518, "ndcg5": 0.7393950348587884, "ndcg10": 0.7605345265791209, - "p50_ms": 0.66347949905321, - "p90_ms": 5.6474999990314245, - "p95_ms": 5.889633338665591, - "p99_ms": 6.663060261635109, - "index_ms": 512.9204579861835, + "p50_ms": 0.6604795053135604, + "p90_ms": 5.447254210594111, + "p95_ms": 5.821569039835595, + "p99_ms": 5.901780218700878, + "index_ms": 490.41895900154486, "by_category": { "architecture": 0.7517473446718608, "semantic": 0.7577007889556063, @@ -978,11 +976,11 @@ "chunks": 249, "ndcg5": 0.8884601594287914, "ndcg10": 0.8884601594287914, - "p50_ms": 0.6276255153352395, - "p90_ms": 3.740016801748426, - "p95_ms": 5.105108128918799, - "p99_ms": 5.9982888147351305, - "index_ms": 98.13541700714268, + "p50_ms": 0.5929789913352579, + "p90_ms": 3.9219375932589187, + "p95_ms": 5.466704546415711, + "p99_ms": 6.389408104296305, + "index_ms": 97.69187500933185, "by_category": { "architecture": 1.0, "semantic": 0.7992282869718244, @@ -995,11 +993,11 @@ "chunks": 465, "ndcg5": 0.8788952563203779, "ndcg10": 0.8788952563203779, - "p50_ms": 0.8559999841963872, - "p90_ms": 4.400991112925114, - "p95_ms": 5.727941948862281, - "p99_ms": 5.93162117729662, - "index_ms": 171.78887498448603, + "p50_ms": 0.8620834996690974, + "p90_ms": 4.538450008840302, + "p95_ms": 5.960535441408865, + "p99_ms": 6.122574293403886, + "index_ms": 173.81158398347907, "by_category": { "architecture": 0.815634157070918, "semantic": 1.0, @@ -1012,11 +1010,11 @@ "chunks": 6289, "ndcg5": 0.8661732909393883, "ndcg10": 0.8661732909393883, - "p50_ms": 0.8404374966630712, - "p90_ms": 0.9552583971526475, - "p95_ms": 1.059665194770787, - "p99_ms": 1.072299450461287, - "index_ms": 2549.9916249827947, + "p50_ms": 0.8907290175557137, + "p90_ms": 1.0437753022415563, + "p95_ms": 1.0747333508334123, + "p99_ms": 1.085880286700558, + "index_ms": 2575.1486669760197, "by_category": { "architecture": 0.8761859507142915, "semantic": 0.8561606311644849 @@ -1026,16 +1024,16 @@ "repo": "redux", "language": "javascript", "chunks": 53, - "ndcg5": 0.8494076946336916, - "ndcg10": 0.8753031461393366, - "p50_ms": 0.425291495048441, - "p90_ms": 1.9138715113513172, - "p95_ms": 1.916686054028105, - "p99_ms": 1.9201372013776563, - "index_ms": 25.486917002126575, + "ndcg5": 0.8678612069551187, + "ndcg10": 0.8937566584607637, + "p50_ms": 0.422958008130081, + "p90_ms": 1.9178203074261546, + "p95_ms": 1.9417568444623612, + "p99_ms": 1.9424841806176119, + "index_ms": 22.948625002754852, "by_category": { "architecture": 0.756966639313657, - "semantic": 0.884918120767199, + "semantic": 0.925925925925926, "symbol": 1.0 } }, @@ -1043,16 +1041,16 @@ "repo": "requests", "language": "python", "chunks": 169, - "ndcg5": 0.9454570258581952, - "ndcg10": 0.9454570258581952, - "p50_ms": 0.41597850213292986, - "p90_ms": 2.8491586068412293, - "p95_ms": 3.164439310785383, - "p99_ms": 3.204055076930672, - "index_ms": 57.3113750142511, + "ndcg5": 0.9341423065816494, + "ndcg10": 0.9341423065816494, + "p50_ms": 0.42527100595179945, + "p90_ms": 2.9855417058570315, + "p95_ms": 3.2606377761112526, + "p99_ms": 3.366593951941468, + "index_ms": 57.89774999720976, "by_category": { "architecture": 0.9144279211792, - "semantic": 0.9385181336136883, + "semantic": 0.9102313354223237, "symbol": 1.0 } }, @@ -1062,11 +1060,11 @@ "chunks": 316, "ndcg5": 0.7920624189796882, "ndcg10": 0.8071139187628873, - "p50_ms": 0.6715630006510764, - "p90_ms": 0.7326205959543586, - "p95_ms": 0.7675548098632134, - "p99_ms": 0.7804109624703415, - "index_ms": 113.71345800580457, + "p50_ms": 0.6823959993198514, + "p90_ms": 0.7544374791905284, + "p95_ms": 0.7622937511769123, + "p99_ms": 0.7876587673672475, + "index_ms": 119.0645000024233, "by_category": { "architecture": 0.7542345811355592, "semantic": 0.8355874082545255 @@ -1078,11 +1076,11 @@ "chunks": 686, "ndcg5": 0.7523234224425189, "ndcg10": 0.7786614092900491, - "p50_ms": 0.7870420085964724, - "p90_ms": 3.3721790852723643, - "p95_ms": 3.48701604816597, - "p99_ms": 3.754536802298389, - "index_ms": 217.97037500073202, + "p50_ms": 0.8203329925891012, + "p90_ms": 3.4378000069409613, + "p95_ms": 3.5955812491010875, + "p99_ms": 3.8153162633534516, + "index_ms": 222.92145801475272, "by_category": { "architecture": 0.6934264036172708, "semantic": 0.7457583585710961, @@ -1095,11 +1093,11 @@ "chunks": 1164, "ndcg5": 0.7430676558073394, "ndcg10": 0.7755075663132924, - "p50_ms": 0.9289790032198653, - "p90_ms": 4.231132799759508, - "p95_ms": 4.694848546932917, - "p99_ms": 4.822369710018393, - "index_ms": 386.7135420150589, + "p50_ms": 0.9294374904129654, + "p90_ms": 4.370783301419579, + "p95_ms": 4.873083012353163, + "p99_ms": 4.911083014158066, + "index_ms": 386.9259159837384, "by_category": { "architecture": 0.7974500308912245, "semantic": 0.6726085028922673, @@ -1112,11 +1110,11 @@ "chunks": 68, "ndcg5": 0.9346268032608155, "ndcg10": 0.9346268032608155, - "p50_ms": 0.3409999917494133, - "p90_ms": 5.0998292019357905, - "p95_ms": 5.143152398522943, - "p99_ms": 5.1752304821275175, - "index_ms": 31.28308299346827, + "p50_ms": 0.3585210070014, + "p90_ms": 5.2018788090208545, + "p95_ms": 5.232611868996173, + "p99_ms": 5.265988775063306, + "index_ms": 28.934290981851518, "by_category": { "architecture": 0.7385072130432616, "semantic": 1.0, @@ -1129,11 +1127,11 @@ "chunks": 213, "ndcg5": 0.9360462354097291, "ndcg10": 0.945257016534361, - "p50_ms": 0.5408750148490071, - "p90_ms": 2.9259169823490083, - "p95_ms": 2.951166999991983, - "p99_ms": 3.2520006061531608, - "index_ms": 76.23216698993929, + "p50_ms": 0.570459000300616, + "p90_ms": 2.878166997106746, + "p95_ms": 2.9334589780773968, + "p99_ms": 3.3104581933002923, + "index_ms": 77.1868750161957, "by_category": { "architecture": 0.8954906679292346, "semantic": 1.0, @@ -1146,11 +1144,11 @@ "chunks": 540, "ndcg5": 0.7850340567062908, "ndcg10": 0.7850340567062908, - "p50_ms": 0.5895835056435317, - "p90_ms": 0.6421381200198084, - "p95_ms": 0.6461312528699636, - "p99_ms": 0.6994262384250759, - "index_ms": 180.27979199541733, + "p50_ms": 0.6001249857945368, + "p90_ms": 0.6422707781894134, + "p95_ms": 0.7076309484546073, + "p99_ms": 0.7235597717226483, + "index_ms": 185.51724997814745, "by_category": { "architecture": 0.8557660725862154, "semantic": 0.7469475866171005 @@ -1162,11 +1160,11 @@ "chunks": 2730, "ndcg5": 0.9459860394574093, "ndcg10": 0.9552148242963877, - "p50_ms": 0.9951874963007867, - "p90_ms": 7.626012811670081, - "p95_ms": 8.055718755349517, - "p99_ms": 8.486543740145862, - "index_ms": 932.936666009482, + "p50_ms": 0.9074164991034195, + "p90_ms": 7.492941711097957, + "p95_ms": 8.149402408162132, + "p99_ms": 8.713480472797526, + "index_ms": 947.3822079889942, "by_category": { "architecture": 0.8507160809879593, "semantic": 1.0, @@ -1179,11 +1177,11 @@ "chunks": 362, "ndcg5": 0.7517036349312507, "ndcg10": 0.7810815764501158, - "p50_ms": 0.8729584951652214, - "p90_ms": 3.3824329962953925, - "p95_ms": 3.392008043010719, - "p99_ms": 3.4383687941590324, - "index_ms": 124.96220899629407, + "p50_ms": 0.8975829987321049, + "p90_ms": 3.512270489591174, + "p95_ms": 3.5603892378276214, + "p99_ms": 3.565044251154177, + "index_ms": 126.7516250081826, "by_category": { "architecture": 0.6937431130989311, "semantic": 0.724526660601552, @@ -1194,16 +1192,16 @@ "repo": "vapor", "language": "swift", "chunks": 780, - "ndcg5": 0.7328014081758261, - "ndcg10": 0.7858329160889163, - "p50_ms": 0.8085415029199794, - "p90_ms": 3.873462192132138, - "p95_ms": 4.04652290744707, - "p99_ms": 4.128570973407477, - "index_ms": 281.66624999721535, + "ndcg5": 0.714347895854399, + "ndcg10": 0.7673794037674891, + "p50_ms": 0.8243544871220365, + "p90_ms": 3.859366389224306, + "p95_ms": 4.077123204478994, + "p99_ms": 4.099257421912625, + "index_ms": 288.58216700609773, "by_category": { "architecture": 0.42599353221896225, - "semantic": 0.8170484089372457, + "semantic": 0.790686248478064, "symbol": 1.0 } }, @@ -1213,11 +1211,11 @@ "chunks": 1079, "ndcg5": 0.6517782560805999, "ndcg10": 0.7024504745746012, - "p50_ms": 0.834312493680045, - "p90_ms": 4.676666401792318, - "p95_ms": 4.736729436262976, - "p99_ms": 4.834578699374106, - "index_ms": 365.49883300904185, + "p50_ms": 0.8783960074651986, + "p90_ms": 4.964179504895583, + "p95_ms": 5.021564898197539, + "p99_ms": 5.122612976119854, + "index_ms": 369.3518330110237, "by_category": { "architecture": 0.5291699572630004, "semantic": 0.7158172498103655, @@ -1228,16 +1226,16 @@ "repo": "xmonad", "language": "haskell", "chunks": 123, - "ndcg5": 0.7524190333255507, - "ndcg10": 0.7626381532049751, - "p50_ms": 0.4114164912607521, - "p90_ms": 0.43617500050459057, - "p95_ms": 0.43935419525951147, - "p99_ms": 0.4466380411759019, - "index_ms": 48.33058299846016, + "ndcg5": 0.7558852054218812, + "ndcg10": 0.7661043253013055, + "p50_ms": 0.42020798719022423, + "p90_ms": 0.44975028722546995, + "p95_ms": 0.4516541550401598, + "p99_ms": 0.4520972410682589, + "index_ms": 53.085833991644904, "by_category": { "architecture": 0.7998908847793088, - "semantic": 0.7378029988220858 + "semantic": 0.7435799523159697 } }, { @@ -1246,11 +1244,11 @@ "chunks": 13059, "ndcg5": 0.8696394630357187, "ndcg10": 0.8696394630357187, - "p50_ms": 1.4498959935735911, - "p90_ms": 1.5939826960675418, - "p95_ms": 1.6095059283543378, - "p99_ms": 1.6653347678948194, - "index_ms": 3733.5195839987136, + "p50_ms": 1.5533534897258505, + "p90_ms": 1.6347368946298957, + "p95_ms": 1.6436208519735374, + "p99_ms": 1.700557782605756, + "index_ms": 3760.8449169783853, "by_category": { "architecture": 0.6666666666666666, "semantic": 0.9054581918067278 @@ -1262,11 +1260,11 @@ "chunks": 99, "ndcg5": 0.9130929753571457, "ndcg10": 0.9130929753571457, - "p50_ms": 0.42841650429181755, - "p90_ms": 0.44359618914313614, - "p95_ms": 0.4559381472063251, - "p99_ms": 0.46512123342836276, - "index_ms": 54.655375017318875, + "p50_ms": 0.4285210161469877, + "p90_ms": 0.45732120343018323, + "p95_ms": 0.47131314931903034, + "p99_ms": 0.47479621425736696, + "index_ms": 51.674541988177225, "by_category": { "architecture": 1.0, "semantic": 0.9034366392857175 @@ -1278,11 +1276,11 @@ "chunks": 1300, "ndcg5": 0.8077324383928645, "ndcg10": 0.8227839381760635, - "p50_ms": 0.6357710080919787, - "p90_ms": 0.6921624968526885, - "p95_ms": 0.7011582914856263, - "p99_ms": 0.7472644760855472, - "index_ms": 588.9867910009343, + "p50_ms": 0.6527079967781901, + "p90_ms": 0.7461169880116358, + "p95_ms": 0.7652794985915534, + "p99_ms": 0.7726894886582159, + "index_ms": 604.5829160138965, "by_category": { "architecture": 0.7946985004009851, "semantic": 0.837906866208798 @@ -1294,11 +1292,11 @@ "chunks": 1777, "ndcg5": 0.6721003911969763, "ndcg10": 0.6721003911969763, - "p50_ms": 0.8692920091561973, - "p90_ms": 5.870521187898703, - "p95_ms": 6.039177696220577, - "p99_ms": 6.382601927034556, - "index_ms": 836.2260420108214, + "p50_ms": 0.8918749954318628, + "p90_ms": 6.001283889054321, + "p95_ms": 6.109603859658819, + "p99_ms": 6.531720783968921, + "index_ms": 841.8217909929808, "by_category": { "architecture": 0.6577324383928644, "semantic": 0.6393136977206204,