Last active
May 6, 2020 15:00
-
-
Save syohex/613ca2ab30c0db01c54d19ee0acd2553 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env bash | |
set -e | |
TIMES=10 | |
EVENTS="task-clock,cycles,instructions,faults,cache-references,cache-misses,L1-dcache-loads,L1-dcache-load-misses,L1-dcache-stores,LLC-loads,LLC-load-misses,LLC-stores" | |
rm -f *.log | |
for i in $(seq 1 $TIMES) | |
do | |
sudo perf stat -e $EVENTS ./without-sscanf 16384 2>> without-sscanf.log >/dev/null | |
done | |
for i in $(seq 1 $TIMES) | |
do | |
sudo perf stat -e $EVENTS ./with-sscanf 16384 2>> with-sscanf.log >/dev/null | |
done |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/CMakeLists.txt b/CMakeLists.txt | |
index 3c25dba..999fc86 100644 | |
--- a/CMakeLists.txt | |
+++ b/CMakeLists.txt | |
@@ -12,7 +12,7 @@ IF (WITH_DTRACE) | |
MESSAGE(STATUS "Enabling USDT support") | |
ENDIF () | |
-SET(CMAKE_C_FLAGS "-std=c99 -Wall -O2 -g ${CC_WARNING_FLAGS} ${CMAKE_C_FLAGS}") | |
+SET(CMAKE_C_FLAGS "-std=c99 -Wall -O2 -g3 -maes -march=native ${CC_WARNING_FLAGS} ${CMAKE_C_FLAGS}") | |
INCLUDE_DIRECTORIES( | |
deps/cifra/src/ext | |
deps/cifra/src | |
@@ -37,6 +37,7 @@ SET(MINICRYPTO_LIBRARY_FILES | |
deps/cifra/src/sha512.c) | |
SET(CORE_FILES | |
lib/picotls.c | |
+ lib/fusion.c | |
lib/pembase64.c) | |
SET(CORE_TEST_FILES | |
t/picotls.c) | |
@@ -104,6 +105,11 @@ IF (OPENSSL_FOUND AND NOT (OPENSSL_VERSION VERSION_LESS "1.0.1")) | |
ADD_EXECUTABLE(picotls-esni src/esni.c) | |
TARGET_LINK_LIBRARIES(picotls-esni picotls-openssl picotls-core ${OPENSSL_LIBRARIES} ${CMAKE_DL_LIBS}) | |
+ ADD_EXECUTABLE(without-sscanf without-sscanf.c) | |
+ ADD_EXECUTABLE(with-sscanf with-sscanf.c) | |
+ TARGET_LINK_LIBRARIES(without-sscanf picotls-openssl picotls-core picotls-minicrypto) | |
+ TARGET_LINK_LIBRARIES(with-sscanf picotls-openssl picotls-core picotls-minicrypto) | |
+ | |
ADD_EXECUTABLE(test-openssl.t | |
${MINICRYPTO_LIBRARY_FILES} | |
lib/cifra.c |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
cat /proc/cpuinfo | |
processor : 0 | |
vendor_id : GenuineIntel | |
cpu family : 6 | |
model : 142 | |
model name : Intel(R) Core(TM) i7-8565U CPU @ 1.80GHz | |
stepping : 11 | |
microcode : 0xca | |
cpu MHz : 688.060 | |
cache size : 8192 KB | |
physical id : 0 | |
siblings : 8 | |
core id : 0 | |
cpu cores : 4 | |
apicid : 0 | |
initial apicid : 0 | |
fpu : yes | |
fpu_exception : yes | |
cpuid level : 22 | |
wp : yes | |
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb invpcid_single ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp md_clear flush_l1d arch_capabilities | |
bugs : spectre_v1 spectre_v2 spec_store_bypass mds swapgs itlb_multihit | |
bogomips : 3999.93 | |
clflush size : 64 | |
cache_alignment : 64 | |
address sizes : 39 bits physical, 48 bits virtual | |
power management: | |
processor : 1 | |
vendor_id : GenuineIntel | |
cpu family : 6 | |
model : 142 | |
model name : Intel(R) Core(TM) i7-8565U CPU @ 1.80GHz | |
stepping : 11 | |
microcode : 0xca | |
cpu MHz : 692.270 | |
cache size : 8192 KB | |
physical id : 0 | |
siblings : 8 | |
core id : 1 | |
cpu cores : 4 | |
apicid : 2 | |
initial apicid : 2 | |
fpu : yes | |
fpu_exception : yes | |
cpuid level : 22 | |
wp : yes | |
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb invpcid_single ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp md_clear flush_l1d arch_capabilities | |
bugs : spectre_v1 spectre_v2 spec_store_bypass mds swapgs itlb_multihit | |
bogomips : 3999.93 | |
clflush size : 64 | |
cache_alignment : 64 | |
address sizes : 39 bits physical, 48 bits virtual | |
power management: | |
processor : 2 | |
vendor_id : GenuineIntel | |
cpu family : 6 | |
model : 142 | |
model name : Intel(R) Core(TM) i7-8565U CPU @ 1.80GHz | |
stepping : 11 | |
microcode : 0xca | |
cpu MHz : 699.481 | |
cache size : 8192 KB | |
physical id : 0 | |
siblings : 8 | |
core id : 2 | |
cpu cores : 4 | |
apicid : 4 | |
initial apicid : 4 | |
fpu : yes | |
fpu_exception : yes | |
cpuid level : 22 | |
wp : yes | |
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb invpcid_single ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp md_clear flush_l1d arch_capabilities | |
bugs : spectre_v1 spectre_v2 spec_store_bypass mds swapgs itlb_multihit | |
bogomips : 3999.93 | |
clflush size : 64 | |
cache_alignment : 64 | |
address sizes : 39 bits physical, 48 bits virtual | |
power management: | |
processor : 3 | |
vendor_id : GenuineIntel | |
cpu family : 6 | |
model : 142 | |
model name : Intel(R) Core(TM) i7-8565U CPU @ 1.80GHz | |
stepping : 11 | |
microcode : 0xca | |
cpu MHz : 684.877 | |
cache size : 8192 KB | |
physical id : 0 | |
siblings : 8 | |
core id : 3 | |
cpu cores : 4 | |
apicid : 6 | |
initial apicid : 6 | |
fpu : yes | |
fpu_exception : yes | |
cpuid level : 22 | |
wp : yes | |
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb invpcid_single ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp md_clear flush_l1d arch_capabilities | |
bugs : spectre_v1 spectre_v2 spec_store_bypass mds swapgs itlb_multihit | |
bogomips : 3999.93 | |
clflush size : 64 | |
cache_alignment : 64 | |
address sizes : 39 bits physical, 48 bits virtual | |
power management: | |
processor : 4 | |
vendor_id : GenuineIntel | |
cpu family : 6 | |
model : 142 | |
model name : Intel(R) Core(TM) i7-8565U CPU @ 1.80GHz | |
stepping : 11 | |
microcode : 0xca | |
cpu MHz : 699.566 | |
cache size : 8192 KB | |
physical id : 0 | |
siblings : 8 | |
core id : 0 | |
cpu cores : 4 | |
apicid : 1 | |
initial apicid : 1 | |
fpu : yes | |
fpu_exception : yes | |
cpuid level : 22 | |
wp : yes | |
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb invpcid_single ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp md_clear flush_l1d arch_capabilities | |
bugs : spectre_v1 spectre_v2 spec_store_bypass mds swapgs itlb_multihit | |
bogomips : 3999.93 | |
clflush size : 64 | |
cache_alignment : 64 | |
address sizes : 39 bits physical, 48 bits virtual | |
power management: | |
processor : 5 | |
vendor_id : GenuineIntel | |
cpu family : 6 | |
model : 142 | |
model name : Intel(R) Core(TM) i7-8565U CPU @ 1.80GHz | |
stepping : 11 | |
microcode : 0xca | |
cpu MHz : 645.199 | |
cache size : 8192 KB | |
physical id : 0 | |
siblings : 8 | |
core id : 1 | |
cpu cores : 4 | |
apicid : 3 | |
initial apicid : 3 | |
fpu : yes | |
fpu_exception : yes | |
cpuid level : 22 | |
wp : yes | |
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb invpcid_single ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp md_clear flush_l1d arch_capabilities | |
bugs : spectre_v1 spectre_v2 spec_store_bypass mds swapgs itlb_multihit | |
bogomips : 3999.93 | |
clflush size : 64 | |
cache_alignment : 64 | |
address sizes : 39 bits physical, 48 bits virtual | |
power management: | |
processor : 6 | |
vendor_id : GenuineIntel | |
cpu family : 6 | |
model : 142 | |
model name : Intel(R) Core(TM) i7-8565U CPU @ 1.80GHz | |
stepping : 11 | |
microcode : 0xca | |
cpu MHz : 697.849 | |
cache size : 8192 KB | |
physical id : 0 | |
siblings : 8 | |
core id : 2 | |
cpu cores : 4 | |
apicid : 5 | |
initial apicid : 5 | |
fpu : yes | |
fpu_exception : yes | |
cpuid level : 22 | |
wp : yes | |
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb invpcid_single ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp md_clear flush_l1d arch_capabilities | |
bugs : spectre_v1 spectre_v2 spec_store_bypass mds swapgs itlb_multihit | |
bogomips : 3999.93 | |
clflush size : 64 | |
cache_alignment : 64 | |
address sizes : 39 bits physical, 48 bits virtual | |
power management: | |
processor : 7 | |
vendor_id : GenuineIntel | |
cpu family : 6 | |
model : 142 | |
model name : Intel(R) Core(TM) i7-8565U CPU @ 1.80GHz | |
stepping : 11 | |
microcode : 0xca | |
cpu MHz : 696.407 | |
cache size : 8192 KB | |
physical id : 0 | |
siblings : 8 | |
core id : 3 | |
cpu cores : 4 | |
apicid : 7 | |
initial apicid : 7 | |
fpu : yes | |
fpu_exception : yes | |
cpuid level : 22 | |
wp : yes | |
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb invpcid_single ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp md_clear flush_l1d arch_capabilities | |
bugs : spectre_v1 spectre_v2 spec_store_bypass mds swapgs itlb_multihit | |
bogomips : 3999.93 | |
clflush size : 64 | |
cache_alignment : 64 | |
address sizes : 39 bits physical, 48 bits virtual | |
power management: |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Performance counter stats for './with-sscanf 16384': | |
3,391.61 msec task-clock # 1.000 CPUs utilized | |
15,205,560,691 cycles # 4.483 GHz (29.83%) | |
46,364,403,989 instructions # 3.05 insn per cycle (39.85%) | |
65 faults # 0.019 K/sec | |
465,444 cache-references # 0.137 M/sec (49.88%) | |
15,875 cache-misses # 3.411 % of all cache refs (49.99%) | |
11,674,966,558 L1-dcache-loads # 3442.310 M/sec (50.11%) | |
179,784,986 L1-dcache-load-misses # 1.54% of all L1-dcache hits (50.12%) | |
4,833,632,489 L1-dcache-stores # 1425.174 M/sec (40.10%) | |
17,940 LLC-loads # 0.005 M/sec (40.10%) | |
1,445 LLC-load-misses # 8.05% of all LL-cache hits (39.98%) | |
17,518 LLC-stores # 0.005 M/sec (19.81%) | |
3.391827738 seconds time elapsed | |
3.387767000 seconds user | |
0.003999000 seconds sys | |
Performance counter stats for './with-sscanf 16384': | |
3,393.92 msec task-clock # 1.000 CPUs utilized | |
15,204,760,085 cycles # 4.480 GHz (29.88%) | |
46,392,979,387 instructions # 3.05 insn per cycle (39.89%) | |
63 faults # 0.019 K/sec | |
440,715 cache-references # 0.130 M/sec (49.91%) | |
44,101 cache-misses # 10.007 % of all cache refs (49.91%) | |
11,677,081,254 L1-dcache-loads # 3440.585 M/sec (49.97%) | |
118,502,875 L1-dcache-load-misses # 1.01% of all L1-dcache hits (50.09%) | |
4,831,190,596 L1-dcache-stores # 1423.483 M/sec (40.07%) | |
12,375 LLC-loads # 0.004 M/sec (40.07%) | |
3,491 LLC-load-misses # 28.21% of all LL-cache hits (40.07%) | |
19,001 LLC-stores # 0.006 M/sec (19.97%) | |
3.394122064 seconds time elapsed | |
3.390096000 seconds user | |
0.003997000 seconds sys | |
Performance counter stats for './with-sscanf 16384': | |
3,413.64 msec task-clock # 1.000 CPUs utilized | |
15,216,006,854 cycles # 4.457 GHz (29.94%) | |
46,406,277,387 instructions # 3.05 insn per cycle (40.02%) | |
64 faults # 0.019 K/sec | |
564,300 cache-references # 0.165 M/sec (50.10%) | |
43,430 cache-misses # 7.696 % of all cache refs (50.20%) | |
11,688,437,832 L1-dcache-loads # 3424.044 M/sec (50.20%) | |
167,314,710 L1-dcache-load-misses # 1.43% of all L1-dcache hits (50.14%) | |
4,828,991,763 L1-dcache-stores # 1414.619 M/sec (39.94%) | |
25,431 LLC-loads # 0.007 M/sec (39.84%) | |
2,462 LLC-load-misses # 9.68% of all LL-cache hits (39.84%) | |
25,257 LLC-stores # 0.007 M/sec (19.92%) | |
3.413836307 seconds time elapsed | |
3.413809000 seconds user | |
0.000000000 seconds sys | |
Performance counter stats for './with-sscanf 16384': | |
3,433.14 msec task-clock # 1.000 CPUs utilized | |
15,229,634,712 cycles # 4.436 GHz (29.87%) | |
46,409,972,603 instructions # 3.05 insn per cycle (39.89%) | |
63 faults # 0.018 K/sec | |
1,710,610 cache-references # 0.498 M/sec (49.91%) | |
52,191 cache-misses # 3.051 % of all cache refs (49.91%) | |
11,674,460,663 L1-dcache-loads # 3400.515 M/sec (49.99%) | |
170,813,689 L1-dcache-load-misses # 1.46% of all L1-dcache hits (50.10%) | |
4,829,455,439 L1-dcache-stores # 1406.715 M/sec (40.08%) | |
23,221 LLC-loads # 0.007 M/sec (40.08%) | |
661 LLC-load-misses # 2.85% of all LL-cache hits (40.08%) | |
20,998 LLC-stores # 0.006 M/sec (19.95%) | |
3.433641363 seconds time elapsed | |
3.433380000 seconds user | |
0.000000000 seconds sys | |
Performance counter stats for './with-sscanf 16384': | |
3,428.30 msec task-clock # 1.000 CPUs utilized | |
15,216,568,857 cycles # 4.439 GHz (29.95%) | |
46,349,440,891 instructions # 3.05 insn per cycle (39.99%) | |
65 faults # 0.019 K/sec | |
480,442 cache-references # 0.140 M/sec (50.13%) | |
40,558 cache-misses # 8.442 % of all cache refs (50.25%) | |
11,675,140,319 L1-dcache-loads # 3405.516 M/sec (50.25%) | |
141,917,806 L1-dcache-load-misses # 1.22% of all L1-dcache hits (50.21%) | |
4,835,185,788 L1-dcache-stores # 1410.373 M/sec (39.95%) | |
24,130 LLC-loads # 0.007 M/sec (39.83%) | |
2,349 LLC-load-misses # 9.73% of all LL-cache hits (39.72%) | |
16,693 LLC-stores # 0.005 M/sec (19.95%) | |
3.428758111 seconds time elapsed | |
3.428493000 seconds user | |
0.000000000 seconds sys | |
Performance counter stats for './with-sscanf 16384': | |
3,435.95 msec task-clock # 1.000 CPUs utilized | |
15,213,895,148 cycles # 4.428 GHz (29.98%) | |
46,399,760,132 instructions # 3.05 insn per cycle (39.99%) | |
65 faults # 0.019 K/sec | |
466,446 cache-references # 0.136 M/sec (50.00%) | |
42,392 cache-misses # 9.088 % of all cache refs (50.12%) | |
11,672,648,509 L1-dcache-loads # 3397.213 M/sec (50.12%) | |
174,321,446 L1-dcache-load-misses # 1.49% of all L1-dcache hits (50.06%) | |
4,833,894,990 L1-dcache-stores # 1406.859 M/sec (40.05%) | |
21,779 LLC-loads # 0.006 M/sec (39.99%) | |
2,194 LLC-load-misses # 10.07% of all LL-cache hits (39.87%) | |
18,609 LLC-stores # 0.005 M/sec (19.90%) | |
3.436299874 seconds time elapsed | |
3.436157000 seconds user | |
0.000000000 seconds sys | |
Performance counter stats for './with-sscanf 16384': | |
3,479.85 msec task-clock # 1.000 CPUs utilized | |
15,213,390,380 cycles # 4.372 GHz (30.00%) | |
46,392,727,483 instructions # 3.05 insn per cycle (40.00%) | |
65 faults # 0.019 K/sec | |
779,169 cache-references # 0.224 M/sec (50.00%) | |
27,796 cache-misses # 3.567 % of all cache refs (50.00%) | |
11,678,952,979 L1-dcache-loads # 3356.166 M/sec (50.00%) | |
172,346,215 L1-dcache-load-misses # 1.48% of all L1-dcache hits (50.00%) | |
4,831,055,576 L1-dcache-stores # 1388.294 M/sec (40.00%) | |
26,337 LLC-loads # 0.008 M/sec (40.00%) | |
129 LLC-load-misses # 0.49% of all LL-cache hits (40.00%) | |
15,134 LLC-stores # 0.004 M/sec (20.00%) | |
3.480089139 seconds time elapsed | |
3.480041000 seconds user | |
0.000000000 seconds sys | |
Performance counter stats for './with-sscanf 16384': | |
3,521.26 msec task-clock # 1.000 CPUs utilized | |
15,263,931,932 cycles # 4.335 GHz (30.03%) | |
46,437,059,710 instructions # 3.04 insn per cycle (40.02%) | |
65 faults # 0.018 K/sec | |
347,616 cache-references # 0.099 M/sec (50.02%) | |
51,581 cache-misses # 14.838 % of all cache refs (50.02%) | |
11,673,451,848 L1-dcache-loads # 3315.139 M/sec (50.02%) | |
177,565,194 L1-dcache-load-misses # 1.52% of all L1-dcache hits (49.98%) | |
4,825,608,885 L1-dcache-stores # 1370.423 M/sec (39.98%) | |
15,696 LLC-loads # 0.004 M/sec (39.98%) | |
3,694 LLC-load-misses # 23.53% of all LL-cache hits (39.98%) | |
17,421 LLC-stores # 0.005 M/sec (19.99%) | |
3.521591940 seconds time elapsed | |
3.521473000 seconds user | |
0.000000000 seconds sys | |
Performance counter stats for './with-sscanf 16384': | |
3,528.58 msec task-clock # 1.000 CPUs utilized | |
15,207,186,316 cycles # 4.310 GHz (29.97%) | |
46,353,565,721 instructions # 3.05 insn per cycle (40.06%) | |
65 faults # 0.018 K/sec | |
2,420,403 cache-references # 0.686 M/sec (50.12%) | |
68,051 cache-misses # 2.812 % of all cache refs (50.12%) | |
11,675,261,318 L1-dcache-loads # 3308.771 M/sec (50.12%) | |
169,405,838 L1-dcache-load-misses # 1.45% of all L1-dcache hits (50.07%) | |
4,828,765,158 L1-dcache-stores # 1368.473 M/sec (39.90%) | |
23,372 LLC-loads # 0.007 M/sec (39.90%) | |
1,190 LLC-load-misses # 5.09% of all LL-cache hits (39.90%) | |
25,427 LLC-stores # 0.007 M/sec (19.95%) | |
3.528804275 seconds time elapsed | |
3.528742000 seconds user | |
0.000000000 seconds sys | |
Performance counter stats for './with-sscanf 16384': | |
3,511.18 msec task-clock # 1.000 CPUs utilized | |
15,228,263,979 cycles # 4.337 GHz (29.83%) | |
46,385,486,595 instructions # 3.05 insn per cycle (39.85%) | |
65 faults # 0.019 K/sec | |
401,361 cache-references # 0.114 M/sec (49.88%) | |
17,028 cache-misses # 4.243 % of all cache refs (49.93%) | |
11,685,250,332 L1-dcache-loads # 3328.016 M/sec (50.04%) | |
178,590,200 L1-dcache-load-misses # 1.53% of all L1-dcache hits (50.12%) | |
4,829,975,055 L1-dcache-stores # 1375.600 M/sec (40.10%) | |
16,032 LLC-loads # 0.005 M/sec (40.10%) | |
1,500 LLC-load-misses # 9.36% of all LL-cache hits (40.05%) | |
23,047 LLC-stores # 0.007 M/sec (19.88%) | |
3.511411897 seconds time elapsed | |
3.511361000 seconds user | |
0.000000000 seconds sys |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Performance counter stats for './without-sscanf 16384': | |
3,305.55 msec task-clock # 1.000 CPUs utilized | |
14,614,064,335 cycles # 4.421 GHz (29.83%) | |
46,334,005,824 instructions # 3.17 insn per cycle (39.88%) | |
62 faults # 0.019 K/sec | |
444,131 cache-references # 0.134 M/sec (49.92%) | |
85,279 cache-misses # 19.201 % of all cache refs (50.04%) | |
11,647,192,197 L1-dcache-loads # 3523.524 M/sec (50.16%) | |
174,702,691 L1-dcache-load-misses # 1.50% of all L1-dcache hits (50.22%) | |
4,833,774,237 L1-dcache-stores # 1462.320 M/sec (40.16%) | |
22,229 LLC-loads # 0.007 M/sec (40.04%) | |
3,306 LLC-load-misses # 14.87% of all LL-cache hits (39.92%) | |
25,478 LLC-stores # 0.008 M/sec (19.84%) | |
3.306532250 seconds time elapsed | |
3.306419000 seconds user | |
0.000000000 seconds sys | |
Performance counter stats for './without-sscanf 16384': | |
3,260.51 msec task-clock # 1.000 CPUs utilized | |
14,616,001,190 cycles # 4.483 GHz (29.82%) | |
46,481,309,927 instructions # 3.18 insn per cycle (39.88%) | |
64 faults # 0.020 K/sec | |
479,145 cache-references # 0.147 M/sec (49.94%) | |
40,094 cache-misses # 8.368 % of all cache refs (50.06%) | |
11,673,144,458 L1-dcache-loads # 3580.163 M/sec (50.19%) | |
186,586,261 L1-dcache-load-misses # 1.60% of all L1-dcache hits (50.30%) | |
4,822,141,910 L1-dcache-stores # 1478.955 M/sec (40.12%) | |
24,265 LLC-loads # 0.007 M/sec (40.00%) | |
2,425 LLC-load-misses # 9.99% of all LL-cache hits (39.88%) | |
14,949 LLC-stores # 0.005 M/sec (19.87%) | |
3.260765026 seconds time elapsed | |
3.260726000 seconds user | |
0.000000000 seconds sys | |
Performance counter stats for './without-sscanf 16384': | |
3,290.11 msec task-clock # 1.000 CPUs utilized | |
14,645,253,616 cycles # 4.451 GHz (29.91%) | |
46,603,420,378 instructions # 3.18 insn per cycle (40.00%) | |
62 faults # 0.019 K/sec | |
597,811 cache-references # 0.182 M/sec (50.09%) | |
92,495 cache-misses # 15.472 % of all cache refs (50.16%) | |
11,697,888,124 L1-dcache-loads # 3555.469 M/sec (50.16%) | |
177,936,563 L1-dcache-load-misses # 1.52% of all L1-dcache hits (50.16%) | |
4,810,969,478 L1-dcache-stores # 1462.251 M/sec (39.94%) | |
36,210 LLC-loads # 0.011 M/sec (39.88%) | |
4,995 LLC-load-misses # 13.79% of all LL-cache hits (39.87%) | |
30,324 LLC-stores # 0.009 M/sec (19.94%) | |
3.290458443 seconds time elapsed | |
3.286298000 seconds user | |
0.003997000 seconds sys | |
Performance counter stats for './without-sscanf 16384': | |
3,266.69 msec task-clock # 1.000 CPUs utilized | |
14,623,533,978 cycles # 4.477 GHz (29.81%) | |
46,381,201,791 instructions # 3.17 insn per cycle (39.85%) | |
62 faults # 0.019 K/sec | |
362,966 cache-references # 0.111 M/sec (49.89%) | |
37,725 cache-misses # 10.394 % of all cache refs (50.01%) | |
11,674,256,850 L1-dcache-loads # 3573.729 M/sec (50.13%) | |
158,614,094 L1-dcache-load-misses # 1.36% of all L1-dcache hits (50.20%) | |
4,830,686,156 L1-dcache-stores # 1478.772 M/sec (40.07%) | |
17,210 LLC-loads # 0.005 M/sec (40.07%) | |
2,475 LLC-load-misses # 14.38% of all LL-cache hits (39.95%) | |
16,268 LLC-stores # 0.005 M/sec (19.84%) | |
3.267040002 seconds time elapsed | |
3.266861000 seconds user | |
0.000000000 seconds sys | |
Performance counter stats for './without-sscanf 16384': | |
3,252.57 msec task-clock # 1.000 CPUs utilized | |
14,577,024,931 cycles # 4.482 GHz (29.98%) | |
46,401,430,166 instructions # 3.18 insn per cycle (40.06%) | |
62 faults # 0.019 K/sec | |
325,555 cache-references # 0.100 M/sec (50.14%) | |
38,182 cache-misses # 11.728 % of all cache refs (50.20%) | |
11,674,940,768 L1-dcache-loads # 3589.455 M/sec (50.20%) | |
169,950,719 L1-dcache-load-misses # 1.46% of all L1-dcache hits (50.10%) | |
4,830,034,789 L1-dcache-stores # 1484.992 M/sec (39.90%) | |
15,197 LLC-loads # 0.005 M/sec (39.84%) | |
517 LLC-load-misses # 3.40% of all LL-cache hits (39.84%) | |
14,441 LLC-stores # 0.004 M/sec (19.92%) | |
3.252830469 seconds time elapsed | |
3.252743000 seconds user | |
0.000000000 seconds sys | |
Performance counter stats for './without-sscanf 16384': | |
3,257.80 msec task-clock # 1.000 CPUs utilized | |
14,591,823,915 cycles # 4.479 GHz (30.03%) | |
46,405,638,335 instructions # 3.18 insn per cycle (40.10%) | |
62 faults # 0.019 K/sec | |
370,919 cache-references # 0.114 M/sec (50.17%) | |
46,783 cache-misses # 12.613 % of all cache refs (50.27%) | |
11,672,052,039 L1-dcache-loads # 3582.804 M/sec (50.15%) | |
186,152,993 L1-dcache-load-misses # 1.59% of all L1-dcache hits (50.08%) | |
4,828,118,079 L1-dcache-stores # 1482.019 M/sec (39.89%) | |
19,237 LLC-loads # 0.006 M/sec (39.78%) | |
2,564 LLC-load-misses # 13.33% of all LL-cache hits (39.78%) | |
14,619 LLC-stores # 0.004 M/sec (20.01%) | |
3.257977327 seconds time elapsed | |
3.257963000 seconds user | |
0.000000000 seconds sys | |
Performance counter stats for './without-sscanf 16384': | |
3,266.62 msec task-clock # 1.000 CPUs utilized | |
14,626,578,304 cycles # 4.478 GHz (29.77%) | |
46,364,051,531 instructions # 3.17 insn per cycle (39.81%) | |
64 faults # 0.020 K/sec | |
522,507 cache-references # 0.160 M/sec (49.85%) | |
31,317 cache-misses # 5.994 % of all cache refs (49.97%) | |
11,677,243,065 L1-dcache-loads # 3574.713 M/sec (50.10%) | |
146,441,277 L1-dcache-load-misses # 1.25% of all L1-dcache hits (50.20%) | |
4,831,289,655 L1-dcache-stores # 1478.986 M/sec (40.16%) | |
34,097 LLC-loads # 0.010 M/sec (40.11%) | |
2,310 LLC-load-misses # 6.77% of all LL-cache hits (39.99%) | |
17,578 LLC-stores # 0.005 M/sec (19.84%) | |
3.266821865 seconds time elapsed | |
3.266796000 seconds user | |
0.000000000 seconds sys | |
Performance counter stats for './without-sscanf 16384': | |
3,254.47 msec task-clock # 1.000 CPUs utilized | |
14,591,920,272 cycles # 4.484 GHz (29.92%) | |
46,406,512,943 instructions # 3.18 insn per cycle (40.00%) | |
63 faults # 0.019 K/sec | |
746,927 cache-references # 0.230 M/sec (50.08%) | |
14,519 cache-misses # 1.944 % of all cache refs (50.20%) | |
11,674,919,916 L1-dcache-loads # 3587.350 M/sec (50.22%) | |
173,527,938 L1-dcache-load-misses # 1.49% of all L1-dcache hits (50.17%) | |
4,829,439,107 L1-dcache-stores # 1483.941 M/sec (39.97%) | |
23,536 LLC-loads # 0.007 M/sec (39.84%) | |
75 LLC-load-misses # 0.32% of all LL-cache hits (39.82%) | |
20,461 LLC-stores # 0.006 M/sec (19.91%) | |
3.254671832 seconds time elapsed | |
3.254643000 seconds user | |
0.000000000 seconds sys | |
Performance counter stats for './without-sscanf 16384': | |
3,280.87 msec task-clock # 1.000 CPUs utilized | |
14,603,408,633 cycles # 4.451 GHz (30.02%) | |
46,403,391,319 instructions # 3.18 insn per cycle (40.02%) | |
62 faults # 0.019 K/sec | |
609,470 cache-references # 0.186 M/sec (50.01%) | |
44,502 cache-misses # 7.302 % of all cache refs (50.01%) | |
11,677,080,425 L1-dcache-loads # 3559.145 M/sec (50.01%) | |
155,993,769 L1-dcache-load-misses # 1.34% of all L1-dcache hits (49.99%) | |
4,828,884,999 L1-dcache-stores # 1471.832 M/sec (39.99%) | |
23,206 LLC-loads # 0.007 M/sec (39.99%) | |
2,365 LLC-load-misses # 10.19% of all LL-cache hits (39.99%) | |
15,964 LLC-stores # 0.005 M/sec (19.99%) | |
3.281105333 seconds time elapsed | |
3.281077000 seconds user | |
0.000000000 seconds sys | |
Performance counter stats for './without-sscanf 16384': | |
3,258.22 msec task-clock # 1.000 CPUs utilized | |
14,594,778,365 cycles # 4.479 GHz (29.90%) | |
46,425,350,139 instructions # 3.18 insn per cycle (39.97%) | |
63 faults # 0.019 K/sec | |
1,316,501 cache-references # 0.404 M/sec (50.03%) | |
28,871 cache-misses # 2.193 % of all cache refs (50.16%) | |
11,665,768,096 L1-dcache-loads # 3580.409 M/sec (50.28%) | |
181,258,771 L1-dcache-load-misses # 1.55% of all L1-dcache hits (50.21%) | |
4,825,679,692 L1-dcache-stores # 1481.077 M/sec (40.02%) | |
37,964 LLC-loads # 0.012 M/sec (39.90%) | |
1,443 LLC-load-misses # 3.80% of all LL-cache hits (39.78%) | |
12,624 LLC-stores # 0.004 M/sec (19.89%) | |
3.258468306 seconds time elapsed | |
3.258410000 seconds user | |
0.000000000 seconds sys |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment