Skip to content

Instantly share code, notes, and snippets.

@SchrodingerZhu
Last active June 12, 2023 20:23
Show Gist options
  • Select an option

  • Save SchrodingerZhu/32caa6b3c2246dc6552dc512578505ad to your computer and use it in GitHub Desktop.

Select an option

Save SchrodingerZhu/32caa6b3c2246dc6552dc512578505ad to your computer and use it in GitHub Desktop.
Generated Parser Benchmark
[nix-shell:~/CLionProjects/paguroidea]$ env RUSTFLAGS="-C target-cpu=native" PAG_RANDOM_SEED=0 cargo bench
Compiling snmalloc-sys v0.3.3
Compiling pag-lexer v0.1.0-alpha.1 (/home/schrodinger/CLionProjects/paguroidea/pag-lexer)
Compiling serde_derive v1.0.163
Compiling lalrpop v0.20.0
Compiling pest_meta v2.6.0
Compiling pest_generator v2.6.0
Compiling pest_derive v2.6.0
Compiling pag-parser v0.1.0-alpha.1 (/home/schrodinger/CLionProjects/paguroidea/pag-parser)
Compiling serde v1.0.163
Compiling pag-compiler v0.1.0-alpha.1 (/home/schrodinger/CLionProjects/paguroidea/pag-compiler)
Compiling pag-csv v0.1.0 (/home/schrodinger/CLionProjects/paguroidea/benches/csv)
Compiling sexpr-calculator v0.1.0 (/home/schrodinger/CLionProjects/paguroidea/tests/sexpr-calculator)
Compiling arith-expr v0.1.0 (/home/schrodinger/CLionProjects/paguroidea/tests/arith-expr)
Compiling serde_json v1.0.96
Compiling ciborium v0.2.1
Compiling csv v1.2.2
Compiling tinytemplate v1.2.1
Compiling criterion v0.4.0
Compiling pag-json v0.1.0 (/home/schrodinger/CLionProjects/paguroidea/benches/json)
Compiling snmalloc-rs v0.3.3
Finished bench [optimized + debuginfo] target(s) in 44.33s
Running unittests src/lib.rs (target/release/deps/arith_expr-9c9fb1581714e53c)
running 2 tests
test random_test ... ignored
test simple_test ... ignored
test result: ok. 0 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out; finished in 0.00s
Running unittests src/lib.rs (target/release/deps/pag_compiler-9196cdcc2b9fc7a9)
running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
Running unittests src/lib.rs (target/release/deps/pag_csv-b76df61a45092153)
running 1 test
test test_csv ... ignored
test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s
Running benches/benchmarks.rs (target/release/deps/benchmarks-fefedd307a7e14d7)
Gnuplot not found, using plotters backend
throughput/pag time: [615.56 µs 615.64 µs 615.72 µs]
thrpt: [646.85 MiB/s 646.94 MiB/s 647.03 MiB/s]
Found 10 outliers among 100 measurements (10.00%)
6 (6.00%) low mild
2 (2.00%) high mild
2 (2.00%) high severe
throughput/csv time: [639.90 µs 640.43 µs 640.92 µs]
thrpt: [621.42 MiB/s 621.90 MiB/s 622.41 MiB/s]
Found 15 outliers among 100 measurements (15.00%)
1 (1.00%) low mild
3 (3.00%) high mild
11 (11.00%) high severe
throughput/pest time: [5.3039 ms 5.3071 ms 5.3104 ms]
thrpt: [75.001 MiB/s 75.047 MiB/s 75.093 MiB/s]
Running unittests src/lib.rs (target/release/deps/pag_json-71598dd47a43920a)
running 3 tests
test test_json ... ignored
test test_random ... ignored
test test_twitter ... ignored
test result: ok. 0 passed; 0 failed; 3 ignored; 0 measured; 0 filtered out; finished in 0.00s
Running benches/benchmarks.rs (target/release/deps/benchmarks-6890d760dcdb1af2)
Gnuplot not found, using plotters backend
random-json/pag time: [4.6052 ms 4.6150 ms 4.6318 ms]
thrpt: [247.56 MiB/s 248.46 MiB/s 248.99 MiB/s]
Found 18 outliers among 100 measurements (18.00%)
17 (17.00%) high mild
1 (1.00%) high severe
random-json/serde time: [4.2527 ms 4.2570 ms 4.2639 ms]
thrpt: [268.92 MiB/s 269.35 MiB/s 269.62 MiB/s]
Found 5 outliers among 100 measurements (5.00%)
3 (3.00%) low mild
1 (1.00%) high mild
1 (1.00%) high severe
random-json/pest time: [15.031 ms 15.038 ms 15.044 ms]
thrpt: [76.217 MiB/s 76.250 MiB/s 76.286 MiB/s]
Found 1 outliers among 100 measurements (1.00%)
1 (1.00%) low severe
Benchmarking random-json/lalrpop: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 5.0s. You may wish to increase target time to 34.3s, or reduce sample count to 10.
random-json/lalrpop time: [342.86 ms 343.16 ms 343.49 ms]
thrpt: [3.3382 MiB/s 3.3414 MiB/s 3.3444 MiB/s]
Found 11 outliers among 100 measurements (11.00%)
8 (8.00%) high mild
3 (3.00%) high severe
random-json/lalrpop+logos
time: [9.0395 ms 9.0439 ms 9.0487 ms]
thrpt: [126.72 MiB/s 126.78 MiB/s 126.85 MiB/s]
Found 4 outliers among 100 measurements (4.00%)
4 (4.00%) high mild
Benchmarking twitter-json/pag: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 5.0s. You may wish to increase target time to 8.3s, enable flat sampling, or reduce sample count to 50.
twitter-json/pag time: [1.6223 ms 1.6250 ms 1.6280 ms]
thrpt: [449.25 MiB/s 450.09 MiB/s 450.83 MiB/s]
Found 1 outliers among 100 measurements (1.00%)
1 (1.00%) high severe
Benchmarking twitter-json/serde: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 5.0s. You may wish to increase target time to 9.1s, enable flat sampling, or reduce sample count to 50.
twitter-json/serde time: [1.7903 ms 1.7906 ms 1.7909 ms]
thrpt: [408.39 MiB/s 408.46 MiB/s 408.53 MiB/s]
Found 5 outliers among 100 measurements (5.00%)
4 (4.00%) high mild
1 (1.00%) high severe
twitter-json/pest time: [5.9117 ms 5.9158 ms 5.9202 ms]
thrpt: [123.54 MiB/s 123.63 MiB/s 123.72 MiB/s]
Benchmarking twitter-json/lalrpop: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 5.0s. You may wish to increase target time to 18.5s, or reduce sample count to 20.
twitter-json/lalrpop time: [185.25 ms 185.41 ms 185.58 ms]
thrpt: [3.9412 MiB/s 3.9448 MiB/s 3.9480 MiB/s]
Found 6 outliers among 100 measurements (6.00%)
2 (2.00%) high mild
4 (4.00%) high severe
twitter-json/lalrpop+logos
time: [2.7711 ms 2.7717 ms 2.7723 ms]
thrpt: [263.82 MiB/s 263.88 MiB/s 263.93 MiB/s]
Running benches/lalrlexer.rs (target/release/deps/lalrlexer-93f905aeb7ed51fb)
running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
Running unittests src/lib.rs (target/release/deps/pag_lexer-375b237fca0d4d71)
running 10 tests
test intervals::test::basic_format ... ignored
test intervals::test::complement ... ignored
test intervals::test::intersection ... ignored
test intervals::test::intervals_format ... ignored
test intervals::test::union ... ignored
test lookahead::test ... ignored
test tests::approximate_congruence_class_test ... ignored
test tests::beautify_mangle_tests ... ignored
test tests::it_prints_basic ... ignored
test tests::renormalize_tests ... ignored
test result: ok. 0 passed; 0 failed; 10 ignored; 0 measured; 0 filtered out; finished in 0.00s
Running unittests src/lib.rs (target/release/deps/pag_parser-56a9ac67cbe05149)
running 3 tests
test frontend::test::it_parses_lexical_expr ... ignored
test frontend::unicode::test::test_encode_char ... ignored
test frontend::unicode::test::test_encode_range ... ignored
test result: ok. 0 passed; 0 failed; 3 ignored; 0 measured; 0 filtered out; finished in 0.00s
Running unittests src/lib.rs (target/release/deps/sexpr_calculator-745656894f031e7d)
running 2 tests
test randomized_test ... ignored
test simple_test ... ignored
test result: ok. 0 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out; finished in 0.00s
[nix-shell:~/CLionProjects/paguroidea]$ lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Address sizes: 48 bits physical, 48 bits virtual
Byte Order: Little Endian
CPU(s): 128
On-line CPU(s) list: 0-127
Vendor ID: AuthenticAMD
Model name: AMD EPYC 7773X 64-Core Processor
CPU family: 25
Model: 1
Thread(s) per core: 2
Core(s) per socket: 64
Socket(s): 1
Stepping: 2
Frequency boost: enabled
CPU(s) scaling MHz: 99%
CPU max MHz: 3529.0000
CPU min MHz: 400.0000
BogoMIPS: 4399.81
Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2
ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_
apicid aperfmperf rapl pni pclmulqdq monitor ssse3 fma cx16 pcid sse4_1 sse4_2 movbe popcnt aes xs
ave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch
osvw ibs skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb cat_l3 cdp_l3
invpcid_single hw_pstate ssbd mba ibrs ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 invpcid cq
m rdt_a rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_ll
c cqm_mbm_total cqm_mbm_local clzero irperf xsaveerptr rdpru wbnoinvd amd_ppin brs arat npt lbrv s
vm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold v_vmsave_
vmload vgif v_spec_ctrl umip pku ospke vaes vpclmulqdq rdpid overflow_recov succor smca
Virtualization features:
Virtualization: AMD-V
Caches (sum of all):
L1d: 2 MiB (64 instances)
L1i: 2 MiB (64 instances)
L2: 32 MiB (64 instances)
L3: 768 MiB (8 instances)
NUMA:
NUMA node(s): 1
NUMA node0 CPU(s): 0-127
Vulnerabilities:
Itlb multihit: Not affected
L1tf: Not affected
Mds: Not affected
Meltdown: Not affected
Mmio stale data: Not affected
Retbleed: Not affected
Spec store bypass: Mitigation; Speculative Store Bypass disabled via prctl
Spectre v1: Mitigation; usercopy/swapgs barriers and __user pointer sanitization
Spectre v2: Mitigation; Retpolines, IBPB conditional, IBRS_FW, STIBP always-on, RSB filling, PBRSB-eIBRS Not a
ffected
Srbds: Not affected
Tsx async abort: Not affected
[nix-shell:~/CLionProjects/paguroidea]$
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment