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

Is my code incorrect or the library performance doesn't look good yet? #29

Open
qrilka opened this issue Aug 30, 2018 · 1 comment
Open

Comments

@qrilka
Copy link

qrilka commented Aug 30, 2018

In https://github.com/qrilka/xeno/tree/hw-xml I've tried out checking the speed of this library using xeno's benchmark and the results do look good:

Benchmark xeno-speed-bench: RUNNING...
benchmarking 4KB/hexml-dom
time                 8.383 μs   (8.317 μs .. 8.490 μs)
                     0.996 R²   (0.990 R² .. 1.000 R²)
mean                 8.957 μs   (8.500 μs .. 10.30 μs)
std dev              2.929 μs   (982.9 ns .. 5.410 μs)
variance introduced by outliers: 99% (severely inflated)
             
benchmarking 4KB/xeno-sax
time                 5.581 μs   (5.511 μs .. 5.723 μs)
                     0.998 R²   (0.995 R² .. 1.000 R²)
mean                 5.555 μs   (5.514 μs .. 5.653 μs)
std dev              194.7 ns   (37.90 ns .. 317.9 ns)
variance introduced by outliers: 44% (moderately inflated)
             
benchmarking 4KB/xeno-dom
time                 12.06 μs   (11.96 μs .. 12.19 μs)
                     0.997 R²   (0.992 R² .. 0.999 R²)
mean                 12.47 μs   (11.98 μs .. 13.77 μs)
std dev              2.255 μs   (356.3 ns .. 4.429 μs)
variance introduced by outliers: 95% (severely inflated)
             
benchmarking 4KB/hexpat-sax
time                 86.28 μs   (85.62 μs .. 87.26 μs)
                     0.998 R²   (0.995 R² .. 1.000 R²)
mean                 89.36 μs   (86.01 μs .. 101.3 μs)
std dev              19.03 μs   (1.717 μs .. 39.61 μs)
variance introduced by outliers: 96% (severely inflated)
             
benchmarking 4KB/hexpat-dom
time                 244.2 μs   (238.2 μs .. 253.5 μs)
                     0.993 R²   (0.987 R² .. 0.998 R²)
mean                 247.3 μs   (240.2 μs .. 261.4 μs)
std dev              32.73 μs   (15.55 μs .. 64.88 μs)
variance introduced by outliers: 87% (severely inflated)
             
benchmarking 4KB/xml-dom
time                 1.570 ms   (1.500 ms .. 1.698 ms)
                     0.972 R²   (0.937 R² .. 0.998 R²)
mean                 1.556 ms   (1.520 ms .. 1.647 ms)
std dev              179.0 μs   (118.1 μs .. 288.0 μs)
variance introduced by outliers: 76% (severely inflated)
             
benchmarking 4KB/hw-xml
time                 4.577 ms   (4.460 ms .. 4.742 ms)
                     0.992 R²   (0.985 R² .. 0.999 R²)
mean                 4.729 ms   (4.647 ms .. 4.954 ms)
std dev              419.5 μs   (168.8 μs .. 822.1 μs)
variance introduced by outliers: 56% (severely inflated)
             
benchmarking 31KB/hexml-dom
time                 9.684 μs   (9.507 μs .. 9.879 μs)
                     0.995 R²   (0.991 R² .. 0.999 R²)
mean                 9.676 μs   (9.514 μs .. 10.06 μs)
std dev              792.4 ns   (317.9 ns .. 1.400 μs)
variance introduced by outliers: 81% (severely inflated)
             
benchmarking 31KB/xeno-sax
time                 3.104 μs   (3.096 μs .. 3.118 μs)
                     0.999 R²   (0.996 R² .. 1.000 R²)
mean                 3.127 μs   (3.086 μs .. 3.289 μs)
std dev              250.3 ns   (20.50 ns .. 529.4 ns)
variance introduced by outliers: 82% (severely inflated)
             
benchmarking 31KB/xeno-dom
time                 6.896 μs   (6.766 μs .. 7.040 μs)
                     0.995 R²   (0.991 R² .. 0.998 R²)
mean                 6.885 μs   (6.755 μs .. 7.236 μs)
std dev              661.6 ns   (332.9 ns .. 1.242 μs)
variance introduced by outliers: 86% (severely inflated)
             
benchmarking 31KB/hexpat-sax
time                 325.0 μs   (318.3 μs .. 332.8 μs)
                     0.995 R²   (0.987 R² .. 0.999 R²)
mean                 324.5 μs   (317.7 μs .. 364.3 μs)
std dev              37.12 μs   (10.68 μs .. 90.66 μs)
variance introduced by outliers: 83% (severely inflated)
             
benchmarking 31KB/hexpat-dom
time                 338.7 μs   (331.1 μs .. 346.3 μs)
                     0.997 R²   (0.996 R² .. 0.999 R²)
mean                 330.5 μs   (327.7 μs .. 335.1 μs)
std dev              12.75 μs   (8.609 μs .. 21.02 μs)
variance introduced by outliers: 33% (moderately inflated)
             
benchmarking 31KB/xml-dom
time                 9.997 ms   (9.712 ms .. 10.26 ms)
                     0.994 R²   (0.988 R² .. 0.999 R²)
mean                 10.12 ms   (9.963 ms .. 10.63 ms)
std dev              676.0 μs   (244.9 μs .. 1.325 ms)
variance introduced by outliers: 35% (moderately inflated)
             
benchmarking 31KB/hw-xml
time                 4.885 ms   (4.756 ms .. 5.093 ms)
                     0.986 R²   (0.972 R² .. 0.998 R²)
mean                 5.036 ms   (4.945 ms .. 5.241 ms)
std dev              385.7 μs   (208.2 μs .. 627.5 μs)
variance introduced by outliers: 47% (moderately inflated)
             
benchmarking 211KB/hexml-dom
time                 275.5 μs   (271.2 μs .. 280.5 μs)
                     0.993 R²   (0.985 R² .. 0.998 R²)
mean                 284.0 μs   (274.8 μs .. 308.7 μs)
std dev              53.75 μs   (24.99 μs .. 101.4 μs)
variance introduced by outliers: 93% (severely inflated)
             
benchmarking 211KB/xeno-sax
time                 270.4 μs   (265.8 μs .. 277.6 μs)
                     0.997 R²   (0.994 R² .. 1.000 R²)
mean                 267.8 μs   (265.6 μs .. 272.9 μs)
std dev              10.43 μs   (6.226 μs .. 16.04 μs)
variance introduced by outliers: 36% (moderately inflated)
             
benchmarking 211KB/xeno-dom
time                 656.8 μs   (639.0 μs .. 684.0 μs)
                     0.993 R²   (0.987 R² .. 0.999 R²)
mean                 662.5 μs   (648.2 μs .. 690.1 μs)
std dev              68.16 μs   (39.50 μs .. 109.0 μs)
variance introduced by outliers: 76% (severely inflated)
             
benchmarking 211KB/hexpat-sax
time                 20.91 ms   (19.94 ms .. 21.96 ms)
                     0.992 R²   (0.980 R² .. 0.999 R²)
mean                 20.29 ms   (20.01 ms .. 20.71 ms)
std dev              800.1 μs   (447.5 μs .. 1.352 ms)
variance introduced by outliers: 13% (moderately inflated)
             
benchmarking 211KB/hexpat-dom
time                 20.98 ms   (20.28 ms .. 21.61 ms)
                     0.994 R²   (0.987 R² .. 0.999 R²)
mean                 21.59 ms   (21.14 ms .. 23.10 ms)
std dev              1.696 ms   (411.2 μs .. 3.287 ms)
variance introduced by outliers: 32% (moderately inflated)
             
benchmarking 211KB/xml-dom
time                 79.71 ms   (77.20 ms .. 82.52 ms)
                     0.998 R²   (0.996 R² .. 1.000 R²)
mean                 82.44 ms   (80.94 ms .. 86.60 ms)
std dev              3.960 ms   (1.051 ms .. 6.437 ms)
             
benchmarking 211KB/hw-xml
time                 11.96 ms   (11.67 ms .. 12.30 ms)
                     0.995 R²   (0.991 R² .. 0.999 R²)
mean                 12.11 ms   (11.90 ms .. 12.54 ms)
std dev              700.6 μs   (383.0 μs .. 1.143 ms)
variance introduced by outliers: 27% (moderately inflated)
             
Benchmark xeno-speed-bench: FINISH

As the library has almost no docs I've used the example in app/Main.hs

@qrilka
Copy link
Author

qrilka commented Aug 30, 2018

Also there is https://github.com/haskell-perf/xml and it could make sense to include hw-xml there as a comparison too.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant