Zag-Research / Zag-Smalltalk

Smalltalk VM Written in Zig with methods stored as type-annotated ASTs
MIT License
133 stars 6 forks source link

Iteration benchmarks #1

Closed ahmadbeirkdar closed 2 years ago

ahmadbeirkdar commented 3 years ago

ONCE CELL time: [8.1764 ns 8.3092 ns 8.4391 ns] SATIC INIT time: [4.6689 ns 4.6808 ns 4.6941 ns] LAZY STATIC time: [3.6658 ns 3.6776 ns 3.6899 ns]

ahmadbeirkdar commented 3 years ago
ONCE CELL               time:   [8.1764 ns 8.3092 ns 8.4391 ns]                       
                        change: [-4.1588% -2.9220% -1.7032%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 11 outliers among 100 measurements (11.00%)
  2 (2.00%) high mild
  9 (9.00%) high severe

SATIC INIT              time:   [4.6689 ns 4.6808 ns 4.6941 ns]                        
                        change: [-0.4947% -0.1819% +0.1987%] (p = 0.30 > 0.05)
                        No change in performance detected.
Found 5 outliers among 100 measurements (5.00%)
  3 (3.00%) high mild
  2 (2.00%) high severe

LAZY STATIC             time:   [3.6658 ns 3.6776 ns 3.6899 ns]                         
                        change: [-0.1089% +0.2568% +0.6391%] (p = 0.19 > 0.05)
                        No change in performance detected.
Found 2 outliers among 100 measurements (2.00%)
  2 (2.00%) high mild
ahmadbeirkdar commented 3 years ago
ONCE CELL               time:   [7.4972 ns 7.5825 ns 7.6732 ns]                       
                        change: [-8.8147% -5.8075% -2.7453%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 14 outliers among 100 measurements (14.00%)
  6 (6.00%) high mild
  8 (8.00%) high severe

SATIC INIT              time:   [3.8526 ns 3.8604 ns 3.8688 ns]                        
                        change: [-1.0426% -0.7681% -0.4908%] (p = 0.00 < 0.05)
                        Change within noise threshold.
Found 6 outliers among 100 measurements (6.00%)
  2 (2.00%) low mild
  4 (4.00%) high mild

LAZY STATIC             time:   [3.4311 ns 3.4479 ns 3.4660 ns]                         
                        change: [-0.0633% +0.7792% +1.6084%] (p = 0.08 > 0.05)
                        No change in performance detected.
Found 4 outliers among 100 measurements (4.00%)
  4 (4.00%) high mild

LATE STATIC             time:   [8.0068 ns 8.1532 ns 8.3337 ns]                         
                        change: [+1.2641% +4.8297% +8.4336%] (p = 0.01 < 0.05)
                        Performance has regressed.
Found 17 outliers among 100 measurements (17.00%)
  3 (3.00%) high mild
  14 (14.00%) high severe
ahmadbeirkdar commented 3 years ago

With inline never. Change is inline never vs without

ONCE CELL               time:   [3.1872 ns 3.1942 ns 3.2020 ns]                       
                        change: [-57.759% -57.456% -57.169%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 3 outliers among 100 measurements (3.00%)
  1 (1.00%) high mild
  2 (2.00%) high severe

SATIC INIT              time:   [3.4789 ns 3.4901 ns 3.5013 ns]                        
                        change: [-9.8885% -9.6186% -9.3120%] (p = 0.00 < 0.05)
                        Performance has improved.

LAZY STATIC             time:   [3.4367 ns 3.4703 ns 3.5145 ns]                         
                        change: [-1.5372% +0.2474% +2.9814%] (p = 0.84 > 0.05)
                        No change in performance detected.
Found 6 outliers among 100 measurements (6.00%)
  1 (1.00%) low severe
  1 (1.00%) low mild
  2 (2.00%) high mild
  2 (2.00%) high severe

LATE STATIC             time:   [4.3129 ns 4.3212 ns 4.3311 ns]                         
                        change: [-50.384% -48.644% -46.990%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 15 outliers among 100 measurements (15.00%)
  3 (3.00%) low mild
  1 (1.00%) high mild
  11 (11.00%) high severe