From b0accd08e133032479c242ff5a2fdc80507c9b00 Mon Sep 17 00:00:00 2001 From: Pringled Date: Fri, 11 Sep 2026 09:48:13 +0200 Subject: [PATCH 1/4] perf: compute chunk line numbers with a binary search over newline offsets chunk_source counted newlines in source[:offset] for every chunk, copying and rescanning the file prefix each time, so chunking was quadratic in file size. Record newline offsets once and use bisect_left, which returns the same count. On FastAPI + pydantic (1834 files, 18873 chunks) the output is identical to the previous implementation; chunking time drops from 1623ms to 1128ms overall and from 132ms to 33ms on the largest (358KB) file. Claude-Session: https://claude.ai/code/session_01N5WnCfeaj66TgZTbqm2Zew --- src/semble/chunking/chunking.py | 8 ++++++-- tests/test_chunker.py | 11 +++++++++++ 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/src/semble/chunking/chunking.py b/src/semble/chunking/chunking.py index e9ddf71c..af1b706e 100644 --- a/src/semble/chunking/chunking.py +++ b/src/semble/chunking/chunking.py @@ -1,4 +1,6 @@ import logging +import re +from bisect import bisect_left from semble.chunking.core import chunk, chunk_lines from semble.types import Chunk @@ -22,6 +24,8 @@ def chunk_source(source: str, file_path: str, language: str | None) -> list[Chun if chunk_boundaries is None: chunk_boundaries = chunk_lines(source, _DESIRED_CHUNK_LENGTH_CHARS) + # Line numbers come from a binary search over newline offsets, so large files aren't rescanned per chunk. + newline_offsets = [match.start() for match in re.finditer("\n", source)] chunks: list[Chunk] = [] for boundary in chunk_boundaries: # Clamp to start_index so zero-length chunks don't produce an off-by-one. @@ -31,8 +35,8 @@ def chunk_source(source: str, file_path: str, language: str | None) -> list[Chun Chunk( content=text, file_path=file_path, - start_line=source[: boundary.start].count("\n") + 1, - end_line=source[:end_index].count("\n") + 1, + start_line=bisect_left(newline_offsets, boundary.start) + 1, + end_line=bisect_left(newline_offsets, end_index) + 1, language=language, ) ) diff --git a/tests/test_chunker.py b/tests/test_chunker.py index 135b3f1d..59965065 100644 --- a/tests/test_chunker.py +++ b/tests/test_chunker.py @@ -45,6 +45,17 @@ def test_chunk_source_language() -> None: chunk_line_spy.assert_called_once() +@pytest.mark.parametrize("language", [None, "python"]) +def test_chunk_source_line_numbers_match_content(language: str | None) -> None: + """chunk_source line numbers point at the lines each chunk's content comes from.""" + source = "".join(f"def f{i}():\n return {i}\n\n" for i in range(200)) + lines = source.splitlines(keepends=True) + chunks = chunk_source(source, "foo.py", language) + assert len(chunks) > 1 + for c in chunks: + assert c.content in "".join(lines[c.start_line - 1 : c.end_line]) + + def test_core_chunk_empty_input() -> None: """core.chunk returns [] for whitespace-only input.""" assert chunk(" \n", "python", 100) == [] From eb6676ad14eca3da1e37eb4dd2db9171f508a793 Mon Sep 17 00:00:00 2001 From: Pringled Date: Fri, 11 Sep 2026 11:20:39 +0200 Subject: [PATCH 2/4] feat: add --semble-only flag to the speed benchmark Lets semble's index time and query latency be re-measured without re-running the slow baselines (CodeRankEmbed alone takes minutes). Claude-Session: https://claude.ai/code/session_01N5WnCfeaj66TgZTbqm2Zew --- benchmarks/README.md | 1 + benchmarks/speed_benchmark.py | 21 ++++++++++++++++----- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/benchmarks/README.md b/benchmarks/README.md index ec0d8d59..270c3abd 100644 --- a/benchmarks/README.md +++ b/benchmarks/README.md @@ -188,6 +188,7 @@ Full runs write to `benchmarks/results/semble-hybrid-.json`. ```bash uv run python -m benchmarks.speed_benchmark +uv run python -m benchmarks.speed_benchmark --semble-only # skip the baselines ``` Writes to `benchmarks/results/speed-.json`. diff --git a/benchmarks/speed_benchmark.py b/benchmarks/speed_benchmark.py index 0e56be67..196af935 100644 --- a/benchmarks/speed_benchmark.py +++ b/benchmarks/speed_benchmark.py @@ -1,3 +1,4 @@ +import argparse import subprocess import sys import time @@ -237,6 +238,12 @@ def _build_summary(results: list[ToolResult], tools: list[str]) -> dict[str, obj def main() -> None: """Run cold-start index + query latency benchmark over a curated 1-per-language subset.""" + parser = argparse.ArgumentParser(description="Benchmark cold-start index time and query latency per language.") + parser.add_argument( + "--semble-only", action="store_true", help="Only benchmark semble (skip BM25, CodeRankEmbed, ColGREP, ripgrep)." + ) + args = parser.parse_args() + specs = available_repo_specs() all_tasks = load_tasks(repo_specs=specs) repo_tasks: dict[str, list[Task]] = {repo: [t for t in all_tasks if t.repo == repo] for repo in _REPOS} @@ -246,13 +253,15 @@ def main() -> None: load_model(DEFAULT_MODEL_NAME) # warms semble's internal model cache so repo #1 isn't penalized print(f" loaded in {(time.perf_counter() - started) * 1000:.0f}ms", file=sys.stderr) - print("Loading CodeRankEmbed...", file=sys.stderr) - started = time.perf_counter() - cre_model = _AsymmetricWrapper(SentenceTransformer(_CRE_MODEL_NAME, trust_remote_code=True, device="cpu")) - print(f" loaded in {(time.perf_counter() - started) * 1000:.0f}ms", file=sys.stderr) + cre_model = None + if not args.semble_only: + print("Loading CodeRankEmbed...", file=sys.stderr) + started = time.perf_counter() + cre_model = _AsymmetricWrapper(SentenceTransformer(_CRE_MODEL_NAME, trust_remote_code=True, device="cpu")) + print(f" loaded in {(time.perf_counter() - started) * 1000:.0f}ms", file=sys.stderr) print(file=sys.stderr) - tools = ["semble", "bm25", "coderankembed", "colgrep", "ripgrep"] + tools = ["semble"] if args.semble_only else ["semble", "bm25", "coderankembed", "colgrep", "ripgrep"] print( f"{'Repo':<22} {'Language':<14} {'Tool':<16} {'Index':>10} {'p50':>8} {'p90':>8} {'p95':>8} {'p99':>8}", @@ -272,6 +281,8 @@ def main() -> None: ) all_results.append(result) print(f"{repo:<22} {spec.language:<14} {'semble':<16} {index_ms:>8.0f}ms {_fmt_stats(result)}", file=sys.stderr) + if cre_model is None: + continue bm25_index_ms, latencies_ms = _bench_bm25(semble_index, tasks) result = ToolResult( From ecfa602dd794e353767653045ca6d7cf949781a2 Mon Sep 17 00:00:00 2001 From: Pringled Date: Fri, 11 Sep 2026 11:25:15 +0200 Subject: [PATCH 3/4] docs: update semble index time after the chunk line-number speedup Re-measured with `speed_benchmark --semble-only` at eb6676a (median of the saved runs; two runs taken under background load were ~430 ms and discarded). Semble's mean cold-start index time drops from 344 ms to 306 ms, so the CodeRankEmbed index-time claim goes from ~340x to ~380x. Query p50 stays at 0.91 ms: search is unchanged by this branch, and the re-run's 0.95 ms was machine noise. Regenerated the cold speed plot. Claude-Session: https://claude.ai/code/session_01N5WnCfeaj66TgZTbqm2Zew --- README.md | 4 +- assets/images/speed_vs_ndcg_cold.png | Bin 69500 -> 69491 bytes benchmarks/README.md | 4 +- benchmarks/plot.py | 2 +- benchmarks/results/speed-eb6676ad14ec.json | 2152 ++++++++++++++++++++ 5 files changed, 2157 insertions(+), 5 deletions(-) create mode 100644 benchmarks/results/speed-eb6676ad14ec.json diff --git a/README.md b/README.md index ed72821c..e9d12bc8 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,7 @@ -Semble is a code search library built for agents. It returns the exact code snippets they need instantly, using ~99% fewer tokens than grep+read. Indexing and searching a full codebase end-to-end takes under a second for most repos, matching the retrieval quality of a code-specialized transformer while indexing ~340x faster and querying ~17x faster (see [benchmarks](#benchmarks)). Everything runs on CPU with no API keys, GPU, or external services. Use it as an MCP server, a CLI tool via AGENTS.md, or a dedicated sub-agent, and any coding agent (Claude Code, Cursor, Codex, OpenCode, etc.) gets instant access to any repo. +Semble is a code search library built for agents. It returns the exact code snippets they need instantly, using ~99% fewer tokens than grep+read. Indexing and searching a full codebase end-to-end takes under a second for most repos, matching the retrieval quality of a code-specialized transformer while indexing ~380x faster and querying ~17x faster (see [benchmarks](#benchmarks)). Everything runs on CPU with no API keys, GPU, or external services. Use it as an MCP server, a CLI tool via AGENTS.md, or a dedicated sub-agent, and any coding agent (Claude Code, Cursor, Codex, OpenCode, etc.) gets instant access to any repo. @@ -249,7 +249,7 @@ We benchmark quality and speed across ~1,250 queries over 63 repositories in 19 -The quality benchmark (left) scores retrieval quality (NDCG@10) against total latency; semble matches the quality of the 137M-parameter [CodeRankEmbed](https://huggingface.co/nomic-ai/CodeRankEmbed) while indexing 340x faster. The token efficiency benchmark (right) measures how many tokens each method needs to reach a given recall level; semble uses 99% fewer tokens on average and hits 97% recall at only 2k tokens, while grep+read needs a full 100k context window to reach 85%. See [benchmarks](benchmarks/README.md) for per-language results, ablations, and full methodology. +The quality benchmark (left) scores retrieval quality (NDCG@10) against total latency; semble matches the quality of the 137M-parameter [CodeRankEmbed](https://huggingface.co/nomic-ai/CodeRankEmbed) while indexing 380x faster. The token efficiency benchmark (right) measures how many tokens each method needs to reach a given recall level; semble uses 99% fewer tokens on average and hits 97% recall at only 2k tokens, while grep+read needs a full 100k context window to reach 85%. See [benchmarks](benchmarks/README.md) for per-language results, ablations, and full methodology. ## How it works diff --git a/assets/images/speed_vs_ndcg_cold.png b/assets/images/speed_vs_ndcg_cold.png index 323a1a99b0b64eb6b84376cf8042933086d40f48..2d2fa5f14a111dbaf9f9640c4aa4bb9521d3b6fb 100644 GIT binary patch literal 69491 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≫~1xUnkf0Usz`X#{fOBaO2dek-GH?>lR^H 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

cH*mO9#%G0h8qNM7Q7mRxf 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 diff --git a/benchmarks/README.md b/benchmarks/README.md index 270c3abd..7501600e 100644 --- a/benchmarks/README.md +++ b/benchmarks/README.md @@ -17,7 +17,7 @@ Quality and speed across all methods. | Method | NDCG@10 | Index | Query p50 | | -------------------- | --------: | ---------: | ----------: | -| **semble** | **0.854** | **344 ms** | **0.91 ms** | +| **semble** | **0.854** | **306 ms** | **0.91 ms** | | CodeRankEmbed | 0.839 | 116 s | 16 ms | | ColGREP | 0.693 | 5.4 s | 122 ms | | BM25 | 0.673 | 47 ms | 0.17 ms | @@ -32,7 +32,7 @@ Quality and speed across all methods. | :-----------------------------------------------------------------: | :-----------------------------------------------------------------: | | _Time to first result (index + query) vs NDCG@10_ | _Query latency on a warm index vs NDCG@10_ | -semble matches the NDCG@10 of the 137M-param CodeRankEmbed while winning index time by ~340x and query latency by ~17x. +semble matches the NDCG@10 of the 137M-param CodeRankEmbed while winning index time by ~380x and query latency by ~17x. NDCG@10 is averaged across all queries. Speed numbers use one repo per language, CPU only: cold-start index time and warm query p50 (median across 5 consecutive runs). diff --git a/benchmarks/plot.py b/benchmarks/plot.py index 9ef2c07d..d177684d 100644 --- a/benchmarks/plot.py +++ b/benchmarks/plot.py @@ -96,7 +96,7 @@ class _Method(TypedDict): { "name": "semble", "ndcg10": 0.8544, - "index_ms": 343.5, + "index_ms": 305.6, "query_p50_ms": 0.91, "color": "#1a5fa8", "params_m": 16, diff --git a/benchmarks/results/speed-eb6676ad14ec.json b/benchmarks/results/speed-eb6676ad14ec.json new file mode 100644 index 00000000..58f6448c --- /dev/null +++ b/benchmarks/results/speed-eb6676ad14ec.json @@ -0,0 +1,2152 @@ +{ + "repos": [ + "nvm", + "libuv", + "nlohmann-json", + "messagepack-csharp", + "phoenix", + "gin", + "aeson", + "gson", + "axios", + "ktor", + "telescope.nvim", + "monolog", + "flask", + "rack", + "axum", + "http4s", + "alamofire", + "trpc", + "zls" + ], + "summary": { + "semble": { + "avg_index_ms": 305.6, + "avg_p50_ms": 0.95, + "avg_p90_ms": 5.38, + "avg_p95_ms": 6.8, + "avg_p99_ms": 10.07 + } + }, + "results": [ + { + "repo": "nvm", + "language": "bash", + "tool": "semble", + "index_ms": 145.0, + "p50_ms": 0.61, + "p90_ms": 0.71, + "p95_ms": 0.89, + "p99_ms": 1.27, + "latencies_ms": [ + 1.266, + 0.68, + 0.612, + 0.631, + 0.602, + 0.624, + 0.773, + 0.704, + 0.615, + 0.572, + 0.666, + 0.63, + 0.621, + 0.636, + 0.624, + 0.638, + 0.625, + 0.611, + 0.625, + 1.787, + 0.905, + 0.707, + 0.63, + 0.613, + 0.599, + 0.539, + 0.518, + 0.51, + 0.55, + 0.508, + 0.595, + 0.561, + 0.558, + 0.552, + 0.551, + 0.618, + 0.599, + 0.612, + 0.595, + 0.6, + 1.005, + 0.713, + 0.625, + 0.607, + 0.604, + 0.527, + 0.5, + 0.496, + 0.504, + 0.507, + 0.698, + 0.661, + 0.648, + 0.632, + 0.628, + 0.654, + 0.678, + 0.616, + 0.598, + 0.599, + 0.703, + 0.642, + 0.604, + 0.6, + 0.605, + 0.643, + 0.604, + 0.695, + 0.693, + 0.72, + 0.662, + 0.604, + 0.572, + 0.565, + 0.555, + 0.628, + 0.613, + 0.611, + 0.635, + 0.936, + 0.884, + 0.621, + 0.55, + 0.517, + 0.497, + 0.62, + 0.599, + 0.587, + 0.712, + 0.766, + 0.586, + 0.548, + 0.6, + 0.553, + 0.532, + 0.644, + 0.639, + 0.579, + 0.548, + 0.539 + ] + }, + { + "repo": "libuv", + "language": "c", + "tool": "semble", + "index_ms": 563.9, + "p50_ms": 0.82, + "p90_ms": 1.25, + "p95_ms": 1.49, + "p99_ms": 1.8, + "latencies_ms": [ + 1.814, + 1.411, + 1.318, + 1.255, + 1.36, + 0.792, + 0.725, + 0.713, + 0.699, + 0.705, + 1.002, + 0.895, + 0.897, + 0.923, + 0.924, + 1.799, + 1.609, + 1.552, + 1.499, + 1.485, + 0.913, + 0.956, + 0.974, + 0.931, + 0.866, + 0.812, + 0.739, + 0.72, + 0.764, + 0.761, + 0.766, + 0.681, + 0.666, + 0.663, + 0.659, + 0.955, + 0.866, + 0.846, + 0.853, + 0.882, + 0.704, + 0.625, + 0.62, + 0.608, + 0.599, + 0.753, + 0.681, + 0.68, + 0.675, + 0.733, + 1.02, + 0.972, + 0.934, + 0.896, + 0.887, + 1.019, + 0.945, + 0.947, + 0.931, + 0.942, + 1.155, + 1.05, + 1.041, + 1.012, + 1.022, + 0.82, + 0.747, + 0.751, + 0.747, + 0.718, + 0.883, + 0.815, + 0.821, + 0.825, + 0.795, + 0.59, + 0.542, + 0.524, + 0.517, + 0.512, + 1.247, + 1.124, + 1.095, + 1.13, + 1.146, + 0.856, + 0.754, + 0.732, + 0.733, + 0.759, + 0.823, + 0.73, + 0.685, + 0.671, + 0.667, + 0.892, + 0.854, + 0.789, + 0.757, + 0.775 + ] + }, + { + "repo": "nlohmann-json", + "language": "cpp", + "tool": "semble", + "index_ms": 368.5, + "p50_ms": 1.03, + "p90_ms": 5.08, + "p95_ms": 5.34, + "p99_ms": 5.86, + "latencies_ms": [ + 1.458, + 1.202, + 1.139, + 1.092, + 1.11, + 0.843, + 0.901, + 0.909, + 0.832, + 0.749, + 0.806, + 0.762, + 0.762, + 0.768, + 0.768, + 1.086, + 1.024, + 0.988, + 1.104, + 1.061, + 1.227, + 1.173, + 1.2, + 1.289, + 1.179, + 1.008, + 0.95, + 1.028, + 1.003, + 0.985, + 1.109, + 1.067, + 1.049, + 1.08, + 1.118, + 1.356, + 1.371, + 1.287, + 1.221, + 1.205, + 0.997, + 0.936, + 0.926, + 0.932, + 0.918, + 1.011, + 0.985, + 0.947, + 0.94, + 0.92, + 0.973, + 0.93, + 0.934, + 0.927, + 0.942, + 0.908, + 0.933, + 0.891, + 0.837, + 0.822, + 1.672, + 1.616, + 1.599, + 1.62, + 1.688, + 5.852, + 5.307, + 5.306, + 5.484, + 5.401, + 1.158, + 1.004, + 0.947, + 0.926, + 0.966, + 0.841, + 0.782, + 0.766, + 0.767, + 0.78, + 1.016, + 1.015, + 1.012, + 0.972, + 0.952, + 4.964, + 4.566, + 4.561, + 4.538, + 4.812, + 5.811, + 5.339, + 6.205, + 5.169, + 5.169, + 5.071, + 4.372, + 4.464, + 4.422, + 4.421 + ] + }, + { + "repo": "messagepack-csharp", + "language": "csharp", + "tool": "semble", + "index_ms": 515.0, + "p50_ms": 4.95, + "p90_ms": 7.09, + "p95_ms": 7.21, + "p99_ms": 7.46, + "latencies_ms": [ + 7.197, + 6.706, + 6.663, + 6.592, + 6.58, + 1.265, + 1.186, + 1.265, + 1.232, + 1.318, + 1.268, + 1.159, + 1.156, + 1.13, + 1.133, + 1.404, + 1.326, + 1.335, + 1.296, + 1.291, + 0.881, + 0.82, + 0.831, + 0.811, + 0.814, + 1.135, + 1.063, + 1.06, + 1.052, + 1.043, + 1.238, + 1.27, + 1.222, + 1.22, + 1.198, + 1.024, + 0.956, + 0.963, + 1.014, + 1.239, + 6.777, + 7.04, + 7.057, + 7.457, + 6.984, + 1.26, + 1.012, + 0.947, + 0.949, + 0.989, + 6.908, + 7.089, + 6.813, + 6.642, + 6.632, + 7.252, + 6.697, + 6.695, + 6.764, + 6.836, + 7.573, + 7.272, + 7.159, + 7.073, + 7.232, + 5.923, + 5.329, + 5.345, + 5.178, + 5.209, + 5.336, + 4.657, + 4.587, + 4.695, + 4.694, + 6.742, + 6.189, + 6.146, + 6.315, + 6.444, + 5.486, + 4.954, + 5.076, + 4.947, + 5.002, + 7.069, + 7.099, + 7.093, + 7.207, + 7.178, + 1.361, + 1.215, + 1.135, + 1.057, + 1.089, + 6.457, + 5.773, + 5.741, + 5.813, + 5.908 + ] + }, + { + "repo": "phoenix", + "language": "elixir", + "tool": "semble", + "index_ms": 299.1, + "p50_ms": 0.81, + "p90_ms": 5.0, + "p95_ms": 6.05, + "p99_ms": 6.7, + "latencies_ms": [ + 1.389, + 1.116, + 1.057, + 1.058, + 1.052, + 0.788, + 0.749, + 0.846, + 0.815, + 0.778, + 0.754, + 0.687, + 0.678, + 0.676, + 0.681, + 0.713, + 0.682, + 0.68, + 0.678, + 0.681, + 0.857, + 0.861, + 0.794, + 0.752, + 0.734, + 5.862, + 5.181, + 5.071, + 5.133, + 5.134, + 0.704, + 0.59, + 0.574, + 0.566, + 0.572, + 0.75, + 0.7, + 0.679, + 0.668, + 0.675, + 1.04, + 0.979, + 0.986, + 1.025, + 1.148, + 0.774, + 0.72, + 0.705, + 0.705, + 0.698, + 0.928, + 0.892, + 0.883, + 0.956, + 1.021, + 0.772, + 0.742, + 0.686, + 0.66, + 0.64, + 0.742, + 0.701, + 0.679, + 0.685, + 0.677, + 0.779, + 0.727, + 0.714, + 0.705, + 0.734, + 0.876, + 0.819, + 0.81, + 0.833, + 0.838, + 1.147, + 1.083, + 1.072, + 1.059, + 1.053, + 4.865, + 4.331, + 4.31, + 4.324, + 4.411, + 6.827, + 6.481, + 6.541, + 6.689, + 6.593, + 4.889, + 4.408, + 4.497, + 4.471, + 4.484 + ] + }, + { + "repo": "gin", + "language": "go", + "tool": "semble", + "index_ms": 285.4, + "p50_ms": 0.78, + "p90_ms": 3.64, + "p95_ms": 4.73, + "p99_ms": 5.0, + "latencies_ms": [ + 0.873, + 0.658, + 0.605, + 0.596, + 0.59, + 0.52, + 0.461, + 0.45, + 0.454, + 0.455, + 0.826, + 0.768, + 0.806, + 0.729, + 0.705, + 0.818, + 0.784, + 0.793, + 0.775, + 0.768, + 0.786, + 0.721, + 0.71, + 0.724, + 0.711, + 4.823, + 4.234, + 4.235, + 4.303, + 4.363, + 0.76, + 0.649, + 0.633, + 0.618, + 0.611, + 0.591, + 0.573, + 0.549, + 0.571, + 0.552, + 0.491, + 0.462, + 0.457, + 0.455, + 0.463, + 0.813, + 0.701, + 0.703, + 0.716, + 0.7, + 0.631, + 0.582, + 0.58, + 0.653, + 0.617, + 0.928, + 0.859, + 0.959, + 0.964, + 0.889, + 0.864, + 0.82, + 0.814, + 0.829, + 0.818, + 0.883, + 0.849, + 0.837, + 0.807, + 0.799, + 0.786, + 0.758, + 0.762, + 0.746, + 0.73, + 0.947, + 0.909, + 1.055, + 0.99, + 0.942, + 3.57, + 3.083, + 3.105, + 3.1, + 3.098, + 5.151, + 4.729, + 4.801, + 4.822, + 4.995, + 3.47, + 3.475, + 3.311, + 3.347, + 3.386, + 0.861, + 0.738, + 0.723, + 0.717, + 0.708 + ] + }, + { + "repo": "aeson", + "language": "haskell", + "tool": "semble", + "index_ms": 245.3, + "p50_ms": 4.0, + "p90_ms": 8.05, + "p95_ms": 12.74, + "p99_ms": 21.61, + "latencies_ms": [ + 1.151, + 0.945, + 0.871, + 0.878, + 0.881, + 4.996, + 4.513, + 4.432, + 4.351, + 5.325, + 4.501, + 3.923, + 3.964, + 3.85, + 3.886, + 4.536, + 3.979, + 3.933, + 4.007, + 3.994, + 4.406, + 3.998, + 4.018, + 4.013, + 4.173, + 5.01, + 4.479, + 4.427, + 4.435, + 4.539, + 4.76, + 4.037, + 3.948, + 3.939, + 3.943, + 22.004, + 21.532, + 21.484, + 21.499, + 21.607, + 5.215, + 4.678, + 4.555, + 4.583, + 4.52, + 5.135, + 4.64, + 4.708, + 4.753, + 4.654, + 4.459, + 3.916, + 3.949, + 3.918, + 3.88, + 0.758, + 0.713, + 0.759, + 0.766, + 0.724, + 0.836, + 0.8, + 0.799, + 0.816, + 0.826, + 0.791, + 0.777, + 0.752, + 0.751, + 0.758, + 4.545, + 3.92, + 3.94, + 3.868, + 3.822, + 0.862, + 0.761, + 0.747, + 0.747, + 0.738, + 12.276, + 11.468, + 11.46, + 11.741, + 11.508, + 7.67, + 6.74, + 6.703, + 6.49, + 6.606, + 0.834, + 0.727, + 0.692, + 0.71, + 0.693, + 4.51, + 4.104, + 4.154, + 4.13, + 3.966 + ] + }, + { + "repo": "gson", + "language": "java", + "tool": "semble", + "index_ms": 635.1, + "p50_ms": 1.69, + "p90_ms": 9.63, + "p95_ms": 10.72, + "p99_ms": 13.51, + "latencies_ms": [ + 14.719, + 13.503, + 13.478, + 13.297, + 13.155, + 2.041, + 1.763, + 1.699, + 1.808, + 1.896, + 1.53, + 1.424, + 1.452, + 1.488, + 1.483, + 9.511, + 8.812, + 8.756, + 8.808, + 8.923, + 7.791, + 7.471, + 7.16, + 7.146, + 7.1, + 1.691, + 1.538, + 1.529, + 1.509, + 1.555, + 1.607, + 1.494, + 1.474, + 1.451, + 1.478, + 1.362, + 1.34, + 1.297, + 1.272, + 1.257, + 1.282, + 1.382, + 1.301, + 1.205, + 1.235, + 0.979, + 0.925, + 0.905, + 0.901, + 0.888, + 1.395, + 1.327, + 1.315, + 1.355, + 1.337, + 1.393, + 1.337, + 1.26, + 1.246, + 1.244, + 1.509, + 1.496, + 1.684, + 1.481, + 1.447, + 1.618, + 1.544, + 1.535, + 1.695, + 1.617, + 1.694, + 1.687, + 1.729, + 1.696, + 1.712, + 2.032, + 2.01, + 2.005, + 1.835, + 1.895, + 9.577, + 9.082, + 8.944, + 9.118, + 8.799, + 7.719, + 7.303, + 7.72, + 7.471, + 7.271, + 10.501, + 10.413, + 10.592, + 10.061, + 10.18, + 8.617, + 7.686, + 7.697, + 7.64, + 7.529 + ] + }, + { + "repo": "axios", + "language": "javascript", + "tool": "semble", + "index_ms": 71.7, + "p50_ms": 0.67, + "p90_ms": 2.34, + "p95_ms": 2.54, + "p99_ms": 2.78, + "latencies_ms": [ + 0.892, + 0.676, + 0.652, + 0.632, + 0.617, + 0.538, + 0.499, + 0.497, + 0.49, + 0.488, + 0.688, + 0.614, + 0.593, + 0.589, + 0.578, + 0.667, + 0.62, + 0.617, + 0.627, + 0.63, + 2.849, + 2.257, + 2.208, + 2.173, + 2.258, + 2.207, + 1.732, + 1.688, + 1.641, + 1.672, + 2.781, + 2.36, + 2.347, + 2.341, + 2.373, + 0.628, + 0.563, + 0.538, + 0.532, + 0.531, + 0.603, + 0.565, + 0.558, + 0.552, + 0.56, + 0.657, + 0.642, + 0.633, + 0.641, + 0.64, + 0.63, + 0.605, + 0.572, + 0.568, + 0.565, + 0.618, + 0.592, + 0.588, + 0.586, + 0.582, + 0.706, + 0.676, + 0.68, + 0.69, + 0.673, + 0.645, + 0.686, + 0.683, + 0.658, + 0.631, + 0.593, + 0.574, + 0.56, + 0.563, + 0.57, + 0.709, + 0.701, + 0.692, + 0.693, + 0.665, + 0.746, + 0.806, + 0.779, + 0.737, + 0.726, + 2.637, + 2.178, + 2.205, + 2.253, + 2.14, + 2.535, + 2.159, + 2.184, + 2.115, + 2.141, + 2.738, + 2.323, + 2.558, + 2.417, + 2.254 + ] + }, + { + "repo": "ktor", + "language": "kotlin", + "tool": "semble", + "index_ms": 211.3, + "p50_ms": 1.15, + "p90_ms": 5.69, + "p95_ms": 6.2, + "p99_ms": 6.46, + "latencies_ms": [ + 7.132, + 6.242, + 6.303, + 6.449, + 6.332, + 1.154, + 1.047, + 1.029, + 1.043, + 1.028, + 0.889, + 0.857, + 0.836, + 0.84, + 0.838, + 1.122, + 1.058, + 1.053, + 1.065, + 1.068, + 0.992, + 0.964, + 0.959, + 0.938, + 0.94, + 0.93, + 0.935, + 0.91, + 0.974, + 1.023, + 0.85, + 0.795, + 0.788, + 0.778, + 0.78, + 0.7, + 0.68, + 0.664, + 0.687, + 0.665, + 3.462, + 3.369, + 3.411, + 3.288, + 3.279, + 0.983, + 0.899, + 0.888, + 0.892, + 0.885, + 1.116, + 1.066, + 1.048, + 1.044, + 1.041, + 5.255, + 5.273, + 5.648, + 5.379, + 5.526, + 5.563, + 5.015, + 4.97, + 5.08, + 5.132, + 4.076, + 3.631, + 3.644, + 3.662, + 3.502, + 5.347, + 5.653, + 4.91, + 4.695, + 4.828, + 4.421, + 3.833, + 3.786, + 3.575, + 3.578, + 6.197, + 6.145, + 6.095, + 6.034, + 6.019, + 1.261, + 1.194, + 1.214, + 1.204, + 1.151, + 0.964, + 0.917, + 0.904, + 0.908, + 0.908, + 4.082, + 3.566, + 3.571, + 3.644, + 3.722 + ] + }, + { + "repo": "telescope.nvim", + "language": "lua", + "tool": "semble", + "index_ms": 219.3, + "p50_ms": 0.81, + "p90_ms": 1.0, + "p95_ms": 1.32, + "p99_ms": 3.91, + "latencies_ms": [ + 1.191, + 0.962, + 0.881, + 0.885, + 0.876, + 0.898, + 0.812, + 0.774, + 0.763, + 0.758, + 0.891, + 0.857, + 1.004, + 0.909, + 0.847, + 0.917, + 0.862, + 0.847, + 0.825, + 0.84, + 1.019, + 1.062, + 0.998, + 0.95, + 0.927, + 0.933, + 0.865, + 0.867, + 0.832, + 0.856, + 0.756, + 0.688, + 0.714, + 0.801, + 0.719, + 0.861, + 0.805, + 0.793, + 0.783, + 0.786, + 0.819, + 0.77, + 0.741, + 0.743, + 0.739, + 4.498, + 3.909, + 3.906, + 3.862, + 3.823, + 0.909, + 0.869, + 0.827, + 0.807, + 0.785, + 0.831, + 0.783, + 0.764, + 0.765, + 0.764, + 0.852, + 0.788, + 0.784, + 0.911, + 0.9, + 1.022, + 0.936, + 0.92, + 0.909, + 0.911, + 0.839, + 0.797, + 0.8, + 0.798, + 0.889, + 0.81, + 0.755, + 0.736, + 0.736, + 0.736, + 0.795, + 0.771, + 0.778, + 0.767, + 0.796, + 0.81, + 0.723, + 0.779, + 0.752, + 0.711, + 0.738, + 0.688, + 0.68, + 0.683, + 0.681, + 0.843, + 0.796, + 0.757, + 0.751, + 0.75 + ] + }, + { + "repo": "monolog", + "language": "php", + "tool": "semble", + "index_ms": 195.1, + "p50_ms": 1.02, + "p90_ms": 3.59, + "p95_ms": 3.7, + "p99_ms": 4.09, + "latencies_ms": [ + 1.115, + 1.007, + 0.949, + 0.85, + 0.826, + 1.06, + 1.087, + 1.02, + 1.015, + 0.962, + 0.912, + 0.816, + 0.789, + 0.78, + 0.775, + 0.769, + 0.718, + 0.725, + 0.718, + 0.708, + 4.315, + 3.589, + 3.675, + 3.7, + 3.642, + 3.82, + 3.373, + 3.334, + 3.229, + 3.358, + 4.083, + 3.387, + 3.498, + 3.754, + 3.487, + 1.002, + 0.908, + 0.974, + 0.947, + 0.917, + 1.137, + 1.075, + 1.058, + 1.053, + 1.301, + 1.114, + 1.056, + 1.006, + 0.962, + 0.95, + 0.983, + 0.94, + 0.963, + 1.032, + 1.007, + 1.002, + 1.07, + 1.015, + 0.919, + 0.893, + 0.824, + 0.8, + 0.783, + 0.774, + 0.764, + 0.858, + 0.834, + 0.817, + 0.822, + 0.813, + 1.026, + 1.078, + 1.063, + 0.987, + 0.989, + 1.023, + 0.98, + 0.969, + 0.976, + 1.11, + 1.22, + 1.188, + 1.144, + 1.097, + 1.094, + 1.032, + 0.995, + 1.035, + 1.042, + 1.023, + 4.005, + 3.594, + 3.496, + 3.385, + 3.352, + 3.654, + 3.26, + 3.186, + 3.24, + 3.249 + ] + }, + { + "repo": "flask", + "language": "python", + "tool": "semble", + "index_ms": 139.3, + "p50_ms": 0.49, + "p90_ms": 2.47, + "p95_ms": 3.32, + "p99_ms": 3.78, + "latencies_ms": [ + 0.774, + 0.535, + 0.488, + 0.478, + 0.475, + 0.501, + 0.447, + 0.434, + 0.442, + 0.455, + 0.434, + 0.403, + 0.397, + 0.391, + 0.386, + 0.42, + 0.382, + 0.381, + 0.367, + 0.374, + 0.465, + 0.41, + 0.41, + 0.405, + 0.404, + 0.4, + 0.361, + 0.357, + 0.357, + 0.356, + 0.499, + 0.45, + 0.44, + 0.437, + 0.427, + 0.433, + 0.396, + 0.391, + 0.394, + 0.39, + 0.415, + 0.447, + 0.509, + 0.432, + 0.423, + 0.563, + 0.498, + 0.48, + 0.487, + 0.486, + 0.87, + 0.687, + 0.659, + 0.644, + 0.633, + 0.742, + 0.697, + 0.683, + 0.691, + 0.682, + 0.76, + 0.758, + 0.726, + 0.722, + 0.75, + 0.669, + 0.682, + 0.593, + 0.555, + 0.546, + 0.776, + 0.729, + 0.717, + 0.715, + 0.711, + 3.794, + 3.334, + 3.334, + 3.257, + 3.181, + 2.637, + 2.226, + 2.163, + 2.137, + 2.17, + 3.797, + 3.38, + 3.329, + 3.27, + 3.278, + 0.409, + 0.371, + 0.361, + 0.359, + 0.36, + 0.324, + 0.31, + 0.308, + 0.316, + 0.315, + 0.742, + 0.744, + 0.69, + 0.672, + 0.664 + ] + }, + { + "repo": "rack", + "language": "ruby", + "tool": "semble", + "index_ms": 125.5, + "p50_ms": 0.6, + "p90_ms": 3.71, + "p95_ms": 5.08, + "p99_ms": 5.68, + "latencies_ms": [ + 0.769, + 0.575, + 0.559, + 0.551, + 0.547, + 0.706, + 0.646, + 0.631, + 0.634, + 0.646, + 0.495, + 0.449, + 0.437, + 0.435, + 0.441, + 0.602, + 0.587, + 0.532, + 0.509, + 0.513, + 3.705, + 3.178, + 3.093, + 3.167, + 3.084, + 6.426, + 5.593, + 5.516, + 5.443, + 5.55, + 4.638, + 3.755, + 3.801, + 3.681, + 3.741, + 0.679, + 0.584, + 0.571, + 0.558, + 0.566, + 0.58, + 0.553, + 0.542, + 0.539, + 0.537, + 0.618, + 0.578, + 0.6, + 0.643, + 0.595, + 0.549, + 0.523, + 0.515, + 0.527, + 0.514, + 0.618, + 0.589, + 0.589, + 0.578, + 0.587, + 0.577, + 0.656, + 0.732, + 0.607, + 0.595, + 0.595, + 0.533, + 0.514, + 0.503, + 0.511, + 0.604, + 0.58, + 0.583, + 0.594, + 0.561, + 0.702, + 0.66, + 0.649, + 0.646, + 0.648, + 3.341, + 2.91, + 2.842, + 2.889, + 2.873, + 3.262, + 2.887, + 2.854, + 2.84, + 2.781 + ] + }, + { + "repo": "axum", + "language": "rust", + "tool": "semble", + "index_ms": 225.2, + "p50_ms": 0.92, + "p90_ms": 4.48, + "p95_ms": 4.94, + "p99_ms": 6.27, + "latencies_ms": [ + 1.193, + 0.87, + 0.821, + 0.801, + 0.805, + 0.905, + 0.853, + 0.839, + 0.962, + 0.929, + 7.176, + 6.264, + 6.248, + 6.149, + 6.041, + 0.882, + 0.768, + 0.72, + 0.692, + 0.694, + 0.671, + 0.628, + 0.642, + 0.623, + 0.632, + 0.741, + 0.696, + 0.673, + 0.673, + 0.68, + 4.861, + 4.385, + 4.397, + 4.451, + 4.475, + 1.183, + 1.057, + 1.019, + 1.071, + 1.083, + 0.841, + 0.793, + 0.774, + 0.774, + 0.78, + 0.874, + 0.827, + 0.798, + 0.803, + 0.796, + 0.882, + 0.821, + 0.785, + 0.784, + 0.789, + 3.516, + 3.452, + 3.531, + 3.414, + 3.397, + 4.88, + 4.602, + 4.58, + 4.55, + 4.432, + 4.383, + 3.909, + 3.938, + 3.808, + 3.882, + 0.904, + 0.799, + 0.771, + 0.752, + 0.759, + 0.927, + 0.899, + 0.862, + 0.952, + 0.906, + 0.697, + 0.662, + 0.651, + 0.648, + 0.641, + 3.411, + 3.407, + 3.376, + 3.384, + 3.37, + 3.561, + 3.523, + 3.619, + 3.572, + 3.46, + 3.81, + 3.761, + 3.696, + 3.664, + 3.995 + ] + }, + { + "repo": "http4s", + "language": "scala", + "tool": "semble", + "index_ms": 597.1, + "p50_ms": 5.16, + "p90_ms": 7.46, + "p95_ms": 7.87, + "p99_ms": 8.09, + "latencies_ms": [ + 7.001, + 6.007, + 6.014, + 6.008, + 5.89, + 1.139, + 1.035, + 1.012, + 1.095, + 1.122, + 5.946, + 5.565, + 5.797, + 5.67, + 5.618, + 5.67, + 5.184, + 5.214, + 5.145, + 5.295, + 1.182, + 1.073, + 0.949, + 0.917, + 0.889, + 0.886, + 0.826, + 0.822, + 0.911, + 0.852, + 8.445, + 7.914, + 7.848, + 7.956, + 7.868, + 1.063, + 0.973, + 0.963, + 0.967, + 0.968, + 0.991, + 0.965, + 0.964, + 0.977, + 1.043, + 1.088, + 1.01, + 0.987, + 0.986, + 0.995, + 6.238, + 5.878, + 5.756, + 5.778, + 5.834, + 1.166, + 1.054, + 0.981, + 0.983, + 0.97, + 7.892, + 7.774, + 7.604, + 7.457, + 7.501, + 1.168, + 1.075, + 1.069, + 1.018, + 1.116, + 8.083, + 7.368, + 7.435, + 7.37, + 7.423, + 0.889, + 0.775, + 0.751, + 0.748, + 0.748, + 6.208, + 5.686, + 5.808, + 5.686, + 5.866, + 5.322, + 5.303, + 5.367, + 5.334, + 5.262, + 5.04, + 4.983, + 5.064, + 4.935, + 5.555, + 6.14, + 5.631, + 5.544, + 5.62, + 5.787 + ] + }, + { + "repo": "alamofire", + "language": "swift", + "tool": "semble", + "index_ms": 249.5, + "p50_ms": 0.96, + "p90_ms": 4.99, + "p95_ms": 6.02, + "p99_ms": 7.17, + "latencies_ms": [ + 1.211, + 0.969, + 0.931, + 0.935, + 0.907, + 1.017, + 0.957, + 1.084, + 1.044, + 0.979, + 0.802, + 0.742, + 0.755, + 0.738, + 0.74, + 0.818, + 0.772, + 0.753, + 0.743, + 0.861, + 0.863, + 0.779, + 0.764, + 0.768, + 0.744, + 0.561, + 0.539, + 0.52, + 0.514, + 0.514, + 0.633, + 0.57, + 0.563, + 0.553, + 0.552, + 0.882, + 0.802, + 0.783, + 0.794, + 0.773, + 0.835, + 0.807, + 0.794, + 0.779, + 0.762, + 0.834, + 0.791, + 0.9, + 0.87, + 0.846, + 5.967, + 5.558, + 5.525, + 5.395, + 5.388, + 1.089, + 0.942, + 0.916, + 0.919, + 0.914, + 7.477, + 7.052, + 7.052, + 7.167, + 7.147, + 4.943, + 4.474, + 4.417, + 4.354, + 4.409, + 3.973, + 3.578, + 3.583, + 3.449, + 3.536, + 3.761, + 3.259, + 3.362, + 3.209, + 3.229, + 4.649, + 4.267, + 4.144, + 4.179, + 4.131, + 1.2, + 1.033, + 0.989, + 0.951, + 0.95, + 1.043, + 1.003, + 0.995, + 0.998, + 0.996, + 4.622, + 4.19, + 4.31, + 4.139, + 4.289 + ] + }, + { + "repo": "trpc", + "language": "typescript", + "tool": "semble", + "index_ms": 171.9, + "p50_ms": 3.03, + "p90_ms": 4.06, + "p95_ms": 4.85, + "p99_ms": 5.58, + "latencies_ms": [ + 4.816, + 4.093, + 4.007, + 3.975, + 3.986, + 0.877, + 0.894, + 0.861, + 0.881, + 0.905, + 1.008, + 0.978, + 0.953, + 0.937, + 0.948, + 3.686, + 3.58, + 3.587, + 3.702, + 3.739, + 0.989, + 0.951, + 0.921, + 0.904, + 0.896, + 0.941, + 0.919, + 0.975, + 1.005, + 0.924, + 0.797, + 0.747, + 0.738, + 0.746, + 0.726, + 1.04, + 1.015, + 1.013, + 1.048, + 1.096, + 3.501, + 3.537, + 3.55, + 3.949, + 3.858, + 3.719, + 3.631, + 3.63, + 3.762, + 3.676, + 3.835, + 3.746, + 3.777, + 3.796, + 3.696, + 1.026, + 0.964, + 0.892, + 0.858, + 0.844, + 3.537, + 3.154, + 3.098, + 3.101, + 3.207, + 3.422, + 3.026, + 2.923, + 2.986, + 2.887, + 3.486, + 3.036, + 2.99, + 2.886, + 2.928, + 3.385, + 2.823, + 2.825, + 2.677, + 2.712, + 3.275, + 2.731, + 2.749, + 2.966, + 2.76, + 5.592, + 5.584, + 5.569, + 5.425, + 5.42, + 4.139, + 4.06, + 4.096, + 4.026, + 4.148, + 3.691, + 3.771, + 3.627, + 3.659, + 3.631 + ] + }, + { + "repo": "zls", + "language": "zig", + "tool": "semble", + "index_ms": 543.1, + "p50_ms": 0.9, + "p90_ms": 1.36, + "p95_ms": 2.16, + "p99_ms": 9.18, + "latencies_ms": [ + 1.808, + 1.642, + 1.498, + 1.511, + 1.536, + 9.635, + 8.912, + 9.171, + 9.139, + 8.805, + 1.013, + 0.876, + 0.819, + 0.736, + 0.714, + 1.091, + 1.138, + 1.244, + 1.081, + 1.01, + 1.087, + 1.239, + 1.097, + 1.015, + 0.917, + 1.193, + 1.083, + 1.049, + 1.074, + 1.07, + 0.837, + 0.763, + 0.87, + 0.805, + 0.827, + 0.836, + 0.841, + 0.761, + 0.757, + 0.743, + 1.16, + 1.027, + 0.901, + 0.933, + 0.909, + 1.35, + 1.211, + 1.213, + 1.258, + 1.245, + 0.865, + 0.789, + 0.8, + 0.789, + 0.791, + 0.851, + 0.814, + 0.867, + 0.902, + 0.877, + 1.006, + 0.92, + 0.908, + 0.902, + 1.011, + 0.776, + 0.695, + 0.677, + 0.662, + 0.661, + 0.803, + 0.792, + 0.793, + 0.758, + 0.737, + 0.837, + 0.739, + 0.777, + 0.785, + 0.76, + 0.693, + 0.648, + 0.655, + 0.65, + 0.645, + 1.145, + 1.036, + 1.036, + 1.016, + 1.112, + 0.985, + 0.884, + 0.844, + 0.83, + 0.836, + 0.865, + 0.799, + 0.957, + 0.936, + 0.993 + ] + } + ] +} From 6e6a2282f3ed4f482fbfbc051e6fd55816249e1b Mon Sep 17 00:00:00 2001 From: Pringled Date: Fri, 11 Sep 2026 11:42:31 +0200 Subject: [PATCH 4/4] Bump version --- src/semble/version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/semble/version.py b/src/semble/version.py index 1ecfdcf3..4dcdc853 100644 --- a/src/semble/version.py +++ b/src/semble/version.py @@ -1,2 +1,2 @@ -__version_triple__ = (0, 5, 6) +__version_triple__ = (0, 6, 0) __version__ = ".".join(map(str, __version_triple__))