Skip to content

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

Open
@qrilka

Description

@qrilka

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions