mkloczko / derive-storable-plugin

MIT License
11 stars 4 forks source link

peek is inefficient for GHC 8.2 and GHC 8.4 #8

Open mkloczko opened 2 years ago

mkloczko commented 2 years ago
benchmarking peek/Handwritten/C5
time                 36.03 ns   (35.70 ns .. 36.44 ns)
                     0.999 R²   (0.998 R² .. 0.999 R²)
mean                 37.08 ns   (36.64 ns .. 37.60 ns)
std dev              1.636 ns   (1.347 ns .. 2.343 ns)
variance introduced by outliers: 67% (severely inflated)

benchmarking peek/GStorable/C5
time                 264.9 ns   (263.7 ns .. 266.2 ns)
                     1.000 R²   (1.000 R² .. 1.000 R²)
mean                 266.7 ns   (265.2 ns .. 268.5 ns)
std dev              5.675 ns   (4.833 ns .. 6.953 ns)
variance introduced by outliers: 28% (moderately inflated)

benchmarking peek/Optimized/C5
time                 293.6 ns   (291.9 ns .. 295.4 ns)
                     1.000 R²   (1.000 R² .. 1.000 R²)
mean                 293.0 ns   (291.8 ns .. 294.3 ns)
std dev              3.871 ns   (3.055 ns .. 5.081 ns)
variance introduced by outliers: 13% (moderately inflated)

Might be a problem for other versions too (GHC 8.4.4 confirmed). GHC 8.6.2 is okay.