CPU á á˝ááşá¸ááąáŹááşáááşááᯠáĄáá˛ááźááşáááŻáˇáĄáá˝ááş ááááááŹáá˝áąáĄááźáąáŹááşá¸ ááťá˝ááşááąáŹáşáááŻáˇ áááşáááşáá˝áąá¸áá˝áąá¸áá˝áŹá¸ááŤáááş- Linux-á ááşááťáŹá¸á áááąáˇáá ášá ááşá¸ááťáŹá¸- temciá uach-benchá likwidá perf-tools áážááˇáş llvm-mcaá
ááąáŹááşáááş á áśáááşáážááşááťááşááťáŹá¸-
ááŤááşááŻáś - - Splash áááŻááźáŻááşááŤá
áááşá¸áááş ááááŻááááşáážá áşááŻá ááŻááşááąáŹááşááťáááşááᯠáĄáá˛ááźááşáááş ááááááŹáá áşááŻááźá áşáááşá áĄáážá áşááŹááĄáŹá¸ááźááˇáşá áááşá¸áááş áááˇáşáĄáŹá¸ áĄáááŽááąá¸áážááşá¸áážá áşááŻá ááŻááşááąáŹááşááťáááşááᯠáážááŻááşá¸áážááşáááŻááşáááşá utility áááŻááąá¸ááŹá¸áá°áááş 2016 ááŻáážá áşáá˝ááşáá°ááá˝á˛áˇá áŹáááşá¸ááá áşá áááşáá áşáááŻááşá¸áĄááźá áşáááşá¸áááŻááŽáá˝ááşáá˛áˇááąáŹááťáŹáááŽááž Johannes Bechberger áážááťáąáŹááşá¸ááŹá¸ááźá áşáááşá áááąáˇáá˝ááşáááááᏠGNU áĄáá˝áąáá˝áąáĄááťáŹá¸ááźááşáá°áááŻááşá ááşáĄáąáŹááşáá˝ááşá
Johannes áááş ááááşá¸ááťáŻááşááŹá¸ááąáŹ áááşáááşá¸ááťááşáá˝ááş áá˝ááşááťá°ááŹá áá áşá á á˝ááşá¸ááąáŹááşáááşááᯠáááŻááşá¸ááŹáááŻááşáááˇáş ááááááŹáá áşááŻááᯠáááşááŽá¸áááŻáá˛áˇáááşá áááŻáˇááźáąáŹááˇáşá temci ááĄááááĄááşášááŤáááşááťáŹá¸áá˛áážáá áşááŻáááşá ááşá¸áááşáážáŻáááşáááşá¸ááťááşáá áşááŻáááşááąáŹááşáááŻááşáážáŻááźá áşáááşá áĽáááŹáĄáŹá¸ááźááşáˇ, : CPU ááźáááşáážáŻááşá¸ááááşá¸ááťáŻááşáážáŻáááşááąááťáŹáááşáááşááťáŹá¸áááŻááźáąáŹááşá¸ááŤá ááááşááŤá áážááˇáş L1 áážááˇáş L2 áááşáážáşááťáŹá¸á Intel ááááŻáááşááŹááťáŹá¸ááąáŤáşáá˝ááş ááŹáááŻááŻááşááᯠááááşáááşá á áááşááźááˇáş á áśáááşáážááşááźááşá¸áĄáá˝ááşá temci áááş ááááááŹááťáŹá¸ááᯠáĄááŻáśá¸ááźáŻáááş , и .
á¤áĄááŹáááş áááááá ášá áá˝ááş utility áĄááŻááşááŻááşááŻáśááźá áşáááş-
# compare the run times of two programs, running them each 20 times
> temci short exec "sleep 0.1" "sleep 0.2" --runs 20
Benchmark 20 times [####################################] 100%
Report for single runs
sleep 0.1 ( 20 single benchmarks)
avg_mem_usage mean = 0.000, deviation = 0.0
avg_res_set mean = 0.000, deviation = 0.0
etime mean = 100.00000m, deviation = 0.00000%
max_res_set mean = 2.1800k, deviation = 3.86455%
stime mean = 0.000, deviation = 0.0
utime mean = 0.000, deviation = 0.0
sleep 0.2 ( 20 single benchmarks)
avg_mem_usage mean = 0.000, deviation = 0.0
avg_res_set mean = 0.000, deviation = 0.0
etime mean = 200.00000m, deviation = 0.00000%
max_res_set mean = 2.1968k, deviation = 3.82530%
stime mean = 0.000, deviation = 0.0
utime mean = 0.000, deviation = 0.0
á áśáážáŻááşá¸ááááşááťáŹá¸áĄááąáŤáş áĄááźáąááśá á áá áşáááŻááşááąá¸áááşá temci ááᯠáĄááŹá¸áá°ááźáąáážááşá¸ááťááşááťáŹá¸áážááˇáş áá˝á˛ááźáŹá¸ááąá¸ááąáŹ ááŻáśááźááşá¸ááťáŹá¸á áááŹá¸ááťáŹá¸áážááˇáş ááááşááťáŹá¸á
temci ááĄáŹá¸áááşá¸ááťááşááťáŹá¸áá˛áá˝ááşáááşá¸á "áá°áááş" áááşáááşáážáŹá¸áááşá ááŽáĄáá˝ááşááźáąáŹááˇáşááŤá ááŹáˇááşáá˛áážááˇáş ááąáŹáˇááşáá˛ááş ááźááşáááşáážáŻááťáŹá¸á áĽáááŹáĄáŹá¸ááźááˇáşá áááşá¸áááş áĄáąáŹááşáá˝ááş ááŻááşááąáŹááşáááş áááşáá˛áááş macOSARM processor ááŤáá˛áˇ á áá áşáá˝áąáážáŹ ááŻááşááąáŹááşááťááşáááťááŻáˇááᯠáááážááááŻááşááŤáá°á¸á á áŹááąá¸áá°á ááŽáááąáŹááťááşááᯠáááşááźá˝á á˝áŹ ááŽáá˝ááşááąááźáŽá¸ GitHub áážáŹ ááźááşáá˝ááˇáşáĄááąáĄáá˝ááş áááźááşá¸ááźááşá¸ áááŻá¸ááŹááąááŹááźáąáŹááˇáş áĄááŹáááşáážáŹ ááŤá ááźáąáŹááşá¸áá˛áá˝áŹá¸áááŻááşááŤáááşâáááźáŹááąá¸áááşáááž temci áááąáŹááş Hacker ááááşá¸ááťáŹá¸á
áĄááşááťááşááŽáᏠTravis Downes áážááŽáá˝ááşááŹá¸ááąáŹ áĄáááˇáşááááˇáş CPU ááŻááşááąáŹááşááťááşááťáŹá¸á á á˝ááşá¸ááąáŹááşáááşááᯠáĄáá˛ááźááşáááşáĄáá˝ááş áĄááŻáśá¸áááşáážáŻáá áşááŻá) áááźáŹááąá¸ááŽá áá°áˇáááŻááşáááŻááşáááąáŹáˇááşááᯠá áááşáá˛áˇáááşá GitHub Pages áá˝ááşá áá°áááş benchmarking tools áážááˇáş áĄááźáŹá¸áááşá ááşáĄááŹááťáŹá¸áĄááźáąáŹááşá¸ áá˝áąá¸áá˝áąá¸áááşá ááąáá°ááťáĄáŹá¸ááźááˇáşá uarch-bench áááş áá°ááźááŻááşááťáŹá¸á ááźáŻááąááźáŽááźá áşááąáŹáşáááşá¸ áááşá¸áááş áááźáŹááááźá áşááąááźáŽááźá áşáááşá áááşááŹááááşá¸ááťáŹá¸ááᯠá áśáážáŻááşá¸áááşáážááşááźááşá¸áĄáá˝ááş áááşá¸áá˝ážááşááťááşáá áşááŻáĄááźá áş áĄááźáąáŹááşá¸áĄááŹáĄá áŽáĄá áĽáşááťáŹá¸áá˝ááş ááąáááŻááşáá°ááťáŹá¸á
Uarch-bench áááş áááˇáşáĄáŹá¸ áááşáááŻááŽá á˝ááşá¸ááąáŹááşáááşá áĄááźááŻááşááąááŹáááşááźááşá¸ááźááşáážáŻááşá¸áážááˇáş áááˇáşáážááşá¸ááąá¸ááŻááşááąáŹááşáážáŻááᯠáĄáá˛ááźááşáááş áá˝ááˇáşááźáŻáááşá . ááááŻááááşááž ááŻááşááąá¸ááąáŹ á áśáážáŻááşá¸ááááşááťáŹá¸ áááşáááŻáˇáááşááŻáśáážááááşááᯠáá˝áąáˇáážááááŻááşáááşá á áŹááťááşáážáŹááĄáąáŹááşááźáąáá˝ááşá
temci áá˛áˇáááŻáˇ uarch-ááŻáśáááşá¸ááťáŹá¸á áááááşáááşá¸á ááşá¸áááşáážáŻááááşááťáŹá¸áááŻááąááťáŹá áąáááş Intel Turbo Boost ááŻááşááąáŹááşááťááş (áááşá¸áááş ááááŻáááşááŹááŹááŽáĄááźááşáážáŻááşá¸ááᯠáĄáááŻáĄááťáąáŹááşáááŻá¸ááąá¸áááş)á
áááąáŹááťááşáááş áá˝áśáˇááźááŻá¸áááŻá¸áááşáážáŻááĄá áąáŹáááŻááşá¸áĄáááˇáşáá˝ááşáážáááąáá˛ááźá áşááąáŹááźáąáŹááˇáş uarch-bench áá˝ááşáĄááąá¸á áááşá áŹáá˝ááşá áŹáááşá¸ááťáŹá¸ááážáááŤá áááşá¸áááŻááşááąáŹááşááťááşáá˝ááş bugs ááťáŹá¸ááŤáážááááş - áĽáááŹá Ryzen áá˝ááşá áááşáááşá áááŻáˇáĄááźááşá x86 ááááŻááŹááťáŹá¸áĄáá˝ááş á áśáááşáážááşááťááşááťáŹá¸áááŻáᏠááśáˇáááŻá¸ááŹá¸áááşá á áŹááąá¸áá°áááş áĄááŹáááşáá˝ááş áááŻáááŻááŻááşááąáŹááşáááŻááşá á˝ááşá¸ááᯠáááˇáşáá˝ááşá¸ááąá¸áááşáᯠáááááźáŻááźáŽá¸ áá˝áśáˇááźááŻá¸áááŻá¸áááşáážáŻáá˝ááş ááŤáááşáááş áááˇáşáĄáŹá¸ ááááşááźáŹá¸ááŤáááşá
ááŤá á á˝ááşá¸ááąáŹááşáááş áĄáá˛ááźááşáááŻáˇáĄáá˝ááş ááááááŹáĄá áŻáśáá áşááŻááŤá Linux-Intelá AMD áážááˇáş ARMv8 ááááŻáááşááŹááťáŹá¸ááŤáážáááąáŹ á ááşááťáŹá¸á áááşá¸ááᯠáááá ááŻáážá áşáá˝ááş ááťáŹáááşáááşááááşáááŹááąá¸áážááˇáş ááŻááąáááááşááźáŽá¸ááŹáá ááźáŽá¸ááźááşáážáŻáĄáąáŹááşáá˝ááş áááşááŽá¸áá˛áˇááźáŽá¸ open source áĄááźá áş ááźáŻááŻááşáá˛áˇáááşá
likwid ááááááŹááťáŹá¸áá˛áá˝ááşá RAPL áážááşááŻáśáááşáážáŻááťáŹá¸ááž áĄááťááşáĄáááşááťáŹá¸ááᯠááźáááąá¸áááˇáş likwid-powermeter áážááˇáş ááááŻáááşááŹááźáááşáážáŻááşá¸ááᯠááááşá¸ááťáŻááşáááŻááşáááˇáş likwid-setFrequencies áááŻáˇááᯠááťá˝ááşáŻááşáááŻáˇ ááŽá¸ááąáŹááşá¸áááŻá¸ááźáááŻááşááŤáááşá á áŹáááşá¸áĄááźááˇáşáĄá áŻáśááᯠááźááˇáşáážáŻáááŻááşááŤáááşá .
áĄáááŻááŤááááááŹááᯠHPC ááŻááąáááá˝ááşááŤáááşáááˇáşáĄááşááťááşááŽááŹááťáŹá¸áážáĄááŻáśá¸ááźáŻáááşá áĽáááŹáĄáŹá¸ááźááˇáşá likwid áážááˇáş ááťáŹáááŽáážá University of Erlangen-Nuremberg (RRZE) á ááąááááŻááşáᏠáá˝ááşááťá°ááŹá ááşáᏠ(RRZE) ááž ááŤááá°áĄáá˝á˛áˇáá áşáá˝á˛áˇáááş á¤ááááááŹááááááŹáĄá áŻáśáĄáááşááᯠáá˝áśáˇááźááŻá¸áááŻá¸áááşááąá¸áá˝ááş áááşááźá˝á á˝áŹááŤáááşááąáŹááşáá˝ááşááťááşáážáááŤáááşá

ááŤááşááŻáś - - Splash áááŻááźáŻááşááŤá
ááŤá á á˝ááşá¸ááąáŹááşáááş áá˝á˛ááźááşá¸á áááşááźáŹáá˛áˇ ááááááŹáá áşááŻá፠Linux-ááŹááŹááťáŹá¸ ááááşáááş ááááşááşá áá°áááş developer áá áşáŚá¸ááźá áşáááşá â áĄááťáááşáážááˇáşáááźáąá¸áᎠáĄáážáŹá¸áážáŹáĄáááŽááąá¸áážááşá¸ááťáŹá¸áĄáá˝ááş áááŻááşá¸ááá áşááźáąááŹááśááźááşá¸ááąáŹááşá
perf-tools ááťáŹá¸áááş perf_events áážááˇáş ftrace kernel subsystems ááťáŹá¸áĄááąáŤáş áĄááźáąááśááŹá¸áááşá áááşá¸áááŻáˇá utilities ááťáŹá¸áááş áááˇáşáĄáŹá¸ input/output latency (iosnoop)á á áá áşááąáŤáşáááŻáážáŻááťáŹá¸ (unccountá funcslowerá funcgraph áážááˇáş functrace) ááᯠáá˝á˛ááźááşá¸á áááşááźáŹáááŻááşááźáŽá¸ áááŻááş cache hits (cachestat) áá˝ááş á áŹáááşá¸áááŹá¸ááťáŹá¸ááᯠá áŻááąáŹááşá¸áááŻááşá áąááŤáááşá ááąáŹááşááŻáśá¸áĄááźáąáĄááąáá˝ááşá command áááşá¤áá˛áˇáááŻáˇááźá áşáááş-
# ./cachestat -t
Counting cache functions... Output every 1 seconds.
TIME HITS MISSES DIRTIES RATIO BUFFERS_MB CACHE_MB
08:28:57 415 0 0 100.0% 1 191
08:28:58 411 0 0 100.0% 1 191
08:28:59 362 97 0 78.9% 0 8
08:29:00 411 0 0 100.0% 0 9
áááááᏠáááşáááşáá˝ááş áĄááąáŹáşááąá¸ ááźáŽá¸ááŹá¸ááąáŹ áĄáááŻááşáĄáááşá¸áá áşáᯠááąáŤáşááąáŤááşááŹááŤáááş () áĽáááŹ- perf-tools áá˝áąááᯠáááşáááşááźá˝ááźá˝ááŻáśá¸áá˛áˇ ááŻáášáááŽáá˝áąáážááááşá . áááŻáˇááąáŹáş ááááááŹááᯠááźážááˇáşáááşááźáŽá¸ ááźáŻááźááşáá˝ááşá¸ááśááąáááş (áá˝ááşá¸ááśáážáŻááťáŹá¸ áááźáŹááąá¸ááŽá áá˝ááşáážááá˛ááąáŹáşáááşá¸)á áááŻáˇááźáąáŹááˇáşá áááşá¸áááŻááşááąáŹááşáážáŻáá˝ááş áĄáážáŹá¸áĄáá˝ááşá¸ááťáŹá¸ ááźá áşááąáŤáşááŹáááŻááşáááş - áá áşááŤáá áşááś perf-tools ááťáŹá¸áááş kernel áĄááááşááááˇáşááźá áşá áąáááşáᯠá áŹááąá¸áá°á ááąá¸ááŹá¸áá˛áˇáááşá
ááá°ááŽááąáŹ CPU ááťáŹá¸áá˝ááş áá˝ááşááťá°ááŹááŤááŤá ááşááŻááşáááşááťážáááŻáĄááşáááşááᯠáááˇáşáážááşá¸áááŻááşááąáŹ áĄááŻáśá¸áááşáážáŻáá áşááŻá á ááşáááşá¸áĄáááŻááş áá˝ážááşááźáŹá¸ááťááşááťáŹá¸ () áážááˇáş áĄáááŽááąá¸áážááşá¸áá áşááŻáážááŻááşááąá¸ááąáŹ ááŹáˇááşáá˛áááşá
llvm-mca ááᯠáááąáŹááťááşá áá áşá áááşáá áşáááŻááşá¸áĄááźá áş 2018 áá˝ááş ááááşáááşáá˛áˇáááşá ááááŻááááşááťáŹá¸ááᯠáá˝á˛ááźááşá¸á áááşááźáŹááźááşá¸á áĄáá˝ááşááźáąáŹááşá¸ááźááşá¸áážááˇáş áááŻáááŻááąáŹááşá¸áá˝ááşáĄáąáŹááşááźáŻááŻááşááźááşá¸áĄáá˝ááş á ááźáá áŹá áá áşáá áşááŻááᯠááąáŹáşááąáŹááşááťááşáážááááşá llvm-mca áááąá¸ááŹá¸áá°ááťáŹá¸áááş ááąáŹáˇááşáá˛á á˝ááşá¸ááąáŹááşáááşááᯠáááŻááşá¸ááźáŹá¸á áááşááźáŹááźááşá¸áĄáá˝ááş ááźáąáážááşá¸ááťááşááźááˇáş áážáŻáśáˇááąáŹáşááśáááźáąáŹááşá¸ áááážááááŤáááşá áááşá¸áĄáá˝ááş áĄááźáŹá¸áá˝áąá¸ááťááşá ááŹáá áşááŻááᯠáááşááŽá¸áááş áážáŹáá˝áąáá˛áˇáááşá ááŻáśá¸á á˝á˛áá°ááťáŹá¸áĄáááŻáĄáá ááááááŹááĄáá˝ááş (áááşá¸ááĄáážááşáĄááŹá¸áážááˇáş áááŹá) áááş IACA áážááˇáş áĄáážááşááááşáá°áááş â áĽáááŹáá áşáᯠ. áááŻáˇááąáŹáşáááşá¸ llvm-mca ááᏠáááşááśáááşá áááŻáˇááźáąáŹááˇáş áááşá¸áážááˇáşááŻááşááąáŹááşáááş áááşáááş converters ááťáŹá¸ááᯠáĄááŻáśá¸ááźáŻáááş ááźá áşáááŻááşááťáąááťáŹá¸ááŤáááşá
ááťá˝ááşáŻááşáááŻáˇááááąáŹáˇááşááťáŹá¸áážááˇáş áá°áážáŻáá˝ááşáááşááťáŹá¸áá˝ááş ááťá˝ááşáŻááşáááŻáˇááąá¸ááŹá¸ááŹá¸áááşááťáŹá¸-
![]()
![]()
![]()
![]()
![]()
1cloud.ru áá˝ááşááťá˝ááşáŻááşáááŻáˇáááşáĄááá˛áˇ á ááşááąáŹááşáážáŻáááŻááąá¸áááş"ááťá˝ááşáŻááşáááŻáˇááááŻááşáááŻááşáĄááąáŹááˇáşáá
áşááŻáááşá¸áá˝ááş DNS áážááşáááşá¸ááťáŹá¸ááᯠáááşá
áŽááśáááˇáşáá˝á˛áááŻááşáááşá
source: www.habr.com
