Features
Speed Improvement
On average, 8.13.0 is 1.5x - 2x faster than 8.12
Spell check the CSpell Repo: 1467 files.
Version | Time |
---|---|
8.13.0 | 9.8s |
8.12.1 | 18.0s |
8.11.0 | 18.2s |
8.10.4 | 19.0s |
feat: Improve the speed of checking text. (#6004)
feat: Improve the speed of checking text. (#6004)
After doing a bit of perf testing, it became clear that some of the Pipe function took up a decent percent of the time.
Converting Generators to Iterables resulting in a significant speed improvement.
Fixes
refactor: Use text.matchAll instead of sequenceFromRegExpMatch (#5994)
refactor: Use text.matchAll instead of sequenceFromRegExpMatch (#5994)
fix: trie lookup performance (#5985)
fix: trie lookup performance (#5985)
This is currently a place holder for per work.
Initial Perf:
File: src/perf/has.perf.ts
Running Perf Suite: trie has
✔ trie has words 7.31 ops/sec 4 iterations 546.87ms time
✔ fastTrieBlob has words 14.43 ops/sec 8 iterations 554.57ms time
✔ trieBlob has words 19.27 ops/sec 10 iterations 518.86ms time
✔ iTrieFast has words 12.64 ops/sec 7 iterations 553.83ms time
✔ iTrieBlob has words 16.79 ops/sec 9 iterations 536.03ms time
done.
File: src/perf/has.perf.ts
Running Perf Suite: dictionary has
✔ dictionary has 100k words 24.43 ops/sec 13 iterations 532.14ms time
✔ dictionary has 100k words (2nd time) 24.68 ops/sec 13 iterations 526.69ms time
✔ collection has 100k words 13.44 ops/sec 7 iterations 520.71ms time
✔ iTrie has 100k words 32.54 ops/sec 17 iterations 522.51ms time
✔ iTrie.hasWord has 100k words 33.18 ops/sec 17 iterations 512.32ms time
✔ iTrie.data has 100k words 37.27 ops/sec 19 iterations 509.79ms time
Running Perf Suite: dictionary has Not
✔ dictionary has not 100k words 6.65 ops/sec 4 iterations 601.33ms time
✔ dictionary has not 100k words (2nd time) 6.36 ops/sec 4 iterations 628.84ms time
✔ collection has not 100k words 2.57 ops/sec 2 iterations 776.87ms time
✔ iTrie has not 100k words 29.93 ops/sec 15 iterations 501.20ms time
✔ iTrie.hasWord has not 100k words 27.78 ops/sec 14 iterations 503.89ms time
✔ iTrie.data has not 100k words 33.93 ops/sec 17 iterations 500.99ms time
done.
result:
File: src/perf/has.perf.ts
Running Perf Suite: trie has
✔ trie has words 6.44 ops/sec 4 iterations 620.65ms time
✔ fastTrieBlob has words 13.74 ops/sec 7 iterations 509.65ms time
✔ trieBlob has words 19.24 ops/sec 10 iterations 519.73ms time
✔ iTrieFast has words 13.90 ops/sec 7 iterations 503.53ms time
✔ iTrieBlob has words 16.88 ops/sec 9 iterations 533.31ms time
done.
File: src/perf/has.perf.ts
Running Perf Suite: dictionary has
✔ dictionary has 100k words 25.89 ops/sec 13 iterations 502.22ms time
✔ collection has 100k words 13.81 ops/sec 7 iterations 506.81ms time
✔ collection reverse has 100k words 13.26 ops/sec 7 iterations 527.84ms time
✔ iTrie has 100k words 36.84 ops/sec 19 iterations 515.72ms time
✔ iTrie.hasWord has 100k words 33.99 ops/sec 18 iterations 529.51ms time
✔ iTrie.data has 100k words 38.55 ops/sec 20 iterations 518.75ms time
Running Perf Suite: dictionary has Not
✔ dictionary has not 100k words 6.37 ops/sec 4 iterations 627.52ms time
✔ collection has not 100k words 2.71 ops/sec 2 iterations 738.63ms time
✔ iTrie has not 100k words 28.77 ops/sec 16 iterations 556.20ms time
✔ iTrie.hasWord has not 100k words 25.99 ops/sec 13 iterations 500.14ms time
✔ iTrie.data has not 100k words 34.15 ops/sec 18 iterations 527.10ms time
done.
fix: speed up word look up. (#5984)
fix: speed up word look up. (#5984)
Start Metrics:
File: src/perf/has.perf.ts
Running Perf Suite: trie has
✔ trie has words 6.84 ops/sec 4 iterations 584.46ms time
✔ fastTrieBlob has words 13.16 ops/sec 7 iterations 531.93ms time
✔ trieBlob has words 16.89 ops/sec 9 iterations 532.98ms time
✔ iTrieFast has words 12.67 ops/sec 7 iterations 552.63ms time
✔ iTrieBlob has words 17.26 ops/sec 9 iterations 521.36ms time
done.
File: src/perf/has.perf.ts
Running Perf Suite: dictionary has
✔ dictionary has 100k words 14.98 ops/sec 8 iterations 533.90ms time
✔ dictionary has 100k words (2nd time) 15.85 ops/sec 9 iterations 567.87ms time
✔ collection has 100k words 4.98 ops/sec 3 iterations 602.34ms time
✔ iTrie has 100k words 26.74 ops/sec 14 iterations 523.57ms time
✔ iTrie.hasWord has 100k words 29.86 ops/sec 16 iterations 535.84ms time
✔ iTrie.data has 100k words 32.51 ops/sec 17 iterations 522.92ms time
Running Perf Suite: dictionary has Not
✔ dictionary has 100k words 4.96 ops/sec 3 iterations 605.42ms time
✔ dictionary has 100k words (2nd time) 5.42 ops/sec 3 iterations 553.15ms time
✔ collection has 100k words 0.40 ops/sec 1 iterations 2525.41ms time
✔ iTrie has 100k words 24.18 ops/sec 13 iterations 537.61ms time
✔ iTrie.hasWord has 100k words 23.98 ops/sec 12 iterations 500.34ms time
✔ iTrie.data has 100k words 27.89 ops/sec 14 iterations 501.99ms time
done.
In progress:
File: src/perf/has.perf.ts
Running Perf Suite: trie has
✔ trie has words 7.07 ops/sec 4 iterations 565.75ms time
✔ fastTrieBlob has words 14.51 ops/sec 8 iterations 551.21ms time
✔ trieBlob has words 18.61 ops/sec 10 iterations 537.47ms time
✔ iTrieFast has words 12.97 ops/sec 7 iterations 539.54ms time
✔ iTrieBlob has words 18.01 ops/sec 9 iterations 499.70ms time
done.
File: src/perf/has.perf.ts
Running Perf Suite: dictionary has
✔ dictionary has 100k words 23.78 ops/sec 12 iterations 504.61ms time
✔ dictionary has 100k words (2nd time) 24.79 ops/sec 13 iterations 524.47ms time
✔ collection has 100k words 12.98 ops/sec 7 iterations 539.20ms time
✔ iTrie has 100k words 33.16 ops/sec 17 iterations 512.61ms time
✔ iTrie.hasWord has 100k words 33.05 ops/sec 17 iterations 514.37ms time
✔ iTrie.data has 100k words 34.17 ops/sec 18 iterations 526.77ms time
Running Perf Suite: dictionary has Not
✔ dictionary has not 100k words 6.38 ops/sec 4 iterations 627.41ms time
✔ dictionary has not 100k words (2nd time) 6.42 ops/sec 4 iterations 623.45ms time
✔ collection has not 100k words 0.46 ops/sec 1 iterations 2193.36ms time
✔ iTrie has not 100k words 28.49 ops/sec 15 iterations 526.53ms time
✔ iTrie.hasWord has not 100k words 29.51 ops/sec 15 iterations 508.24ms time
✔ iTrie.data has not 100k words 31.32 ops/sec 16 iterations 510.82ms time
done.
Latest:
File: src/perf/has.perf.ts
Running Perf Suite: trie has
✔ trie has words 7.31 ops/sec 4 iterations 546.87ms time
✔ fastTrieBlob has words 14.43 ops/sec 8 iterations 554.57ms time
✔ trieBlob has words 19.27 ops/sec 10 iterations 518.86ms time
✔ iTrieFast has words 12.64 ops/sec 7 iterations 553.83ms time
✔ iTrieBlob has words 16.79 ops/sec 9 iterations 536.03ms time
done.
File: src/perf/has.perf.ts
Running Perf Suite: dictionary has
✔ dictionary has 100k words 24.43 ops/sec 13 iterations 532.14ms time
✔ dictionary has 100k words (2nd time) 24.68 ops/sec 13 iterations 526.69ms time
✔ collection has 100k words 13.44 ops/sec 7 iterations 520.71ms time
✔ iTrie has 100k words 32.54 ops/sec 17 iterations 522.51ms time
✔ iTrie.hasWord has 100k words 33.18 ops/sec 17 iterations 512.32ms time
✔ iTrie.data has 100k words 37.27 ops/sec 19 iterations 509.79ms time
Running Perf Suite: dictionary has Not
✔ dictionary has not 100k words 6.65 ops/sec 4 iterations 601.33ms time
✔ dictionary has not 100k words (2nd time) 6.36 ops/sec 4 iterations 628.84ms time
✔ collection has not 100k words 2.57 ops/sec 2 iterations 776.87ms time
✔ iTrie has not 100k words 29.93 ops/sec 15 iterations 501.20ms time
✔ iTrie.hasWord has not 100k words 27.78 ops/sec 14 iterations 503.89ms time
✔ iTrie.data has not 100k words 33.93 ops/sec 17 iterations 500.99ms time
done.
Dictionary Updates
fix: Workflow Bot -- Update Dictionaries (main) (#5980)
fix: Workflow Bot -- Update Dictionaries (main) (#5980)
Update Dictionaries (main)
Summary
integration-tests/snapshots/eslint/eslint/report.yaml | 6 ++----
integration-tests/snapshots/eslint/eslint/snapshot.txt | 3 +--
integration-tests/snapshots/pagekit/pagekit/report.yaml | 4 +---
integration-tests/snapshots/pagekit/pagekit/snapshot.txt | 4 +---
packages/cspell-bundled-dicts/package.json | 2 +-
pnpm-lock.yaml | 10 +++++-----
6 files changed, 11 insertions(+), 18 deletions(-)
fix: Workflow Bot -- Update Dictionaries (main) (#5978)
fix: Workflow Bot -- Update Dictionaries (main) (#5978)
Update Dictionaries (main)
Summary
.../snapshots/RustPython/RustPython/report.yaml | 3 +-
.../snapshots/RustPython/RustPython/snapshot.txt | 3 +-
.../snapshots/alexiosc/megistos/report.yaml | 3 +-
.../snapshots/alexiosc/megistos/snapshot.txt | 3 +-
.../snapshots/caddyserver/caddy/report.yaml | 3 +-
.../snapshots/caddyserver/caddy/snapshot.txt | 3 +-
.../snapshots/eslint/eslint/report.yaml | 10 ++---
.../snapshots/eslint/eslint/snapshot.txt | 16 ++++---
.../snapshots/gitbucket/gitbucket/report.yaml | 3 +-
.../snapshots/gitbucket/gitbucket/snapshot.txt | 3 +-
.../googleapis/google-cloud-cpp/report.yaml | 3 +-
.../googleapis/google-cloud-cpp/snapshot.txt | 3 +-
.../snapshots/pagekit/pagekit/report.yaml | 5 +--
.../snapshots/pagekit/pagekit/snapshot.txt | 3 +-
.../snapshots/sveltejs/svelte/report.yaml | 33 +++++++--------
.../snapshots/sveltejs/svelte/snapshot.txt | 49 +++++++++++-----------
packages/cspell-bundled-dicts/package.json | 8 ++--
pnpm-lock.yaml | 40 +++++++++---------
18 files changed, 87 insertions(+), 107 deletions(-)
fix: Workflow Bot -- Update Dictionaries (main) (#5974)
fix: Workflow Bot -- Update Dictionaries (main) (#5974)
Update Dictionaries (main)
Summary
.../snapshots/alexiosc/megistos/report.yaml | 3 +-
.../snapshots/alexiosc/megistos/snapshot.txt | 3 +-
.../aspnetboilerplate/report.yaml | 8 +---
.../aspnetboilerplate/snapshot.txt | 6 +--
.../googleapis/google-cloud-cpp/report.yaml | 3 +-
.../googleapis/google-cloud-cpp/snapshot.txt | 3 +-
.../snapshots/ktaranov/sqlserver-kit/report.yaml | 4 +-
.../snapshots/ktaranov/sqlserver-kit/snapshot.txt | 4 +-
.../microsoft/TypeScript-Website/report.yaml | 3 +-
.../microsoft/TypeScript-Website/snapshot.txt | 3 +-
.../snapshots/php/php-src/report.yaml | 4 +-
.../snapshots/php/php-src/snapshot.txt | 26 +++++------
.../snapshots/sveltejs/svelte/report.yaml | 14 +-----
.../snapshots/sveltejs/svelte/snapshot.txt | 52 +++++++++-------------
.../typescript-cheatsheets/react/report.yaml | 3 +-
.../typescript-cheatsheets/react/snapshot.txt | 3 +-
.../snapshots/wireapp/wire-webapp/report.yaml | 5 +--
.../snapshots/wireapp/wire-webapp/snapshot.txt | 3 +-
packages/cspell-bundled-dicts/package.json | 8 ++--
pnpm-lock.yaml | 40 +++++++++++------
20 files changed, 82 insertions(+), 116 deletions(-)
fix: Workflow Bot -- Update Dictionaries (main) (#5969)
fix: Workflow Bot -- Update Dictionaries (main) (#5969)
Update Dictionaries (main)
Summary
.../snapshots/neovim/nvim-lspconfig/report.yaml | 4 +--
.../snapshots/neovim/nvim-lspconfig/snapshot.txt | 6 ++--
packages/cspell-bundled-dicts/package.json | 8 ++---
pnpm-lock.yaml | 41 +++++++++++++---------
4 files changed, 31 insertions(+), 28 deletions(-)