Skip to content

v8.13.0

Compare
Choose a tag to compare
@github-actions github-actions released this 30 Jul 11:38
· 186 commits to main since this release

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.

fix: Speed up dictionary look up. (#5983)

fix: Speed up dictionary look up. (#5983)


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(-)