ืืืจ ืคืึธืจืืขืฆื ืฆื ืจืขืื ืืืขืื ืืืฉืืจืื ืคึฟืึทืจ ืขืืืึทืืืึทืืื ื CPU ืคืึธืจืฉืืขืืื ื ืืืืฃ Linux-ืืืฉืื ืขื. ืืืื ืืืงืข ืืืืขืจืืืื: ืืขืืืฉื, ืืืืจื-ืืขื ืืฉ, ืืืงืืืื, ืคืขืจืฃ-ืืืืก, ืืื llvm-mca.
ืืขืจ ืืขื ืืฉืืึทืจืงืก:
ืคืึธืืึธ - โ ืึทื ืกืคึผืืึทืฉ
ืืึธืก ืืื ืึท ืืขืฆืืึทื ืคึฟืึทืจ ืึธืคึผืฉืึทืฆื ืื ืืืจืืคืืจืื ื ืฆืืื ืคืื ืฆืืืื ืืืืื. ืืกืขื ืฉืึทืื, ืขืก ืึทืืึทืื ืืืจ ืฆื ืคืึทืจืืืืึทืื ืื ืืืจืืคืืจืื ื ืฆืืื ืคืื ืฆืืืื ืึทืคึผืืึทืงืืืฉืึทื ื. ืืขืจ ืืืืจ ืคึฟืื ืืขืจ ืืืืืืืื ืืื ืืขืืืขื ืึท ืชึผืืืื ืคึฟืื ืืฒึทืืฉืืึทื ื, Johannes Bechberger, ืืืขืืืขืจ ืืึธื ืขืก ืึทื ืืืืืงืื ืืื ืึท ืืืื ืคึฟืื ืืฒึทื ืึทื ืืขืจืืจืึทืืืฉืึทืืืึทื ืืขืืืก ืืื 2016. ืืืื ืืืืข ืืขืฆืืื ืืืืกืึทื ืกื ืืื ืืขืจ ืื GNU ืึทืืืขืืืื ืข ืคึผืืืืืง ืืืกืขื ืกืข.
ืืืฉืึธืืึทื ื ืขืก ืืขืืืืื ืฆื ืฉืึทืคึฟื ืึท ืืขืฆืืึทื ืืืึธืก ืืืึธืื ืืึธืื ืืื ืฆื ืืขืกืื ืื ืคืึธืจืฉืืขืืื ื ืคืื ืึท ืงืึทืืคึผืืืืื ื ืกืืกืืขื ืืื ืึท ืงืึทื ืืจืึธืืื ืกืืืืืืข. ืืขืจืืืขืจ, ืืืื ืขืจ ืคืื ืื ืืืืคึผื ืคึฟืขืึดืงืืืื ืคืื temci ืืื ืื ืคืืืืงืืื ืฆื ืฉืืขืื ืึท ืคึผืจืึธืืข ืกืืืืืืข. ืืืฉื, : ืืืืฉื ืงืคึผื ืึธืคืืงืืึทื ืคืึทืจืืืึทืืืขืจ ืกืขืืืื ืืก, ืืืกืืืืึทื ืืื L1 ืืื L2 ืงืึทืืฉืขืก, ืงืขืจ ืึทืืืขืง ืืืจืืึธ ืืึธืืข ืืืืฃ ืื ืืขื ืคึผืจืึทืกืขืกืขืจื, ืืื"ื ื. ืคึฟืึทืจ ืืขื ืืฉืืึทืจืงืื ื ืืขืืกื ื ืืฆื ืืืฉืืจืื , ะธ .
ืืึธืก ืืื ืืื ืื ื ืืฆื ืงืืงื ืืื ืืื ืืขืจ ืขืจืฉืืขืจ ืคืึทื:
# 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
ืืึทืืืจื ืืืืฃ ืื ืืขื ืืฉืืึทืจืงืื ื ืจืขืืืืืึทืื, ืื ืกืืกืืขื ืืืฉืขื ืขืจืืืฅ ืืื ืืืืึทืืจืึทืื, ืืืฉื ืืื ืืจืึทืคืก, ืืืึธืก ืืืกืืื ืืืืืืฉืื ืืขืืกื ืคืื ืขื ืืขื ืกืึทืืืฉืึทื ื.
ืฆืืืืฉื ืื ืฉืึธืจืืงืึธืืื ืืก ืคืื ืืขืืกื, ืืืึทื "ืืืื ื" ืฉืืืื ืืืืก. ืฆืืืื ืืขื ืขืจ ืืึทืจืืืืขืจ ืืื ืืืืืืืืืจื ืงืึธื ืคืืืืจืึทืฆืืขืก. ืืืฉื, ืขืก ืืื ืฉืืืขืจ ืฆื ืืืืคื ืืื ืืขืจ macOS, ืืื ืขืืืขืืข ืคึฟืื ืงืฆืืขืก ืืขื ืขื ื ืืฉื ืคึฟืึทืจืึทื ืืืืฃ ืกืืกืืขืืขื ืืื ืึทื ARM ืคึผืจืึทืกืขืกืึธืจ. ืืึธืก ืงืขื ืืื ืขื ืืขืจื ืืื ืืขืจ ืฆืืงืื ืคึฟื, ืืืฒึทื ืืขืจ ืืืืจ ืึทื ืืืืืงืื ืึทืงืืืื ืืขื ืคึผืจืึธืืขืงื, ืืื ืื ืฆืึธื ืฉืืขืจื ืืืืฃ GitHub ืืืึทืงืกื ืืืกืืขืืืืฒึทื โ ื ืืฉื ืืึทื ื ืฆืืจืืง, ืืคืืื ืืขืืกื ืืืืฃ ืืขืงืขืจ ื ืืึทืขืก.
ื ื ืืฆื ืคึฟืึทืจ ืืืืึทืืืืืืืื ื ืื ืคืึธืจืฉืืขืืื ื ืคืื ื ืืืขืจืืง-ืืืจืื ืงืคึผื ืคืึทื ืืงืฉืึทื ื, ืืขืืืขืืึธืคึผืขื ืืืจื ืื ืืฉืขื ืืจ Travis Downs (). ืืขืฆืื ืก ืืื ืขืจ ืืืึธืืืื ื ืืืืฃ GitHub ืืืขืืขืจ, ืืืึธืก ืจืขืื ืืืขืื ืืขื ืืฉืืึทืจืงืื ื ืืืฉืืจืื ืืื ืื ืืขืจืข ืคึฟืึทืจืืื ืืขื ืข ืืื ืื. ืืื ืึทืืืขืืืื, ืืึทืจืืฉ-ืืขื ืง ืืื ื ืึธืจ ืึธื ืืืื ืฆื ืืขืืืื ืขื ืคึผืึธืคึผืืืึทืจืืืขื, ืึธืืขืจ ืขืก ืืื ืฉืืื ืืึทื ืฅ ืคึผืจืึธืกื ืจืขืืืืึทื ืฅ ืคืื ืืขืงืขืจ ื ืืึทืขืก ืืื ืืืืึทืืืง ืคึฟืขืืขื ืืื ืึท ืืืื-ืฆื ืืขืฆืืึทื ืคึฟืึทืจ ืืขื ืืฉืืึทืจืงืื ื.
Uarch-Bench ืึทืืึทืื ืืืจ ืฆื ืึธืคึผืฉืึทืฆื ืืึผืจืื ืคืึธืจืฉืืขืืื ื, ืคึผืึทืจืึทืืขื ืืึทืื ืืึธืืืื ื ืืืืงืืึทื ืืื ืจืืื ืืงืื ื ืึทืจืืขื . ืืื ืื ืืขื ืืฉืืึทืจืงืื ื ืจืขืืืืืึทืื ืืืฉืขื ืขืจืืืืึทื ืืืจื ืื ืคึผืจืึธืืจืึทื ืงืขื ืขื ืืืื ืืขืคึฟืื ืขื ืืื ืื ืื ืึธ ืคืื ืื ืืืึทื.
ืขืก ืืื ืืืื ืฆื ืืืืขืจืงื ืึทื ืืึทืจืืฉ-ืืึทื ืง, ืืื ืืขืืกื, Intel Turbo Boost ืคืื ืงืฆืืข (ืขืก ืื ืงืจืืกืื ืืืืืึธืืึทืืืฉ ืื ืคึผืจืึทืกืขืกืขืจ ืืืืืขืจ ืืืืงืืึทื ืืื ืืขืจ ืืึทืกืข) ืึทืืื ืึทื ืื ืคึผืจืืืืจื ืจืขืืืืืึทืื ืืขื ืขื ืงืึธื ืกืืกืืขื ื.
ืืขืจืืืืึทื, ืื ืคึผืจืืืขืงื ืืื ืืื ืื ืคืจื ืกืืึทืืขืก ืคืื ืึทื ืืืืืงืืื ื, ืึทืืื Uarch-Bench ืืื ื ืืฉื ืืืืืืื ืืึทืงืืืืขื ืืืืฉืึทื, ืืื ืืืื ืึธืคึผืขืจืึทืฆืืข ืงืขื ืึทื ืืืึทืืื ืืึทืื - ืืืฉื, ืืื ืงืึทืืขืจ ืืืืฃ Ryzen. ืืืื, ืืืืื ืืขื ืืฉืืึทืจืงืก ืคึฟืึทืจ ืงืก 86 ืึทืจืงืึทืืขืงืืฉืขืจื ืืขื ืขื ืืขืฉืืืฆื. ืืขืจ ืืืืจ ืืืืืืช ืฆื ืืืืื ืืขืจ ืคืึทื ืืงืฉืึทื ืึทืืืื ืืื ืืขืจ ืฆืืงืื ืคึฟื ืืื ืื ืืืืืฅ ืืืจ ืฆื ืคืึทืจืืื ืื ืื ืึทื ืืืืืงืืื ื.
ืืึธืก ืืื ืึท ืกืืื ืืืฉืืจืื ืคึฟืึทืจ ืคืึธืจืฉืืขืืื ื ืขืืืึทืืืึทืฆืืข Linux-ืืืฉืื ืขื ืืื ืืื ืืขื, AMD, ืืื ARMv8 ืคึผืจืึทืกืขืกืึธืจื. ืขืก ืืื ืืืฉืืคื ืืขืืืึธืจื ืืื ืืขืจ ืืขืจ ืืฉืืื ืคืื ืืขื ืืฒึทืืฉื ืคืขืืขืจืืื ืืื ืืกืืขืจืืื ืคืื ืืืืืื ื ืืื ืคืึธืจืฉืื ื ืืื 2017 ืืื ืืจืืืกืืขืืขืื ืืื ืึธืคึฟื ืืงืืจ.
ืฆืืืืฉื ืื ืืืงืืืื ืืืฉืืจืื, ืืืจ ืงืขื ืขื ืืืืืคึผืื ืงื likwid-powermeter, ืืืึธืก ืืืกืคึผืืืื ืืื ืคึฟืึธืจืืึทืฆืืข ืคืื โโโโRAPL ืจืขืืืฉืืกืืขืจื ืืืขืื ืื ืืึทืื ืงืึทื ืกืืื ืืืจื ืื ืกืืกืืขื, ืืื ืืขืืื ื ืืื likwid-setFrequencies, ืืืึธืก ืึทืืึทืื ืืืจ ืฆื ืงืึธื ืืจืึธืืืจื ืื ืคึผืจืึทืกืขืกืขืจ ืึธืคืืงืืึทื. ืืืจ ืงืขื ืขื ืืขื ืื ืืึทื ืฅ ืจืฉืืื .
ืื ืืขืฆืืึทื ืืื ืืขื ืืฆื ืืืจื ืขื ืืืฉืึทื ืืจื ืื ืืืึทืืืื ืืื HPC ืคืึธืจืฉืื ื. ืคึฟืึทืจ ืืืึทืฉืคึผืื, ืืื ืืืงืืืื ืึท ืืจืืคึผืข ืคืื โโืกืคึผืขืฉืึทืืึทืกืฅ ืคืื ืื ืจืขืืืึธื ืึทื ืงืึทืืคึผืืืืื ื ืฆืขื ืืขืจ ืคืื ืืขืจ ืืื ืืืืขืจืกืืืขื ืคืื ืขืจืืึทื ืืขื-ื ืืจืขืืืขืจื (RRZE) ืืื ืืืึทืืฉืืึทื ื. ืื ืืืื ื ืขืื ืึทื ืึทืงืืืื ืึธื ืืืื ืืื ืืขืจ ืึทื ืืืืืงืืื ื ืคืื ืืขื ืืึทื ื ืคืื ืืืฉืืจืื.

ืคืึธืืึธ - โ ืึทื ืกืคึผืืึทืฉ
ืืึธืก ืืื ืึท ืคืึธืจืฉืืขืืื ื ืึทื ืึทืืื ืืขืฆืืึทื Linuxืกืขืจืืืขืจืก ืืจืขื ืืึทื ืืจืขื. ืขืจ ืืื ืืืื ืขืจ ืคืื ืื ืืขืืืขืืึธืคึผืขืจืก - ืึท ืืื ืึทืืืฉ ืืจืืืกืื ื ืคืจืืืืืืขืจืง ืคึฟืึทืจ ืืืืึทืืื ื ืึทืคึผืืึทืงืืืฉืึทื ื ืืื ืคืึทืงืืืฉ ืฆืืื.
perf-tools ืืื ืืืืืจื ืืืืฃ ืื ืคึผืขืจืค_ืขืืืขื ื ืืื ืคืืจืึทืกืข ืงืขืจื ืกืึทืืกืืกืืึทืื. ืืืืขืจ ืืืืืืึทืืื ืืึธืื ืืืจ ืฆื ืคืื ืึทื ืืขืจืงืืืึทืื ื / ืึธ ืืืืืึทื ืกื (ืืึธืกื ืึธืึธืคึผ), ืฉืคึผืืจ ืกืืกืืขื ืจืืคื ืึทืจืืืืขื ืื (ืื ืงืึธืื ื, ืคืื ืงืกืืึธืืืขืจ, ืคืื ืงืืจืึทืฃ ืืื ืคืื ืงืืจืึทืกืข) ืืื ืงืืืึทืื ืกืืึทืืืกืืืง ืืืืฃ "ืืืืก" ืืื ืืขืจ ืืขืงืข ืงืึทืฉ (ืงืึทืืฉืขืกืืึทื). ืืื ืื ืืขืฆืืข ืคืึทื, ืื ืืึทืคึฟืขื ืงืืงื ืืื ืืึธืก:
# ./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
ื ืืึทื ืฅ ืืจืืืก ืงืื ืืื ืืขืฉืืคื ืึทืจืื ืืขื ืงืืืืข (). ืืื ืขืก ืืขื ืขื ืงืึธืืคึผืึทื ืืขืก ืืืึธืก ืึทืงืืืืืื ื ืืฆื ืคึผืขืจืฃ ืืืฉืืจืื, ืืืฉื . ืึธืืขืจ ืื ืืขืฆืืึทื ืืื ืืืืืืขืจ ืืขืืืขืืึธืคึผืขื ืืื ืืึทืืึทืคืืื (ืืึธืืฉ ืืขืจืืืึทื ืืืงืื ืืขื ืืึธืื ืฉืืื ืจืขืืขืึทืกืขื ืืึทื ืฅ ืจืึทืจืขืื ืืขืฆืื ืก). ืืขืจืืืขืจ, ืขืจืจืึธืจืก ืงืขื ืคึผืึทืกืืจื ืืื ืืืึทื ืึธืคึผืขืจืึทืฆืืข - ืืขืจ ืืืืจ ืฉืจืืืื ืึทื ืืื ืคึผืขืจืค-ืืืฉืืจืื ื ืงืขืจื ืคึผืึทื ืืง.
ื ื ืืฆื ืืืึธืก ืคึผืจืืืืงืก ืืื ืคืืืข ืงืึทืืคึผืืืืื ื ืจืขืกืืจืกื ืืึทืฉืื ืงืึธื ืืืขื ืืึทืจืคื ืืืืฃ ืคืึทืจืฉืืืขื ืข ืงืคึผืืก. ืื ืืื ืกืืจืืงืฆืืขืก ืคึผืขืจ ืฆืืงื () ืืื ืื ืืึทืกืข ืืืืฃ ืื ืืึทืื ืืืึทืจื ืืืึธืก ืึท ืืึทืืื ืืขืจ ืึทืคึผืืึทืงืืืฉืึทื ืืืฉืขื ืขืจืืืฅ.
llvm-mca ืืื ืืขืืืขื ืืขืจืืื ืื ืืื 2018 ืืื ืึท ืืืื ืคืื ืื ืคึผืจืืืขืงื , ืืืึธืก ืืื ืืขืืืขืืึธืคึผืื ื ืึท ืื ืืืืขืจืกืึทื ืกืืกืืขื ืคึฟืึทืจ ืึทื ืึทืืืกืืก, ืืจืึทื ืกืคืึธืจืืึทืฆืืข ืืื ืึทืคึผืืึทืืึทืืืืฉืึทื ืคืื ืืืืื. ืขืก ืืื ืืึทืืืืกื ืึทื ืื ืืืืจืื ืคืื llvm-mca ืืขื ืขื ืื ืกืคึผืืืขืจื ืืืจื ืึท ืืืืืื ื ืคึฟืึทืจ ืึทื ืึทืืืืืื ื ืืืืืืืืืจื ืคืึธืจืฉืืขืืื ื ืืื ืืขืืืื ืฆื ืฉืึทืคึฟื ืึทื ืื ืืขืจ ืืจืืจื. ืืื ืืืื ืืืืขืจื, ืื ืจืขืืืืืึทื ืคืื ืื ืืขืฆืืึทื (ืืืืขืจ ืืืืกืืืื ืืื ืงืืืึทื ืืืื) ืืึทืงืข ืจืืืขืืืึทืื IACA - ืืืึทืฉืคึผืื . ืึธืืขืจ, llvm-mca ืืืืื ืึทืงืกืขืคึผืฅ , ืึทืืื ืืืจ ืืืขื ืจืืึฟ ืืกืชึผืื ืืึธืื ืฆื ื ืืฆื ืงืึทื ืืืขืจืืขืจื ืฆื ืึทืจืืขืื ืืื ืืื.
ืืืึธืก ืืืจ ืฉืจืืึทืื ืืืขืื ืืื ืืืขืจ ืืืึธืืก ืืื ืืขืืขืืฉืึทืคืืืขื ื ืขืืืืึธืจืงืก:
![]()
![]()
![]()
![]()
![]()
ืืืจ ืืื 1cloud.ru ืคืึธืจืฉืืึธืื ืึท ืคืจืื ืืื ืกื "" ืืืจ ืงืขื ืขื ืคืืจื ืื ืก ืจืขืงืึธืจืืก ืืื ืึท ืืืื ืคึผืขืจืืขื ืืขื ืืฉืืื.
ืืงืืจ: www.habr.com
