qdk icon indicating copy to clipboard operation
qdk copied to clipboard

Use hierarchical namespaces in name resolution

Open sezna opened this issue 1 year ago • 39 comments

This PR replaces #1364

This PR introduces a feature called hierarchical namespaces, a module-like system that maintains backward compatibility. It is the foundational groundwork that will pave the way for:

  1. Naked namespaces (files without namespace declarations)
  2. Package publishing and sharing
  3. Explicit item imports
  4. Exports and re-exports
  5. and the rest of the stuff here

Key changes include:

  1. VecIdent type introduction: This abstraction over Vec<Ident> represents the new namespaces in the AST. Alternate names could be DotIdent or Path, but those names were already loaded with meaning in our codebase. I'm open to feedback on nomenclature here.
  2. NamespaceId usage: This replaces our previous flat map-style Rc<str> -> Res item tracking.
  3. NamespaceTree: This tracks the namespace hierarchy separately in low-cost data structure, and allows us to keep our basic tys and terms maps relatively untouched.
  4. Name resolution algorithm update: The algorithm in resolve.rs received a heavy facelift. Not only did I try to simplify the existing code, but I also added the required functionality to check candidate partially-opened or re-opened namespaces.

This PR maintains 100% backward compatibility with the existing resolution engine, preserving features like re-opening namespaces, shadowing semantics, merging namespaces via aliases, and absolute-path opens. It also introduces the ability to reference a function in a different namespace if its parent namespace is opened.

Additional notes:

  1. Katas used a form of shadowing that wasn't tested in our compiler. This PR adds a test for that.
  2. Pursuing #1321 could help differentiate user-facing and compiler-engineer-facing string representations of structs, which are increasingly conflated.
  3. There's potential for refactoring ast, fir, and hir to use shared generic types, reducing duplicate Ident/etc types.
  4. Completions functionality remains the same, but it's not yet aware of the ability to partially open namespaces (e.g. open Microsoft.Quantum. This will be addressed in future updates.
  5. There is a performance regression, but we are performing a full tree-traversal namespace resolution algorithm in a place where we used to just do a constant table lookup. I have optimized this as much as I believe is reasonable for now, bringing the regression down from ~40%, where it was originally, to around 5-10% based on the benchmark run.

Also closes #1336

sezna avatar Apr 23 '24 16:04 sezna

Change in memory usage detected by benchmark.

Memory Report for 53631d5b76d0e99880867ff04f5148a03f53de04

Test This Branch On Main Difference
compile core + standard lib 16680437 bytes 15969785 bytes 710652 bytes

github-actions[bot] avatar Apr 23 '24 16:04 github-actions[bot]

Benchmark for 53631d5

Click to view benchmark
Test Base PR %
Array append evaluation 338.1±2.39µs 340.1±5.08µs +0.59%
Array literal evaluation 182.6±14.59µs 177.8±3.15µs -2.63%
Array update evaluation 420.4±2.23µs 423.6±4.50µs +0.76%
Core + Standard library compilation 16.7±0.03ms 18.1±0.04ms +8.38%
Deutsch-Jozsa evaluation 5.0±0.04ms 5.0±0.05ms 0.00%
Large file parity evaluation 33.7±0.19ms 34.2±0.33ms +1.48%
Large input file compilation 11.1±0.07ms 11.7±0.11ms +5.41%
Large input file compilation (interpreter) 43.2±1.55ms 45.1±0.33ms +4.40%
Large nested iteration 32.8±0.16ms 32.8±0.13ms 0.00%
Perform Runtime Capabilities Analysis (RCA) on Deutsch-Jozsa sample 1499.4±52.36µs 1491.9±46.54µs -0.50%
Perform Runtime Capabilities Analysis (RCA) on large file sample 7.7±0.10ms 7.7±0.08ms 0.00%
Perform Runtime Capabilities Analysis (RCA) on teleport sample 1411.0±49.99µs 1404.2±28.77µs -0.48%
Perform Runtime Capabilities Analysis (RCA) on the core and std libraries 21.1±0.15ms 21.2±0.34ms +0.47%
Teleport evaluation 80.1±3.83µs 80.5±4.47µs +0.50%

github-actions[bot] avatar Apr 23 '24 17:04 github-actions[bot]

Benchmark for 7ad8296

Click to view benchmark
Test Base PR %
Array append evaluation 340.5±2.60µs 346.5±8.80µs +1.76%
Array literal evaluation 202.9±15.47µs 189.8±1.88µs -6.46%
Array update evaluation 428.2±27.77µs 431.8±9.11µs +0.84%
Core + Standard library compilation 16.8±0.14ms 18.3±0.11ms +8.93%
Deutsch-Jozsa evaluation 5.0±0.06ms 5.1±0.12ms +2.00%
Large file parity evaluation 33.5±0.09ms 34.5±0.34ms +2.99%
Large input file compilation 11.3±0.08ms 11.9±0.27ms +5.31%
Large input file compilation (interpreter) 44.0±1.23ms 46.0±1.56ms +4.55%
Large nested iteration 33.3±1.65ms 33.9±0.17ms +1.80%
Perform Runtime Capabilities Analysis (RCA) on Deutsch-Jozsa sample 1500.4±49.62µs 1486.1±51.08µs -0.95%
Perform Runtime Capabilities Analysis (RCA) on large file sample 7.7±0.14ms 7.6±0.06ms -1.30%
Perform Runtime Capabilities Analysis (RCA) on teleport sample 1405.9±27.24µs 1398.1±34.96µs -0.55%
Perform Runtime Capabilities Analysis (RCA) on the core and std libraries 21.2±0.17ms 21.2±0.85ms 0.00%
Teleport evaluation 80.6±5.58µs 82.9±8.20µs +2.85%

github-actions[bot] avatar Apr 24 '24 19:04 github-actions[bot]

Change in memory usage detected by benchmark.

Memory Report for c60fba82aea00719ee5e17ee2dacc59912193ce0

Test This Branch On Main Difference
compile core + standard lib 16680437 bytes 15969785 bytes 710652 bytes

github-actions[bot] avatar Apr 24 '24 20:04 github-actions[bot]

Benchmark for c60fba8

Click to view benchmark
Test Base PR %
Array append evaluation 338.9±5.34µs 340.1±2.25µs +0.35%
Array literal evaluation 181.2±6.47µs 170.7±1.20µs -5.79%
Array update evaluation 420.8±2.77µs 423.8±2.47µs +0.71%
Core + Standard library compilation 18.8±1.21ms 19.2±2.34ms +2.13%
Deutsch-Jozsa evaluation 5.0±0.05ms 5.0±0.03ms 0.00%
Large file parity evaluation 33.7±0.18ms 34.4±0.42ms +2.08%
Large input file compilation 12.7±1.05ms 11.8±0.19ms -7.09%
Large input file compilation (interpreter) 48.8±2.96ms 45.9±1.76ms -5.94%
Large nested iteration 32.9±0.18ms 33.9±1.35ms +3.04%
Perform Runtime Capabilities Analysis (RCA) on Deutsch-Jozsa sample 1499.7±44.35µs 1500.8±59.35µs +0.07%
Perform Runtime Capabilities Analysis (RCA) on large file sample 7.8±0.11ms 7.8±0.27ms 0.00%
Perform Runtime Capabilities Analysis (RCA) on teleport sample 1418.9±80.46µs 1451.0±97.65µs +2.26%
Perform Runtime Capabilities Analysis (RCA) on the core and std libraries 21.5±0.27ms 21.4±0.73ms -0.47%
Teleport evaluation 80.6±4.36µs 79.8±4.21µs -0.99%

github-actions[bot] avatar Apr 24 '24 20:04 github-actions[bot]

Benchmark for 0116ee1

Click to view benchmark
Test Base PR %
Array append evaluation 387.0±1.66µs 345.6±2.44µs -10.70%
Array literal evaluation 199.7±4.39µs 189.9±1.14µs -4.91%
Array update evaluation 463.6±3.02µs 428.0±1.52µs -7.68%
Core + Standard library compilation 17.0±0.57ms 18.4±0.31ms +8.24%
Deutsch-Jozsa evaluation 5.3±0.04ms 5.1±0.05ms -3.77%
Large file parity evaluation 33.9±0.17ms 34.1±0.20ms +0.59%
Large input file compilation 11.2±0.17ms 12.0±0.20ms +7.14%
Large input file compilation (interpreter) 44.6±1.51ms 46.7±0.78ms +4.71%
Large nested iteration 37.5±0.20ms 33.8±0.13ms -9.87%
Perform Runtime Capabilities Analysis (RCA) on Deutsch-Jozsa sample 1492.3±43.35µs 1490.1±40.08µs -0.15%
Perform Runtime Capabilities Analysis (RCA) on large file sample 7.7±0.09ms 7.8±0.10ms +1.30%
Perform Runtime Capabilities Analysis (RCA) on teleport sample 1404.6±47.48µs 1399.8±37.66µs -0.34%
Perform Runtime Capabilities Analysis (RCA) on the core and std libraries 21.2±0.23ms 21.4±0.21ms +0.94%
Teleport evaluation 85.6±4.31µs 81.2±3.84µs -5.14%

github-actions[bot] avatar Apr 24 '24 22:04 github-actions[bot]

Change in memory usage detected by benchmark.

Memory Report for 3e6e410444f97fe8bf54445cf0daacd165b6697e

Test This Branch On Main Difference
compile core + standard lib 16680117 bytes 15969785 bytes 710332 bytes

github-actions[bot] avatar Apr 25 '24 05:04 github-actions[bot]

Benchmark for 3e6e410

Click to view benchmark
Test Base PR %
Array append evaluation 339.0±2.51µs 335.5±2.07µs -1.03%
Array literal evaluation 195.9±2.47µs 170.8±2.66µs -12.81%
Array update evaluation 422.4±8.84µs 418.0±1.22µs -1.04%
Core + Standard library compilation 17.0±0.27ms 18.2±0.19ms +7.06%
Deutsch-Jozsa evaluation 5.0±0.04ms 5.1±0.05ms +2.00%
Large file parity evaluation 33.6±0.15ms 34.2±0.45ms +1.79%
Large input file compilation 11.4±0.14ms 12.0±0.18ms +5.26%
Large input file compilation (interpreter) 44.9±1.44ms 47.3±0.85ms +5.35%
Large nested iteration 33.1±0.23ms 32.9±0.14ms -0.60%
Perform Runtime Capabilities Analysis (RCA) on Deutsch-Jozsa sample 1495.9±34.96µs 1483.5±28.73µs -0.83%
Perform Runtime Capabilities Analysis (RCA) on large file sample 7.8±0.09ms 7.7±0.17ms -1.28%
Perform Runtime Capabilities Analysis (RCA) on teleport sample 1409.2±35.95µs 1402.2±71.54µs -0.50%
Perform Runtime Capabilities Analysis (RCA) on the core and std libraries 21.2±0.17ms 21.3±0.29ms +0.47%
Teleport evaluation 79.8±4.07µs 80.4±3.37µs +0.75%

github-actions[bot] avatar Apr 25 '24 05:04 github-actions[bot]

Change in memory usage detected by benchmark.

Memory Report for e371e2acf8c71bb0120bcb536d534440c035f865

Test This Branch On Main Difference
compile core + standard lib 16680117 bytes 15969785 bytes 710332 bytes

github-actions[bot] avatar Apr 25 '24 22:04 github-actions[bot]

Benchmark for e371e2a

Click to view benchmark
Test Base PR %
Array append evaluation 336.2±3.39µs 346.2±1.66µs +2.97%
Array literal evaluation 178.3±2.84µs 197.4±2.97µs +10.71%
Array update evaluation 417.4±1.86µs 434.6±1.24µs +4.12%
Core + Standard library compilation 18.0±0.41ms 18.5±0.69ms +2.78%
Deutsch-Jozsa evaluation 5.0±0.05ms 5.1±0.08ms +2.00%
Large file parity evaluation 33.6±0.15ms 34.0±0.41ms +1.19%
Large input file compilation 11.7±0.17ms 11.9±0.19ms +1.71%
Large input file compilation (interpreter) 47.7±2.22ms 46.4±0.86ms -2.73%
Large nested iteration 33.0±0.41ms 34.2±0.34ms +3.64%
Perform Runtime Capabilities Analysis (RCA) on Deutsch-Jozsa sample 1512.0±63.63µs 1496.8±27.74µs -1.01%
Perform Runtime Capabilities Analysis (RCA) on large file sample 7.8±0.18ms 7.8±0.11ms 0.00%
Perform Runtime Capabilities Analysis (RCA) on teleport sample 1424.4±68.72µs 1413.0±40.48µs -0.80%
Perform Runtime Capabilities Analysis (RCA) on the core and std libraries 21.8±0.22ms 21.6±0.23ms -0.92%
Teleport evaluation 80.3±4.03µs 80.1±3.82µs -0.25%

github-actions[bot] avatar Apr 25 '24 23:04 github-actions[bot]

Change in memory usage detected by benchmark.

Memory Report for e1e3a0e9fcc2c5e2cb9d5b241d934241f0cbe05f

Test This Branch On Main Difference
compile core + standard lib 16680117 bytes 15969785 bytes 710332 bytes

github-actions[bot] avatar Apr 26 '24 00:04 github-actions[bot]

Benchmark for e1e3a0e

Click to view benchmark
Test Base PR %
Array append evaluation 336.7±1.30µs 348.8±8.66µs +3.59%
Array literal evaluation 174.7±1.81µs 195.9±0.74µs +12.14%
Array update evaluation 420.3±1.05µs 430.9±3.89µs +2.52%
Core + Standard library compilation 21.3±0.99ms 22.4±0.68ms +5.16%
Deutsch-Jozsa evaluation 5.1±0.05ms 5.1±0.05ms 0.00%
Large file parity evaluation 33.7±0.11ms 34.4±0.22ms +2.08%
Large input file compilation 13.6±0.45ms 13.7±0.57ms +0.74%
Large input file compilation (interpreter) 51.3±2.97ms 53.0±1.78ms +3.31%
Large nested iteration 33.0±0.28ms 34.3±0.49ms +3.94%
Perform Runtime Capabilities Analysis (RCA) on Deutsch-Jozsa sample 1560.1±175.58µs 1526.3±90.25µs -2.17%
Perform Runtime Capabilities Analysis (RCA) on large file sample 8.3±0.29ms 8.0±0.14ms -3.61%
Perform Runtime Capabilities Analysis (RCA) on teleport sample 1472.3±132.97µs 1445.0±121.04µs -1.85%
Perform Runtime Capabilities Analysis (RCA) on the core and std libraries 22.4±0.51ms 22.5±0.43ms +0.45%
Teleport evaluation 81.8±4.67µs 80.3±3.82µs -1.83%

github-actions[bot] avatar Apr 26 '24 00:04 github-actions[bot]

Change in memory usage detected by benchmark.

Memory Report for 4937820bae5d2fbdaab0c996e7d4e0d6cbc5b2fa

Test This Branch On Main Difference
compile core + standard lib 16680117 bytes 15969785 bytes 710332 bytes

github-actions[bot] avatar Apr 30 '24 22:04 github-actions[bot]

Benchmark for 4937820

Click to view benchmark
Test Base PR %
Array append evaluation 359.7±4.98µs 347.1±2.22µs -3.50%
Array literal evaluation 192.9±1.67µs 190.2±5.89µs -1.40%
Array update evaluation 426.3±2.98µs 433.7±1.95µs +1.74%
Core + Standard library compilation 18.2±1.04ms 18.6±0.93ms +2.20%
Deutsch-Jozsa evaluation 5.2±0.06ms 5.2±0.15ms 0.00%
Large file parity evaluation 33.8±0.15ms 34.2±0.20ms +1.18%
Large input file compilation 12.0±0.33ms 12.8±0.50ms +6.67%
Large input file compilation (interpreter) 48.8±1.82ms 47.6±1.27ms -2.46%
Large nested iteration 34.4±0.25ms 34.1±0.37ms -0.87%
Perform Runtime Capabilities Analysis (RCA) on Deutsch-Jozsa sample 1502.7±50.32µs 1521.6±143.34µs +1.26%
Perform Runtime Capabilities Analysis (RCA) on large file sample 7.8±0.15ms 7.8±0.15ms 0.00%
Perform Runtime Capabilities Analysis (RCA) on teleport sample 1420.3±36.90µs 1411.7±36.94µs -0.61%
Perform Runtime Capabilities Analysis (RCA) on the core and std libraries 21.8±0.83ms 21.8±0.46ms 0.00%
Teleport evaluation 83.6±4.48µs 82.5±3.41µs -1.32%

github-actions[bot] avatar Apr 30 '24 22:04 github-actions[bot]

Change in memory usage detected by benchmark.

Memory Report for d0d4e610fd5b002a624c3dd755453de046e0c79f

Test This Branch On Main Difference
compile core + standard lib 16680117 bytes 15969785 bytes 710332 bytes

github-actions[bot] avatar Apr 30 '24 23:04 github-actions[bot]

Benchmark for d0d4e61

Click to view benchmark
Test Base PR %
Array append evaluation 347.6±2.26µs 352.0±1.34µs +1.27%
Array literal evaluation 193.0±1.81µs 191.4±3.96µs -0.83%
Array update evaluation 431.1±2.12µs 442.8±2.29µs +2.71%
Core + Standard library compilation 16.6±0.12ms 18.1±0.27ms +9.04%
Deutsch-Jozsa evaluation 5.1±0.04ms 5.1±0.09ms 0.00%
Large file parity evaluation 33.7±0.14ms 34.3±0.82ms +1.78%
Large input file compilation 11.3±0.10ms 12.0±0.30ms +6.19%
Large input file compilation (interpreter) 44.0±1.85ms 46.4±1.61ms +5.45%
Large nested iteration 34.2±0.19ms 34.9±1.01ms +2.05%
Perform Runtime Capabilities Analysis (RCA) on Deutsch-Jozsa sample 1490.6±31.03µs 1517.0±53.75µs +1.77%
Perform Runtime Capabilities Analysis (RCA) on large file sample 7.6±0.10ms 7.7±0.11ms +1.32%
Perform Runtime Capabilities Analysis (RCA) on teleport sample 1404.3±29.54µs 1410.7±25.45µs +0.46%
Perform Runtime Capabilities Analysis (RCA) on the core and std libraries 21.1±0.14ms 21.2±0.12ms +0.47%
Teleport evaluation 82.0±4.49µs 82.7±3.63µs +0.85%

github-actions[bot] avatar Apr 30 '24 23:04 github-actions[bot]

Change in memory usage detected by benchmark.

Memory Report for d5373dafb69a58e0203764f87c06ec020e548ce3

Test This Branch On Main Difference
compile core + standard lib 16680117 bytes 15969785 bytes 710332 bytes

github-actions[bot] avatar May 01 '24 05:05 github-actions[bot]

Benchmark for d5373da

Click to view benchmark
Test Base PR %
Array append evaluation 344.2±4.85µs 347.3±3.64µs +0.90%
Array literal evaluation 174.0±1.18µs 197.3±2.65µs +13.39%
Array update evaluation 426.6±4.34µs 434.4±2.02µs +1.83%
Core + Standard library compilation 17.1±0.39ms 18.8±0.55ms +9.94%
Deutsch-Jozsa evaluation 5.1±0.06ms 5.2±0.18ms +1.96%
Large file parity evaluation 33.8±0.14ms 34.4±0.22ms +1.78%
Large input file compilation 12.1±0.46ms 12.2±0.28ms +0.83%
Large input file compilation (interpreter) 46.0±1.50ms 49.3±1.85ms +7.17%
Large nested iteration 33.6±0.14ms 34.3±1.68ms +2.08%
Perform Runtime Capabilities Analysis (RCA) on Deutsch-Jozsa sample 1510.4±45.14µs 1498.2±34.96µs -0.81%
Perform Runtime Capabilities Analysis (RCA) on large file sample 7.8±0.22ms 7.8±0.11ms 0.00%
Perform Runtime Capabilities Analysis (RCA) on teleport sample 1419.7±30.76µs 1427.2±73.37µs +0.53%
Perform Runtime Capabilities Analysis (RCA) on the core and std libraries 21.5±0.26ms 21.5±0.50ms 0.00%
Teleport evaluation 82.1±4.73µs 83.2±3.74µs +1.34%

github-actions[bot] avatar May 01 '24 05:05 github-actions[bot]

Change in memory usage detected by benchmark.

Memory Report for b0c1141f1e61f1c536368a5e1412634153872ea7

Test This Branch On Main Difference
compile core + standard lib 16641469 bytes 15969785 bytes 671684 bytes

github-actions[bot] avatar May 01 '24 15:05 github-actions[bot]

Benchmark for b0c1141

Click to view benchmark
Test Base PR %
Array append evaluation 340.5±1.33µs 347.4±1.99µs +2.03%
Array literal evaluation 173.6±0.99µs 190.5±2.67µs +9.74%
Array update evaluation 422.3±1.68µs 428.4±2.68µs +1.44%
Core + Standard library compilation 16.8±0.33ms 18.4±0.37ms +9.52%
Deutsch-Jozsa evaluation 5.2±0.07ms 5.0±0.11ms -3.85%
Large file parity evaluation 33.6±0.12ms 34.4±0.25ms +2.38%
Large input file compilation 11.5±0.23ms 12.1±0.29ms +5.22%
Large input file compilation (interpreter) 45.2±1.36ms 47.4±1.38ms +4.87%
Large nested iteration 33.3±0.20ms 34.0±0.17ms +2.10%
Perform Runtime Capabilities Analysis (RCA) on Deutsch-Jozsa sample 1492.5±29.82µs 1487.2±35.50µs -0.36%
Perform Runtime Capabilities Analysis (RCA) on large file sample 7.8±0.11ms 7.7±0.10ms -1.28%
Perform Runtime Capabilities Analysis (RCA) on teleport sample 1407.5±39.53µs 1403.1±45.90µs -0.31%
Perform Runtime Capabilities Analysis (RCA) on the core and std libraries 21.2±0.26ms 21.4±0.21ms +0.94%
Teleport evaluation 83.3±4.28µs 81.1±3.65µs -2.64%

github-actions[bot] avatar May 01 '24 15:05 github-actions[bot]

Change in memory usage detected by benchmark.

Memory Report for 5bf02d00d126440f7c4391a4484d8c90a4242641

Test This Branch On Main Difference
compile core + standard lib 16641469 bytes 15969785 bytes 671684 bytes

github-actions[bot] avatar May 03 '24 20:05 github-actions[bot]

Benchmark for 5bf02d0

Click to view benchmark
Test Base PR %
Array append evaluation 340.5±9.16µs 349.8±2.90µs +2.73%
Array literal evaluation 173.6±1.27µs 189.2±1.09µs +8.99%
Array update evaluation 420.6±1.81µs 430.7±7.00µs +2.40%
Core + Standard library compilation 16.8±0.27ms 18.2±0.34ms +8.33%
Deutsch-Jozsa evaluation 5.1±0.04ms 5.1±0.13ms 0.00%
Large file parity evaluation 33.7±0.13ms 34.3±0.20ms +1.78%
Large input file compilation 11.5±0.59ms 11.9±0.45ms +3.48%
Large input file compilation (interpreter) 45.3±2.73ms 46.5±1.33ms +2.65%
Large nested iteration 33.3±0.29ms 33.9±0.16ms +1.80%
Perform Runtime Capabilities Analysis (RCA) on Deutsch-Jozsa sample 1484.9±29.45µs 1487.7±34.51µs +0.19%
Perform Runtime Capabilities Analysis (RCA) on large file sample 7.6±0.11ms 7.6±0.07ms 0.00%
Perform Runtime Capabilities Analysis (RCA) on teleport sample 1403.5±39.82µs 1399.0±34.15µs -0.32%
Perform Runtime Capabilities Analysis (RCA) on the core and std libraries 21.3±0.44ms 21.2±0.49ms -0.47%
Teleport evaluation 88.4±3.56µs 90.1±4.87µs +1.92%

github-actions[bot] avatar May 03 '24 20:05 github-actions[bot]

Change in memory usage detected by benchmark.

Memory Report for d8ee19e56bf2b8e1f193dc80ba7cf3857e18b529

Test This Branch On Main Difference
compile core + standard lib 16589301 bytes 15917505 bytes 671796 bytes

github-actions[bot] avatar May 07 '24 17:05 github-actions[bot]

Benchmark for d8ee19e

Click to view benchmark
Test Base PR %
Array append evaluation 341.3±1.78µs 359.9±3.92µs +5.45%
Array literal evaluation 180.6±3.28µs 195.5±1.04µs +8.25%
Array update evaluation 422.4±8.63µs 434.3±2.37µs +2.82%
Core + Standard library compilation 17.1±0.39ms 18.5±0.34ms +8.19%
Deutsch-Jozsa evaluation 5.1±0.15ms 5.1±0.04ms 0.00%
Large file parity evaluation 33.9±0.09ms 33.8±0.56ms -0.29%
Large input file compilation 11.6±0.29ms 12.1±0.20ms +4.31%
Large input file compilation (interpreter) 45.1±1.21ms 46.9±1.47ms +3.99%
Large nested iteration 33.3±0.17ms 34.7±2.42ms +4.20%
Perform Runtime Capabilities Analysis (RCA) on Deutsch-Jozsa sample 1486.7±36.80µs 1481.1±33.70µs -0.38%
Perform Runtime Capabilities Analysis (RCA) on large file sample 7.6±0.09ms 7.6±0.06ms 0.00%
Perform Runtime Capabilities Analysis (RCA) on teleport sample 1401.0±28.78µs 1403.1±72.39µs +0.15%
Perform Runtime Capabilities Analysis (RCA) on the core and std libraries 20.2±0.24ms 20.3±0.18ms +0.50%
Teleport evaluation 88.9±3.47µs 89.2±5.23µs +0.34%

github-actions[bot] avatar May 07 '24 17:05 github-actions[bot]

Change in memory usage detected by benchmark.

Memory Report for 028bdbaf11fe82c14de754c9f4f75c63cea298a1

Test This Branch On Main Difference
compile core + standard lib 16589301 bytes 15917505 bytes 671796 bytes

github-actions[bot] avatar May 07 '24 19:05 github-actions[bot]

Benchmark for 028bdba

Click to view benchmark
Test Base PR %
Array append evaluation 348.1±29.01µs 348.0±5.28µs -0.03%
Array literal evaluation 199.1±4.92µs 181.2±5.33µs -8.99%
Array update evaluation 425.6±2.33µs 422.0±6.80µs -0.85%
Core + Standard library compilation 17.7±1.01ms 20.0±1.36ms +12.99%
Deutsch-Jozsa evaluation 5.0±0.05ms 5.0±0.04ms 0.00%
Large file parity evaluation 33.9±0.82ms 33.7±0.46ms -0.59%
Large input file compilation 12.0±0.59ms 12.7±0.66ms +5.83%
Large input file compilation (interpreter) 47.6±1.44ms 50.6±2.69ms +6.30%
Large nested iteration 33.5±0.45ms 33.2±0.25ms -0.90%
Perform Runtime Capabilities Analysis (RCA) on Deutsch-Jozsa sample 1491.6±58.39µs 1480.5±34.39µs -0.74%
Perform Runtime Capabilities Analysis (RCA) on large file sample 7.7±0.10ms 7.7±0.12ms 0.00%
Perform Runtime Capabilities Analysis (RCA) on teleport sample 1407.0±42.89µs 1400.9±42.16µs -0.43%
Perform Runtime Capabilities Analysis (RCA) on the core and std libraries 20.4±0.38ms 20.5±0.26ms +0.49%
Teleport evaluation 88.0±3.67µs 88.2±3.86µs +0.23%

github-actions[bot] avatar May 07 '24 19:05 github-actions[bot]

Change in memory usage detected by benchmark.

Memory Report for 03e800cf22cdd75184f6c6a51ac3600fc1cd5084

Test This Branch On Main Difference
compile core + standard lib 16589301 bytes 15917505 bytes 671796 bytes

github-actions[bot] avatar May 07 '24 21:05 github-actions[bot]

Benchmark for 03e800c

Click to view benchmark
Test Base PR %
Array append evaluation 343.8±8.39µs 347.6±2.78µs +1.11%
Array literal evaluation 199.1±1.99µs 177.5±1.90µs -10.85%
Array update evaluation 423.9±1.46µs 421.8±2.45µs -0.50%
Core + Standard library compilation 17.2±0.37ms 18.7±0.61ms +8.72%
Deutsch-Jozsa evaluation 5.1±0.04ms 5.1±0.12ms 0.00%
Large file parity evaluation 33.8±0.35ms 33.9±0.96ms +0.30%
Large input file compilation 11.6±0.20ms 12.0±0.14ms +3.45%
Large input file compilation (interpreter) 46.1±1.84ms 47.5±1.44ms +3.04%
Large nested iteration 33.4±0.14ms 33.0±0.33ms -1.20%
Perform Runtime Capabilities Analysis (RCA) on Deutsch-Jozsa sample 1509.9±31.50µs 1477.6±31.63µs -2.14%
Perform Runtime Capabilities Analysis (RCA) on large file sample 7.7±0.07ms 7.7±0.08ms 0.00%
Perform Runtime Capabilities Analysis (RCA) on teleport sample 1430.0±39.75µs 1395.1±38.01µs -2.44%
Perform Runtime Capabilities Analysis (RCA) on the core and std libraries 20.2±0.16ms 20.3±0.39ms +0.50%
Teleport evaluation 91.3±4.96µs 89.3±10.52µs -2.19%

github-actions[bot] avatar May 07 '24 21:05 github-actions[bot]

Change in memory usage detected by benchmark.

Memory Report for f5dc475e127a23ee9673079b063aa2f52b2c4b9d

Test This Branch On Main Difference
compile core + standard lib 16589301 bytes 15917505 bytes 671796 bytes

github-actions[bot] avatar May 07 '24 22:05 github-actions[bot]

Change in memory usage detected by benchmark.

Memory Report for b7c57e91428f3f18ce0f761f3fd0442d50dc4e10

Test This Branch On Main Difference
compile core + standard lib 16584781 bytes 15917505 bytes 667276 bytes

github-actions[bot] avatar May 07 '24 22:05 github-actions[bot]