Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: speed up word look up. #5984

Merged
merged 3 commits into from
Jul 26, 2024
Merged

fix: speed up word look up. #5984

merged 3 commits into from
Jul 26, 2024

Conversation

Jason3S
Copy link
Collaborator

@Jason3S Jason3S commented Jul 26, 2024

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.

@github-actions github-actions bot added the fix label Jul 26, 2024
Copy link
Contributor

github-actions bot commented Jul 26, 2024

Performance Report

Daily Performance

xychart-beta
    title Files Per Second by Day
    y-axis Files per Second
    x-axis Date [Jun-28, Jun-29, Jun-30, Jul-1, Jul-2, Jul-5, Jul-6, Jul-7, Jul-8, Jul-11, Jul-12, Jul-13, Jul-14, Jul-15, Jul-16, Jul-17, Jul-19, Jul-22, Jul-23, Jul-25, Jul-26]
    bar [53.25, 54.88, 55.38, 53.96, 53.38, 53.29, 54.69, 54.15, 52.68, 52.74, 53.48, 58.79, 58.57, 57.68, 58.00, 58.84, 59.26, 58.68, 58.17, 57.75, 59.61]
    line [37.20, 36.77, 36.10, 36.00, 35.56, 34.93, 36.70, 36.34, 0.00, 34.76, 36.63, 37.65, 38.19, 37.44, 36.08, 36.17, 36.80, 36.33, 33.86, 36.85, 37.77]
    line [7.25, 7.16, 6.89, 7.22, 7.04, 7.03, 6.91, 7.06, 0.00, 7.05, 6.73, 7.02, 7.16, 6.36, 6.65, 7.05, 6.66, 6.84, 6.55, 7.13, 7.15]
    line [18.25, 23.79, 20.94, 23.87, 23.33, 23.15, 23.48, 22.48, 0.00, 21.53, 21.55, 23.37, 23.45, 21.90, 22.54, 22.12, 21.29, 22.30, 22.15, 22.47, 22.47]
    line [7.37, 8.15, 8.08, 8.03, 7.91, 7.73, 7.95, 8.03, 0.00, 7.64, 7.43, 7.58, 8.03, 7.85, 7.73, 7.70, 7.98, 7.91, 8.05, 7.59, 7.45]
    line [8.42, 8.39, 8.40, 8.24, 8.28, 8.19, 8.63, 8.37, 0.00, 8.11, 8.54, 11.44, 11.22, 11.35, 11.98, 12.04, 12.02, 11.90, 11.80, 11.36, 13.55]
    line [22.06, 23.24, 23.90, 23.42, 23.19, 23.32, 23.79, 23.42, 21.93, 22.47, 23.35, 26.70, 27.10, 27.20, 27.07, 27.01, 26.92, 27.47, 26.66, 27.43, 30.97]
    line [29.25, 28.15, 31.49, 30.25, 28.83, 30.14, 31.39, 30.96, 0.00, 28.64, 28.73, 29.33, 23.74, 27.78, 29.18, 29.05, 28.29, 28.99, 28.99, 27.54, 30.39]
    line [35.63, 35.36, 36.33, 35.60, 35.86, 35.14, 36.26, 35.11, 0.00, 35.79, 35.44, 36.86, 37.32, 34.63, 36.12, 35.95, 32.06, 35.91, 34.84, 35.83, 37.74]
    line [36.83, 37.61, 37.38, 38.58, 36.99, 37.44, 37.75, 37.85, 37.02, 34.25, 36.67, 39.28, 40.59, 38.43, 40.23, 39.01, 38.80, 38.78, 39.91, 39.18, 41.18]
    line [18.72, 18.97, 19.39, 18.97, 18.75, 18.86, 19.03, 18.73, 0.00, 18.00, 18.67, 22.06, 22.60, 22.13, 22.43, 22.72, 22.55, 21.86, 22.26, 21.95, 23.43]
    line [184.19, 181.53, 174.14, 177.27, 171.99, 172.23, 173.32, 175.11, 173.39, 173.74, 172.96, 175.55, 176.84, 169.75, 180.30, 182.30, 172.62, 176.61, 176.84, 177.23, 166.69]
    line [28.95, 29.93, 30.09, 26.38, 27.87, 29.69, 29.23, 28.58, 0.00, 29.03, 28.85, 30.81, 32.04, 31.20, 31.37, 32.22, 31.48, 32.54, 32.79, 31.43, 33.73]
    line [61.36, 61.09, 62.22, 60.39, 56.87, 58.80, 61.52, 59.73, 59.67, 57.25, 59.76, 62.00, 61.78, 58.43, 59.29, 60.30, 60.91, 58.60, 59.89, 55.90, 58.62]
    line [59.90, 60.37, 58.56, 57.32, 58.13, 59.40, 62.05, 58.77, 60.69, 57.88, 57.69, 63.02, 53.69, 62.28, 61.82, 60.90, 61.88, 63.11, 62.37, 60.34, 59.14]
    line [27.26, 28.55, 28.75, 28.24, 27.65, 26.29, 28.70, 26.38, 0.00, 25.97, 25.27, 27.83, 26.89, 27.74, 26.93, 27.57, 26.61, 27.38, 24.63, 27.03, 27.61]
    line [56.90, 57.36, 56.70, 55.42, 56.02, 55.97, 59.70, 57.75, 58.20, 58.17, 58.70, 57.65, 57.74, 58.09, 58.17, 60.81, 56.08, 57.71, 56.15, 58.33, 57.64]
    line [38.21, 37.49, 37.44, 36.89, 37.54, 37.39, 37.96, 37.38, 36.33, 35.68, 36.85, 48.54, 50.30, 48.98, 50.50, 50.58, 50.04, 48.89, 47.19, 48.99, 56.90]
    line [40.33, 40.64, 41.17, 29.01, 40.13, 39.92, 40.46, 40.58, 0.00, 37.95, 39.51, 38.75, 40.71, 39.33, 38.91, 39.62, 39.09, 35.48, 38.56, 39.69, 40.26]
    line [107.90, 114.19, 115.16, 113.05, 112.31, 110.93, 115.67, 112.16, 0.00, 108.89, 113.41, 118.00, 119.52, 118.41, 117.73, 118.60, 117.23, 116.11, 111.98, 117.50, 116.92]
    line [98.87, 96.32, 94.31, 100.99, 95.12, 94.46, 101.33, 98.77, 0.00, 95.14, 96.41, 102.68, 104.85, 103.75, 103.88, 102.51, 103.73, 100.66, 99.67, 100.15, 110.97]
    line [98.44, 101.25, 102.07, 102.24, 102.81, 99.98, 103.89, 102.63, 0.00, 97.06, 99.82, 103.83, 102.51, 105.16, 106.13, 103.87, 108.61, 104.49, 106.71, 106.47, 108.24]
    line [76.37, 77.11, 78.01, 75.37, 77.05, 77.75, 78.86, 75.50, 75.57, 76.15, 76.16, 78.89, 77.81, 76.80, 76.60, 79.47, 77.66, 72.69, 77.22, 77.14, 80.01]
    line [159.21, 162.83, 162.04, 163.63, 163.52, 159.46, 166.05, 164.00, 156.23, 162.57, 160.66, 161.32, 166.06, 161.19, 163.81, 162.95, 165.02, 159.52, 161.81, 162.29, 162.50]
    line [42.91, 41.69, 43.04, 42.05, 41.34, 42.15, 42.53, 40.91, 0.00, 41.76, 42.26, 44.10, 43.14, 44.26, 44.36, 45.16, 44.64, 44.46, 43.76, 43.57, 48.07]
    line [59.87, 57.70, 61.16, 59.63, 57.22, 58.32, 59.51, 59.81, 0.00, 58.62, 57.98, 59.77, 57.87, 59.15, 59.68, 58.63, 59.31, 59.48, 60.17, 58.38, 62.14]
    line [96.78, 93.41, 95.43, 94.64, 92.95, 92.70, 93.91, 93.91, 97.14, 94.93, 90.72, 96.63, 98.76, 91.36, 94.37, 96.15, 92.49, 93.02, 94.91, 94.67, 91.55]
    line [66.90, 67.92, 66.32, 68.05, 67.42, 66.36, 68.11, 66.59, 66.07, 65.01, 66.37, 68.01, 66.96, 68.08, 66.51, 64.55, 68.39, 67.76, 67.01, 68.84, 69.25]
    line [30.23, 30.55, 31.97, 29.38, 31.00, 30.73, 31.84, 31.72, 29.65, 28.10, 30.62, 32.03, 32.73, 31.18, 31.42, 32.25, 31.34, 31.55, 31.26, 31.76, 32.88]
    line [55.26, 55.00, 53.08, 56.15, 54.34, 55.22, 55.54, 54.83, 44.51, 54.58, 53.10, 57.69, 58.02, 49.37, 56.34, 57.82, 57.11, 53.36, 57.12, 54.66, 52.81]
    line [22.73, 21.28, 23.51, 21.26, 23.21, 22.78, 22.74, 21.42, 0.00, 22.47, 21.85, 20.95, 22.33, 21.90, 22.17, 21.82, 22.83, 22.16, 22.77, 21.97, 21.65]
    line [41.97, 42.58, 42.67, 39.88, 42.39, 42.24, 42.47, 42.51, 42.43, 41.92, 43.23, 46.44, 46.62, 45.76, 46.73, 47.06, 46.97, 46.44, 46.95, 46.62, 49.86]
    line [24.54, 24.33, 25.24, 24.74, 24.93, 22.81, 25.11, 24.25, 0.00, 24.97, 24.54, 25.28, 25.22, 25.17, 25.73, 24.02, 24.64, 25.68, 23.94, 24.45, 25.23]
    line [175.70, 182.89, 195.56, 184.76, 182.13, 189.18, 176.80, 183.73, 190.06, 183.23, 187.99, 186.87, 191.51, 181.06, 186.29, 182.66, 181.46, 188.04, 184.59, 176.63, 184.28]
    line [59.90, 62.95, 63.02, 62.92, 60.05, 59.94, 61.97, 60.87, 60.86, 61.32, 60.29, 63.66, 62.24, 62.09, 63.02, 61.85, 62.54, 62.41, 61.91, 63.17, 61.89]
    line [39.73, 39.63, 39.23, 41.65, 40.80, 40.60, 42.25, 39.96, 40.88, 41.31, 41.23, 42.19, 40.16, 39.43, 41.25, 42.15, 42.27, 42.09, 40.66, 41.29, 42.44]
    line [89.95, 88.48, 91.12, 91.92, 89.67, 90.03, 85.50, 91.69, 0.00, 89.71, 88.17, 90.21, 89.66, 89.77, 90.19, 90.20, 91.21, 89.43, 86.00, 87.23, 90.09]
    line [20.27, 21.23, 21.32, 20.26, 20.95, 20.54, 21.71, 21.11, 20.98, 20.82, 21.02, 23.42, 23.84, 23.28, 22.90, 23.01, 23.33, 23.62, 22.99, 23.89, 23.77]
    line [69.13, 73.39, 75.25, 74.70, 74.82, 74.90, 72.90, 74.49, 74.41, 75.29, 74.73, 78.12, 57.67, 77.25, 78.86, 77.06, 79.95, 75.86, 77.28, 75.98, 74.52]
    line [80.87, 80.11, 80.39, 77.44, 78.37, 79.33, 78.73, 76.97, 77.95, 76.23, 77.21, 85.30, 84.52, 82.01, 82.40, 84.30, 85.12, 84.40, 82.01, 83.68, 92.86]
    line [31.81, 31.48, 31.69, 31.23, 31.21, 32.29, 33.10, 33.36, 32.59, 32.17, 32.28, 32.99, 33.06, 30.97, 32.56, 32.53, 33.35, 32.20, 33.73, 32.71, 34.04]
    line [53.36, 53.41, 52.73, 52.59, 53.15, 52.86, 54.00, 52.16, 53.40, 52.17, 53.18, 59.26, 59.79, 58.32, 59.70, 59.73, 58.39, 58.96, 57.77, 58.20, 63.09]
    line [180.00, 190.11, 183.04, 188.67, 178.03, 182.58, 173.26, 181.48, 195.68, 179.78, 183.27, 193.41, 195.82, 190.82, 192.59, 191.36, 194.71, 189.55, 188.50, 169.72, 203.47]
    line [54.66, 55.22, 54.68, 56.12, 54.84, 54.28, 55.54, 55.40, 55.26, 53.33, 55.62, 56.85, 55.92, 57.21, 57.55, 59.10, 58.76, 57.86, 55.22, 57.94, 61.31]
    line [30.09, 29.83, 30.85, 30.72, 29.91, 29.74, 30.26, 30.42, 30.03, 30.14, 29.24, 29.88, 30.92, 31.24, 29.92, 31.01, 31.27, 31.17, 30.28, 31.14, 33.42]
    line [18.14, 19.45, 19.44, 19.46, 19.02, 18.32, 19.11, 19.25, 17.58, 19.30, 19.39, 22.38, 22.18, 21.73, 22.40, 21.26, 22.23, 22.16, 22.19, 21.79, 23.85]
    line [46.13, 48.38, 49.21, 46.17, 45.76, 46.03, 47.73, 47.13, 46.28, 44.48, 45.95, 52.42, 53.07, 51.85, 50.60, 52.55, 53.42, 52.64, 52.00, 51.26, 50.58]
Loading

Time to Process Files

Repository Elapsed Min/Avg/Max SD SD Graph
AdaDoom3/AdaDoom3 7.60 8.4 / 10.3 / 13.3 1.85 ┣━●┻━━╋━━┻━━┫
alexiosc/megistos 24.88 25.2 / 28.4 / 34.4 2.59 ┣━●┻━━╋━━┻━━┫
apollographql/apollo-server 6.49 6.3 / 6.8 / 7.9 0.29 ┣━●━━╋━━┻━┫
aspnetboilerplate/aspnetboilerplate 23.43 22.5 / 23.9 / 25.7 0.80 ┣━━┻●━╋━━┻━━┫
aws-amplify/docs 35.31 35.4 / 36.9 / 49.1 1.83 ┣━━●━━╋━━┻━━┫
Azure/azure-rest-api-specs 32.19 28.5 / 31.5 / 41.2 1.71 ┣━━┻━━╋●━┻━━┫
bitjson/typescript-starter 0.89 0.8 / 0.9 / 1.1 0.05 ┣━━┻━●━┻━━┫
caddyserver/caddy 8.88 9.5 / 10.9 / 12.6 0.92 ●━━┻━━╋━━┻━━┫
canada-ca/open-source-logiciel-libre 0.98 1.0 / 1.0 / 1.2 0.06 ┣━━●━╋━┻━━┫
chef/chef 20.45 18.9 / 20.5 / 22.6 0.64 ┣━━┻━━●━━┻━━┫
django/django 44.21 46.0 / 49.7 / 55.3 2.78 ┣●━━┻━━╋━━┻━━━┫
eslint/eslint 31.41 30.0 / 31.4 / 34.2 0.89 ┣━━┻━━●━━┻━━┫
exonum/exonum 11.16 11.2 / 12.0 / 19.8 1.15 ┣━━┻●━╋━━┻━━┫
gitbucket/gitbucket 6.95 6.4 / 6.8 / 7.7 0.31 ┣━┻━━╋●━┻━┫
googleapis/google-cloud-cpp 384.58 352.7 / 389.8 / 450.4 24.59 ┣━━━┻━━●╋━━━┻━━━┫
graphql/express-graphql 0.94 0.9 / 1.0 / 1.1 0.06 ┣━━┻●╋━┻━━┫
graphql/graphql-js 5.68 5.4 / 5.7 / 6.2 0.24 ┣━┻━━●━━┻━┫
graphql/graphql-relay-js 0.92 0.9 / 1.0 / 1.2 0.06 ┣━━●━╋━┻━━┫
graphql/graphql-spec 2.01 1.8 / 1.9 / 2.2 0.08 ┣━━┻━╋━┻●━┫
iluwatar/java-design-patterns 34.80 31.1 / 33.6 / 49.2 2.94 ┣━━┻━━╋●━┻━━┫
ktaranov/sqlserver-kit 20.58 20.2 / 22.0 / 24.5 1.34 ┣━━●━━╋━━┻━━┫
liriliri/licia 8.49 7.5 / 8.1 / 8.8 0.25 ┣━┻━━╋━━┻●┫
MartinThoma/LaTeX-examples 13.00 12.6 / 13.6 / 15.7 0.54 ┣━━●━━╋━━┻━━┫
mdx-js/mdx 3.50 3.5 / 3.8 / 5.0 0.22 ┣━●━━╋━━┻━┫
microsoft/TypeScript-Website 15.69 16.3 / 17.4 / 18.9 0.65 ● ┣━━┻━━╋━━┻━━┫
MicrosoftDocs/PowerShell-Docs 80.29 84.1 / 88.4 / 108.8 3.96 ●━━━┻━━╋━━┻━━━┫
neovim/nvim-lspconfig 6.12 6.6 / 8.0 / 10.0 1.18 ┣●━┻━━╋━━┻━━┫
pagekit/pagekit 6.68 6.9 / 7.4 / 8.5 0.33 ●┣━┻━━╋━━┻━┫
php/php-src 92.36 96.6 / 106.5 / 125.2 8.39 ┣●━┻━━━╋━━━┻━━┫
plasticrake/tplink-smarthome-api 1.54 1.5 / 1.6 / 2.2 0.13 ┣━━┻●╋━┻━━┫
prettier/prettier 13.40 12.7 / 13.4 / 13.9 0.26 ┣━┻━━●━━┻━┫
pycontribs/jira 2.31 2.2 / 2.6 / 3.0 0.15 ┣●┻━━╋━━┻━┫
RustPython/RustPython 12.27 12.7 / 13.7 / 15.3 0.71 ●━━┻━━╋━━┻━━┫
shoelace-style/shoelace 7.03 6.9 / 7.4 / 8.1 0.24 ┣●┻━━╋━━┻━┫
SoftwareBrothers/admin-bro 4.81 4.5 / 4.7 / 5.1 0.16 ┣━┻━━╋━●┻━┫
sveltejs/svelte 34.36 34.9 / 37.1 / 55.0 2.76 ┣━━●━━╋━━┻━━┫
TheAlgorithms/Python 14.40 15.1 / 16.5 / 18.0 0.71 ● ┣━━┻━━╋━━┻━━┫
twbs/bootstrap 3.52 3.4 / 3.7 / 4.0 0.12 ┣●┻━━╋━━┻━┫
typescript-cheatsheets/react 2.10 2.0 / 2.1 / 2.5 0.11 ┣━━┻●╋━┻━━┫
typescript-eslint/typescript-eslint 6.80 6.3 / 6.8 / 7.5 0.24 ┣━┻━━●━━┻━┫
w3c/aria-practices 9.35 9.1 / 9.7 / 10.4 0.28 ┣━●━━╋━━┻━┫
w3c/specberus 2.89 2.8 / 3.0 / 3.2 0.08 ┣━●┻━╋━┻━━┫
webdeveric/webpack-assets-manifest 0.88 0.8 / 0.9 / 1.0 0.05 ┣━━┻━╋●┻━━┫
webpack/webpack 12.04 11.7 / 12.1 / 13.2 0.30 ┣━━┻━●╋━━┻━━┫
wireapp/wire-desktop 1.31 1.3 / 1.4 / 1.6 0.06 ┣━━●━╋━┻━━┫
wireapp/wire-webapp 19.38 19.3 / 20.8 / 22.9 0.74 ●━━┻━━╋━━┻━━┫

Note:

  • Elapsed time is in seconds.

Files per Second over Time

Repository Files Sec Fps Rel Trend Fps N
AdaDoom3/AdaDoom3 103 7.60 13.55 31.84% ▆▆▇▆▇▆▆▆▆▆▆▇▆▆▆▆▆▆▅█ 51
alexiosc/megistos 583 24.88 23.43 13.08% ▇▇▇█▇█▆█▇▇▇▆▆▇▇▇▇▇▆█ 51
apollographql/apollo-server 245 6.49 37.77 4.20% ▆▇▇▆█▆▇▆▇▅▇▇▆▆▃▆▆▇▇▇ 52
aspnetboilerplate/aspnetboilerplate 2739 23.43 116.92 1.77% ▇▇▇█▇██▆▇▆██▅▇▅▄██▆▇ 51
aws-amplify/docs 2825 35.31 80.01 4.42% ███▇█▇▇█▇▂▇▆▇▇▇▇▇▇▇█ 54
Azure/azure-rest-api-specs 2399 32.19 74.52 -1.74% ▇▆▇▇▇▇█▇▆▇▅▆▇▇▆▇▇▇▆▆ 54
bitjson/typescript-starter 20 0.89 22.47 0.59% ▇▇█▆▆▄▇▇▇▆██▇▇▇▇▇▇█▇ 51
caddyserver/caddy 275 8.88 30.97 21.89% ▅▅▆▄▆▆▆▆▆▆▆▆▅▅▅▅▆▇▅█ 54
canada-ca/open-source-logiciel-libre 7 0.98 7.15 3.96% ▅▆███▃▆▇▇▇█▆▆▃▇▇████ 51
chef/chef 1179 20.45 57.64 0.15% ▅▇█▆▆▅▃▆▆▅▅▆▆▅▄▆▆▆▆▆ 54
django/django 2789 44.21 63.09 12.00% ▆▇▆▆▅▇▇▆▆▇▆▆▆▅▆▆▆▇▆█ 54
eslint/eslint 1944 31.41 61.89 0.02% █▆█▇▇▇▇▇▆▇▇▆█▆▆▇▇██▇ 54
exonum/exonum 421 11.16 37.74 6.53% █▇▇▇▇▇█▁█▇▇▇█▇▇▇█▇▇█ 51
gitbucket/gitbucket 411 6.95 59.14 -2.26% █▇▆▇▆▇█████▇▇█▇▇▇▇▅▆ 53
googleapis/google-cloud-cpp 19452 384.58 50.58 1.91% ▅█▆█▇█▇█▇▇▆▇█▆▇▇▇▇▆▆ 54
graphql/express-graphql 26 0.94 27.61 2.57% ▇▇██▇▇▆▇█████▃▄▇▇███ 51
graphql/graphql-js 333 5.68 58.62 -1.20% █▆▇▇███▇▇▆▇▇▄▇▆▇▆▄▄▆ 52
graphql/graphql-relay-js 28 0.92 30.39 5.25% ▇▇▇▇▇▇▄▇▇▇▆▇▇█▇▆▇▆▄█ 52
graphql/graphql-spec 15 2.01 7.45 -4.54% ▇▇▅▇▇▇██▇█▇▇▇██▇▆▅▇▅ 51
iluwatar/java-design-patterns 1838 34.80 52.81 -3.43% ▇███▇▇█▄▇▆▇▇██▇▇█▆▇▆ 54
ktaranov/sqlserver-kit 489 20.58 23.77 6.66% ▅▇▆▇▇█▆▇██▆▇█▇▇▆████ 53
liriliri/licia 1415 8.49 166.69 -5.05% ▆█▆▇▄▆▆▇▇▇▅▅▆▆▆▇▇▆▆▄ 53
MartinThoma/LaTeX-examples 1407 13.00 108.24 4.54% ▆▇▇▆▇▇▇█▇▇▆▇▅▇▇▇▇█▆▇ 51
mdx-js/mdx 144 3.50 41.18 7.69% ▇▆██▇▆█▆▇▇▆▇███▇▇▇▇█ 54
microsoft/TypeScript-Website 754 15.69 48.07 11.06% ▆▆▇▆▆▆▅▅▅▆▆▆▅▆▄▆▆▅▅█ 53
MicrosoftDocs/PowerShell-Docs 2683 80.29 33.42 9.88% ▇▆▇▇▆▇▇▇▇▇▇▇▆▅▆▆▇▇▆█ 54
neovim/nvim-lspconfig 348 6.12 56.90 29.06% ▆▇▆▆▆▆▆▆▅▆▆▆▆▆▆▄▆▆▅█ 54
pagekit/pagekit 741 6.68 110.97 11.26% ▆▆▆▆▇▆▇▆▇▄▆▆▆▅▆▆▇▅▅█ 51
php/php-src 2203 92.36 23.85 14.77% ▇▅▆▇▅▇▇▇▇▆▇▆▆▇▇▆▆▇▅█ 54
plasticrake/tplink-smarthome-api 62 1.54 40.26 3.54% █▇█▇▇▅█▇▆▇▇▅▂▆▇▇█▇▇█ 51
prettier/prettier 2177 13.40 162.50 0.26% ▆▆▆▆█▆▆▅▅▅▇▅▅▅▅▇▆▇▅▆ 54
pycontribs/jira 78 2.31 33.73 10.56% ▆▇▇▆▅▆▇▆▆▇▆▇▇▆█▆▆▅▆▇ 52
RustPython/RustPython 612 12.27 49.86 11.41% ▇▆▇▇▇▇▅▇▆▇▆▆▆▆▇▇▆▇▆█ 53
shoelace-style/shoelace 437 7.03 62.14 5.36% █▆▆▇▅▇█▇▆▇▇▆▇▇▇▇▆▅▇█ 53
SoftwareBrothers/admin-bro 440 4.81 91.55 -2.42% ▅▆██▇▅▆█▆▇▆▇▇██▆▇▇▇▆ 53
sveltejs/svelte 6992 34.36 203.47 9.09% ▇▇▇▇▇█▇▇▇▇▇▆▇▇▇▆▇▇▂█ 54
TheAlgorithms/Python 1337 14.40 92.86 14.18% ▆▆▅▆▅▆▆▇▅▆▆▅▅▆▄▅▆▅▅█ 54
twbs/bootstrap 120 3.52 34.04 5.22% ▅▇▄▆▆▆▆▄▅▅▆▄▆█▆▆▆▆▅▇ 54
typescript-cheatsheets/react 53 2.10 25.23 1.82% █▇▄▇▆▇▅▇██▆█▇▃▇██▆▅▇ 52
typescript-eslint/typescript-eslint 1253 6.80 184.28 -0.13% ▅▆▅▄▆▇▄▆▅▇▆█▆▇▅▅▄▇▃▆ 54
w3c/aria-practices 397 9.35 42.44 3.25% ▇▅▇▇█▆█▆▇█▆▇▇▇▆▄▆▆▆▇ 52
w3c/specberus 200 2.89 69.25 3.15% ▄▅▆▇██▇▇█▆▆▇██▆▆▇███ 53
webdeveric/webpack-assets-manifest 19 0.88 21.65 -2.59% ▅▅▅▆█▆▆▆▆▅▆▆▆▆▇▇▆▆▅▅ 51
webpack/webpack 1085 12.04 90.09 0.71% ▆▇▇▇▇██▇▇▆▇▇▇▄▇▆▇▇▅▇ 53
wireapp/wire-desktop 43 1.31 32.88 5.71% ▇█▇▇▆▇███▅▇▇█▇▇▆█▇▆█ 54
wireapp/wire-webapp 1188 19.38 61.31 8.72% ▆▇▇▇▆▆█▆▇▆▇▆▇▄▅▆▇▆▆█ 54

Data Throughput

Repository Files Sec Kps Rel Trend Kps N
AdaDoom3/AdaDoom3 103 7.60 287.89 20.36% ▆▆▇▆▇▆▆▆▆▆▆▇▆▆▆▆▆▆▅█ 34
alexiosc/megistos 583 24.88 184.09 7.87% ▇▇▇█▇█▆█▇▇▇▆▆▇▇▇▇▇▆█ 34
apollographql/apollo-server 245 6.49 303.82 3.54% ▆▇▇▆█▆▇▆▇▅▇▇▆▆▃▆▆▇▇▇ 35
aspnetboilerplate/aspnetboilerplate 2739 23.43 277.30 0.50% ▇▆▇█▇██▆▇▆██▅▇▅▄██▅▇ 34
aws-amplify/docs 2825 35.31 264.26 4.58% ███▇█▇▇█▇▂▇▆▇▇▇▇▇▇▇█ 36
Azure/azure-rest-api-specs 2399 32.19 211.00 -2.89% ▇▆▇▇▇▇█▇▆▇▅▆▇▇▆▆▇▇▆▆ 36
bitjson/typescript-starter 20 0.89 89.89 1.15% ▇▇█▆▆▃▇▇▇▆█▇▇▆▇▇▇▇█▇ 34
caddyserver/caddy 275 8.88 249.80 16.68% ▅▅▆▄▆▆▆▆▆▆▆▆▅▅▅▅▆▇▅█ 36
canada-ca/open-source-logiciel-libre 7 0.98 59.22 5.45% ▅▆███▃▆▇▇▇█▆▆▃▇▇████ 34
chef/chef 1179 20.45 266.83 -0.38% ▅▇█▆▆▅▃▆▆▅▅▆▆▅▄▆▆▆▆▆ 36
django/django 2789 44.21 384.00 8.84% ▆▇▆▆▅▇▇▆▆▇▆▆▆▅▆▆▆▇▆█ 36
eslint/eslint 1944 31.41 508.76 -0.66% █▆█▇▇▇▇▇▆▇▇▆█▆▆▇▇█▇▇ 36
exonum/exonum 421 11.16 360.99 6.80% █▇▇▇▇▇█▁█▇▇▇█▇▇▇█▇▇█ 34
gitbucket/gitbucket 411 6.95 267.20 -3.43% █▇▆▇▆▇█████▇▇█▇▇▇▇▅▆ 35
googleapis/google-cloud-cpp 19452 384.58 360.56 -1.00% ▅█▆█▇█▇█▇▇▆▇█▆█▇▇▇▆▆ 36
graphql/express-graphql 26 0.94 126.38 3.34% ▇▇██▇▇▆▇█████▃▄▇▇███ 34
graphql/graphql-js 333 5.68 333.61 -1.32% █▆▇▇███▇▇▆▇▇▄▇▆▇▆▄▄▆ 34
graphql/graphql-relay-js 28 0.92 119.41 6.47% ▇▇▇▇▇▇▄▇▇▇▆▇▇█▇▆▇▆▄█ 35
graphql/graphql-spec 15 2.01 273.68 -4.10% ▇▇▅▇▇▇██▇█▇▇▇██▇▆▅▇▅ 34
iluwatar/java-design-patterns 1838 34.80 162.52 -3.76% ▇███▇▇█▄▇▆▇▇██▇██▆▇▆ 36
ktaranov/sqlserver-kit 489 20.58 359.46 3.47% ▅▇▆▇▇█▆▇██▆▇█▇▇▆████ 35
liriliri/licia 1415 8.49 196.26 -5.29% ▆█▆▇▄▆▆▇▇▇▅▅▆▅▆▇▇▆▆▄ 35
MartinThoma/LaTeX-examples 1407 13.00 223.71 3.29% ▅▆▇▅▇▇▇█▇▆▆▆▄▇▆▇▇█▅▇ 34
mdx-js/mdx 144 3.50 187.58 6.57% ▇▆██▇▆█▆▇▇▆▇███▇▇▇▇█ 36
microsoft/TypeScript-Website 754 15.69 329.64 9.34% ▆▆▇▆▆▆▅▅▅▆▆▆▅▆▄▆▆▅▅█ 36
MicrosoftDocs/PowerShell-Docs 2683 80.29 340.94 9.29% ▇▆▇▇▆▇▇▇▇▇▇▇▆▅▆▆▇▇▆█ 36
neovim/nvim-lspconfig 348 6.12 149.12 19.62% ▆▇▆▆▆▆▆▆▅▆▆▆▆▆▆▄▆▆▅█ 36
pagekit/pagekit 741 6.68 231.38 9.33% ▅▆▆▅▆▆▆▆▆▃▆▆▅▄▅▅▆▄▅█ 34
php/php-src 2203 92.36 347.27 10.06% ▇▅▆▇▅▇▇▇▇▆▇▆▆▇▆▆▆▇▅█ 36
plasticrake/tplink-smarthome-api 62 1.54 217.52 4.15% █▇█▇▇▅█▇▆▇▇▅▂▆▇▇█▇▇█ 34
prettier/prettier 2177 13.40 226.70 0.31% ▆▆▆▆█▆▆▅▅▅▇▅▅▅▅▇▆▇▅▆ 36
pycontribs/jira 78 2.31 235.69 7.68% ▆▇▆▆▅▆▆▆▆▇▆▇▇▆█▆▆▅▅▇ 35
RustPython/RustPython 612 12.27 370.32 8.23% ▆▆▆▆▇▇▅▆▆▇▆▆▅▆▇▇▆▇▅█ 35
shoelace-style/shoelace 437 7.03 291.66 4.96% █▆▆▇▅▆█▇▆▆▇▆▇▇▇▇▆▅▇█ 36
SoftwareBrothers/admin-bro 440 4.81 201.82 -2.32% ▅▆██▇▅▆█▆▇▆▇▇██▆▇▇▇▆ 35
sveltejs/svelte 6992 34.36 151.23 7.84% ▇▇▇▇▇█▇▇▇▇▇▆▇▇▇▆▇▇▂█ 36
TheAlgorithms/Python 1337 14.40 236.13 12.20% ▆▆▅▆▅▆▆▇▅▆▆▅▅▆▄▅▆▅▅█ 36
twbs/bootstrap 120 3.52 272.63 4.72% ▅▇▄▆▆▆▆▄▅▅▆▄▆█▆▆▆▆▅▇ 36
typescript-cheatsheets/react 53 2.10 184.22 1.11% █▇▄▇▆▇▅▇██▆█▇▃▇██▆▅▇ 35
typescript-eslint/typescript-eslint 1253 6.80 923.04 -0.10% ▅▆▅▄▆▇▄▆▅▇▆█▆▇▅▅▄▇▃▆ 36
w3c/aria-practices 397 9.35 394.51 2.51% ▇▅▇▇█▆█▆▇█▆▇▇▇▆▄▆▆▆▇ 34
w3c/specberus 200 2.89 220.92 2.84% ▄▄▆▆██▇▇█▆▆▇██▆▆▇███ 35
webdeveric/webpack-assets-manifest 19 0.88 116.22 -2.05% ▅▅▅▆█▆▆▆▆▅▆▆▆▆▇▇▆▆▅▅ 34
webpack/webpack 1085 12.04 384.35 0.97% ▆▇▇▇▇██▇▇▆▇▇▇▄▇▆▇▇▅▇ 36
wireapp/wire-desktop 43 1.31 143.75 4.52% ▇█▇▇▅▇██▇▄▇▇█▇▇▆█▇▆█ 36
wireapp/wire-webapp 1188 19.38 262.68 6.68% ▆▇▇▇▇▆█▆▇▆▇▅▇▃▅▆▇▆▆█ 36

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.
```

Current:
```
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.
```
After testing, Map seems to be about 2x faster.
@Jason3S Jason3S marked this pull request as ready for review July 26, 2024 11:16
@Jason3S Jason3S merged commit 3052dbc into main Jul 26, 2024
87 checks passed
@Jason3S Jason3S deleted the dev-trie-lib branch July 26, 2024 11:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant