Skip to content

Instantly share code, notes, and snippets.

@syohex
Last active May 6, 2020 15:00
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save syohex/613ca2ab30c0db01c54d19ee0acd2553 to your computer and use it in GitHub Desktop.
Save syohex/613ca2ab30c0db01c54d19ee0acd2553 to your computer and use it in GitHub Desktop.
#!/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
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
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:
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
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