แƒ‘แƒ”แƒœแƒฉแƒ›แƒแƒ แƒ™แƒ”แƒ‘แƒ˜ Linux แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก: แƒฆแƒ˜แƒ แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒ›แƒ”แƒœแƒขแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ แƒฉแƒ”แƒ•แƒ

แƒฉแƒ•แƒ”แƒœ แƒ•แƒแƒ’แƒ แƒซแƒ”แƒšแƒ”แƒ‘แƒ— แƒกแƒแƒฃแƒ‘แƒแƒ แƒก CPU-แƒก แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒก แƒจแƒ”แƒคแƒแƒกแƒ”แƒ‘แƒ˜แƒก แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒ›แƒ”แƒœแƒขแƒ”แƒ‘แƒ–แƒ” Linux แƒ›แƒแƒœแƒฅแƒแƒœแƒ”แƒ‘แƒ–แƒ”. แƒ“แƒฆแƒ”แƒก แƒ›แƒแƒกแƒแƒšแƒแƒจแƒ˜: temci, uarch-bench, likwid, perf-tools แƒ“แƒ llvm-mca.

แƒ›แƒ”แƒขแƒ˜ แƒกแƒแƒแƒ แƒ˜แƒ”แƒœแƒขแƒแƒชแƒ˜แƒ แƒœแƒ˜แƒจแƒœแƒ”แƒ‘แƒ˜:

แƒ‘แƒ”แƒœแƒฉแƒ›แƒแƒ แƒ™แƒ”แƒ‘แƒ˜ Linux แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก: แƒฆแƒ˜แƒ แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒ›แƒ”แƒœแƒขแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ แƒฉแƒ”แƒ•แƒ
แƒคแƒแƒขแƒ - แƒšแƒฃแƒ™แƒแƒก แƒ‘แƒšแƒแƒŸแƒ”แƒ™แƒ˜ - แƒ’แƒแƒจแƒแƒšแƒ”

temci

แƒ”แƒก แƒแƒ แƒ˜แƒก แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒ›แƒ”แƒœแƒขแƒ˜ แƒแƒ แƒ˜ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒก แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒ“แƒ แƒแƒ˜แƒก แƒจแƒ”แƒกแƒแƒคแƒแƒกแƒ”แƒ‘แƒšแƒแƒ“. แƒแƒ แƒกแƒ”แƒ‘แƒ˜แƒ—แƒแƒ“, แƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ’แƒแƒซแƒšแƒ”แƒ•แƒ— แƒจแƒ”แƒแƒ“แƒแƒ แƒแƒ— แƒแƒ แƒ˜ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒ“แƒ แƒ. แƒ™แƒแƒ›แƒฃแƒœแƒแƒšแƒฃแƒ แƒ˜ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒก แƒแƒ•แƒขแƒแƒ แƒ˜ แƒ˜แƒงแƒ แƒกแƒขแƒฃแƒ“แƒ”แƒœแƒขแƒ˜ แƒ’แƒ”แƒ แƒ›แƒแƒœแƒ˜แƒ˜แƒ“แƒแƒœ, แƒ˜แƒแƒฐแƒแƒœแƒ”แƒก แƒ‘แƒ”แƒฎแƒ‘แƒ”แƒ แƒ’แƒ”แƒ แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ›แƒแƒช แƒ˜แƒ’แƒ˜ แƒจแƒ”แƒ˜แƒ›แƒฃแƒจแƒแƒ•แƒ แƒกแƒแƒ‘แƒแƒ™แƒแƒšแƒแƒ•แƒ แƒ แƒ“แƒ˜แƒกแƒ”แƒ แƒขแƒแƒชแƒ˜แƒ˜แƒก แƒคแƒแƒ แƒ’แƒšแƒ”แƒ‘แƒจแƒ˜ 2016 แƒฌแƒ”แƒšแƒก. แƒ“แƒฆแƒ”แƒ•แƒแƒœแƒ“แƒ”แƒšแƒ˜ แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒ›แƒ”แƒœแƒขแƒ˜ แƒ•แƒ แƒชแƒ”แƒšแƒ“แƒ”แƒ‘แƒ แƒšแƒ˜แƒชแƒ”แƒœแƒ–แƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ GNU General Public แƒšแƒ˜แƒชแƒ”แƒœแƒ–แƒ˜แƒ˜แƒ—.

แƒ˜แƒแƒฐแƒแƒœแƒ”แƒกแƒก แƒกแƒฃแƒ แƒ“แƒ แƒจแƒ”แƒ”แƒฅแƒ›แƒœแƒ แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒ›แƒ”แƒœแƒขแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ›แƒ˜แƒกแƒชแƒ”แƒ›แƒ“แƒ แƒ’แƒแƒ–แƒแƒ›แƒแƒก แƒ’แƒแƒ›แƒแƒ—แƒ•แƒšแƒ˜แƒ—แƒ˜ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒก แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ แƒ™แƒแƒœแƒขแƒ แƒแƒšแƒ˜แƒ แƒ”แƒ‘แƒแƒ“ แƒ’แƒแƒ แƒ”แƒ›แƒแƒจแƒ˜. แƒแƒฅแƒ”แƒ“แƒแƒœ แƒ’แƒแƒ›แƒแƒ›แƒ“แƒ˜แƒœแƒแƒ แƒ”, temci-แƒก แƒ”แƒ แƒ—-แƒ”แƒ แƒ—แƒ˜ แƒ›แƒ—แƒแƒ•แƒแƒ แƒ˜ แƒ›แƒแƒฎแƒแƒกแƒ˜แƒแƒ—แƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒกแƒแƒขแƒ”แƒกแƒขแƒ แƒ’แƒแƒ แƒ”แƒ›แƒแƒก แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒก แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒšแƒแƒ‘แƒ. แฒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ: CPU แƒกแƒ˜แƒฎแƒจแƒ˜แƒ แƒ˜แƒก แƒ›แƒ”แƒœแƒ”แƒฏแƒ”แƒ แƒ˜แƒก แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒชแƒ•แƒšแƒ, แƒ’แƒแƒ›แƒแƒ แƒ—แƒ•แƒ แƒฐแƒ˜แƒžแƒ”แƒ แƒ—แƒ แƒ”แƒ“แƒ˜แƒœแƒ’แƒ˜ แƒ“แƒ L1 แƒ“แƒ L2 แƒฅแƒ”แƒจแƒ”แƒ‘แƒ˜, แƒ’แƒแƒ›แƒแƒ แƒ—แƒ”แƒ— แƒขแƒฃแƒ แƒ‘แƒ แƒ แƒ”แƒŸแƒ˜แƒ›แƒ˜ Intel-แƒ˜แƒก แƒžแƒ แƒแƒชแƒ”แƒกแƒแƒ แƒ”แƒ‘แƒ–แƒ” แƒ“แƒ แƒ.แƒจ. แƒ‘แƒ”แƒœแƒฉแƒ›แƒแƒ แƒ™แƒ˜แƒœแƒ’แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก temci แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒก แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒ›แƒ”แƒœแƒขแƒ”แƒ‘แƒก แƒ“แƒ แƒ, perf_stat ะธ แƒ’แƒแƒขแƒแƒชแƒ”แƒ‘แƒ.

แƒแƒกแƒ” แƒ’แƒแƒ›แƒแƒ˜แƒงแƒฃแƒ แƒ”แƒ‘แƒ แƒฃแƒขแƒ˜แƒšแƒ˜แƒขแƒ แƒžแƒ˜แƒ แƒ•แƒ”แƒš แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜:

# 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-แƒก แƒ›แƒกแƒ’แƒแƒ•แƒกแƒ˜ แƒแƒ›แƒแƒœแƒแƒฎแƒกแƒœแƒ”แƒ‘แƒ˜แƒกแƒแƒ’แƒแƒœ.

แƒ—แƒ”แƒ›แƒฉแƒ˜แƒก แƒœแƒแƒ™แƒšแƒแƒ•แƒแƒœแƒ”แƒ‘แƒ”แƒ‘แƒก แƒจแƒแƒ แƒ˜แƒก แƒ›แƒ˜แƒกแƒ˜ โ€žแƒแƒฎแƒแƒšแƒ’แƒแƒ–แƒ แƒ“แƒแƒ‘แƒโ€œ แƒ’แƒแƒ›แƒแƒ˜แƒ แƒฉแƒ”แƒ•แƒ. แƒแƒ›แƒ˜แƒก แƒ’แƒแƒ›แƒ แƒ˜แƒก แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒแƒ  แƒแƒ แƒ˜แƒก แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ˜แƒšแƒ˜ แƒขแƒ”แƒฅแƒœแƒ˜แƒ™แƒ˜แƒกแƒ แƒ“แƒ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒฃแƒšแƒ˜ แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒ˜แƒก แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜. แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒ แƒ—แƒฃแƒšแƒ˜แƒ macOS-แƒ–แƒ” แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ แƒ“แƒ แƒ–แƒแƒ’แƒ˜แƒ”แƒ แƒ—แƒ˜ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ แƒ›แƒ˜แƒฃแƒฌแƒ•แƒ“แƒแƒ›แƒ”แƒšแƒ˜แƒ ARM-แƒ–แƒ” แƒ“แƒแƒคแƒฃแƒซแƒœแƒ”แƒ‘แƒฃแƒš แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒแƒ–แƒ”. แƒ›แƒแƒ›แƒแƒ•แƒแƒšแƒจแƒ˜, แƒกแƒ˜แƒขแƒฃแƒแƒชแƒ˜แƒ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒจแƒ”แƒ˜แƒชแƒ•แƒแƒšแƒแƒก, แƒ แƒแƒ“แƒ’แƒแƒœ แƒแƒ•แƒขแƒแƒ แƒ˜ แƒแƒฅแƒขแƒ˜แƒฃแƒ แƒแƒ“ แƒแƒ•แƒ˜แƒ—แƒแƒ แƒ”แƒ‘แƒก แƒžแƒ แƒแƒ”แƒฅแƒขแƒก แƒ“แƒ GitHub-แƒ–แƒ” แƒ•แƒแƒ แƒกแƒ™แƒ•แƒšแƒแƒ•แƒ”แƒ‘แƒ˜แƒก แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ แƒ—แƒแƒœแƒ“แƒแƒ—แƒแƒœ แƒ˜แƒ–แƒ แƒ“แƒ”แƒ‘แƒ - แƒแƒ แƒช แƒ˜แƒกแƒ” แƒ“แƒ˜แƒ“แƒ˜ แƒฎแƒœแƒ˜แƒก แƒฌแƒ˜แƒœ temci แƒ™แƒ˜ แƒ’แƒแƒœแƒ˜แƒฎแƒ˜แƒšแƒ”แƒก แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ”แƒ‘แƒจแƒ˜ Hacker News-แƒ–แƒ”.

แƒฃแƒ แƒฅ-แƒกแƒ™แƒแƒ›แƒ˜

แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ แƒ“แƒแƒ‘แƒแƒšแƒ˜ แƒ“แƒแƒœแƒ˜แƒก CPU แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒคแƒแƒกแƒ”แƒ‘แƒšแƒแƒ“, แƒจแƒ”แƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ˜แƒœแƒŸแƒ˜แƒœแƒ แƒ˜แƒก แƒขแƒ แƒ”แƒ•แƒ˜แƒก แƒ“แƒแƒฃแƒœแƒ˜แƒก แƒ›แƒ˜แƒ”แƒ  (แƒขแƒ แƒ”แƒ•แƒ˜แƒก แƒ“แƒแƒฃแƒœแƒกแƒ˜). แƒ‘แƒแƒšแƒ แƒ“แƒ แƒแƒก แƒ˜แƒก แƒ‘แƒšแƒแƒ’แƒก แƒฌแƒ”แƒ แƒก แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒกแƒแƒ™แƒ˜แƒ—แƒฎแƒ”แƒ‘แƒ˜ GitHub แƒ’แƒ•แƒ”แƒ แƒ“แƒ”แƒ‘แƒ–แƒ”, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒกแƒแƒฃแƒ‘แƒ แƒแƒ‘แƒก แƒ‘แƒ”แƒœแƒฉแƒ›แƒแƒ แƒ™แƒ˜แƒœแƒ’แƒ˜แƒก แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒ›แƒ”แƒœแƒขแƒ”แƒ‘แƒ–แƒ” แƒ“แƒ แƒกแƒฎแƒ•แƒ แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒš แƒกแƒแƒ™แƒ˜แƒ—แƒฎแƒ”แƒ‘แƒ–แƒ”. แƒ–แƒแƒ’แƒแƒ“แƒแƒ“, uarch-bench แƒแƒฎแƒšแƒแƒฎแƒแƒœ แƒ˜แƒฌแƒงแƒ”แƒ‘แƒก แƒžแƒแƒžแƒฃแƒšแƒแƒ แƒแƒ‘แƒ˜แƒก แƒ›แƒแƒžแƒแƒ•แƒ”แƒ‘แƒแƒก, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ”แƒก แƒฃแƒ™แƒ•แƒ” แƒกแƒแƒ™แƒ›แƒแƒแƒ“ แƒ’แƒแƒ•แƒ แƒชแƒ”แƒšแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒœแƒแƒฎแƒกแƒ”แƒœแƒ”แƒ‘แƒ˜ Hacker News-แƒ˜แƒก แƒ›แƒแƒชแƒฎแƒแƒ•แƒ แƒ”แƒ‘แƒšแƒ”แƒ‘แƒ˜ แƒ—แƒ”แƒ›แƒแƒขแƒฃแƒ  แƒ—แƒ”แƒ›แƒ”แƒ‘แƒจแƒ˜, แƒ แƒแƒ’แƒแƒ แƒช แƒ‘แƒ”แƒœแƒฉแƒ›แƒแƒ แƒ™แƒ˜แƒœแƒ’แƒ˜แƒก แƒ’แƒแƒ›แƒแƒกแƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ”แƒšแƒ˜ แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒ›แƒ”แƒœแƒขแƒ˜.

Uarch-bench แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ’แƒแƒซแƒšแƒ”แƒ•แƒ— แƒจแƒ”แƒแƒคแƒแƒกแƒแƒ— แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ, แƒžแƒแƒ แƒแƒšแƒ”แƒšแƒฃแƒ แƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒฉแƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒกแƒ˜แƒฉแƒฅแƒแƒ แƒ” แƒ“แƒ แƒ“แƒแƒกแƒฃแƒคแƒ—แƒแƒ•แƒ”แƒ‘แƒ˜แƒก แƒกแƒแƒ›แƒฃแƒจแƒแƒแƒ”แƒ‘แƒ˜ YMM แƒ แƒ”แƒ’แƒ˜แƒกแƒขแƒ แƒ˜แƒ แƒ“แƒ”แƒ‘แƒ. แƒ แƒแƒ’แƒแƒ  แƒ’แƒแƒ›แƒแƒ˜แƒงแƒฃแƒ แƒ”แƒ‘แƒ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒก แƒ›แƒ˜แƒ”แƒ  แƒ’แƒ”แƒœแƒ”แƒ แƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ‘แƒ”แƒœแƒฉแƒ›แƒแƒ แƒ™แƒ˜แƒœแƒ’แƒ˜แƒก แƒจแƒ”แƒ“แƒ”แƒ’แƒ”แƒ‘แƒ˜, แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒœแƒแƒฎแƒแƒ— แƒแƒคแƒ˜แƒชแƒ˜แƒแƒšแƒฃแƒ  แƒกแƒแƒชแƒแƒ•แƒจแƒ˜ แƒ’แƒ•แƒ”แƒ แƒ“แƒ˜แƒก แƒ‘แƒแƒšแƒแƒจแƒ˜.

แƒแƒฆแƒกแƒแƒœแƒ˜แƒจแƒœแƒแƒ•แƒ˜แƒ, แƒ แƒแƒ› แƒฃแƒแƒ แƒฅ-แƒกแƒ™แƒแƒ›แƒ˜, แƒ˜แƒกแƒ”แƒ•แƒ” แƒ แƒแƒ’แƒแƒ แƒช temci, แƒ’แƒแƒ›แƒแƒ แƒ—แƒแƒ•แƒก Intel Turbo Boost แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ (แƒ˜แƒก แƒแƒ•แƒขแƒแƒ›แƒแƒขแƒฃแƒ แƒแƒ“ แƒ–แƒ แƒ“แƒ˜แƒก แƒžแƒ แƒแƒชแƒ”แƒกแƒแƒ แƒ˜แƒก แƒกแƒแƒแƒ—แƒ˜แƒก แƒกแƒ˜แƒฉแƒฅแƒแƒ แƒ”แƒก แƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒฅแƒ•แƒ”แƒจ), แƒ แƒแƒ—แƒ แƒขแƒ”แƒกแƒขแƒ˜แƒก แƒจแƒ”แƒ“แƒ”แƒ’แƒ”แƒ‘แƒ˜ แƒ—แƒแƒœแƒ›แƒ˜แƒ›แƒ“แƒ”แƒ•แƒ แƒฃแƒšแƒ˜ แƒ˜แƒงแƒแƒก.

แƒแƒ› แƒ“แƒ แƒแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜ แƒ’แƒแƒœแƒ•แƒ˜แƒ—แƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒแƒ“แƒ แƒ”แƒฃแƒš แƒกแƒขแƒแƒ“แƒ˜แƒแƒ–แƒ”แƒ, แƒแƒ›แƒ˜แƒขแƒแƒ› uarch-bench-แƒก แƒแƒ  แƒแƒฅแƒ•แƒก แƒ“แƒ”แƒขแƒแƒšแƒฃแƒ แƒ˜ แƒ“แƒแƒ™แƒฃแƒ›แƒ”แƒœแƒขแƒแƒชแƒ˜แƒ แƒ“แƒ แƒ›แƒ˜แƒกแƒ˜ แƒ›แƒแƒฅแƒ›แƒ”แƒ“แƒ”แƒ‘แƒ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒจแƒ”แƒ˜แƒชแƒแƒ•แƒ“แƒ”แƒก แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ”แƒ‘แƒก - แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒกแƒ˜แƒ แƒ—แƒฃแƒšแƒ”แƒ”แƒ‘แƒ˜ แƒชแƒœแƒแƒ‘แƒ˜แƒšแƒ˜แƒ Ryzen-แƒ–แƒ” แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ˜แƒ—. แƒแƒกแƒ”แƒ•แƒ”, แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ˜แƒšแƒ˜แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ‘แƒ”แƒœแƒฉแƒ›แƒแƒ แƒ™แƒ”แƒ‘แƒ˜ x86 แƒแƒ แƒฅแƒ˜แƒขแƒ”แƒฅแƒขแƒฃแƒ แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒแƒ•แƒขแƒแƒ แƒ˜ แƒ’แƒžแƒ˜แƒ แƒ“แƒ”แƒ‘แƒแƒ— แƒ›แƒแƒ›แƒแƒ•แƒแƒšแƒจแƒ˜ แƒ›แƒ”แƒขแƒ˜ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒแƒœแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒแƒก แƒ“แƒ แƒ’แƒ˜แƒฌแƒ•แƒ”แƒ•แƒ—, แƒจแƒ”แƒฃแƒ”แƒ แƒ—แƒ“แƒ”แƒ— แƒ’แƒแƒœแƒ•แƒ˜แƒ—แƒแƒ แƒ”แƒ‘แƒแƒก.

แƒแƒœแƒแƒšแƒแƒ’แƒ˜แƒฃแƒ แƒแƒ“

แƒ”แƒก แƒแƒ แƒ˜แƒก แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒ›แƒ”แƒœแƒขแƒ”แƒ‘แƒ˜แƒก แƒœแƒแƒ™แƒ แƒ”แƒ‘แƒ˜ Linux แƒแƒžแƒแƒ แƒแƒขแƒ”แƒ‘แƒ˜แƒก แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒคแƒแƒกแƒ”แƒ‘แƒšแƒแƒ“ Intel, AMD แƒ“แƒ ARMv8 แƒžแƒ แƒแƒชแƒ”แƒกแƒแƒ แƒ”แƒ‘แƒ˜แƒ—. แƒ˜แƒ’แƒ˜ แƒจแƒ”แƒ˜แƒฅแƒ›แƒœแƒ แƒ’แƒ”แƒ แƒ›แƒแƒœแƒ˜แƒ˜แƒก แƒ’แƒแƒœแƒแƒ—แƒšแƒ”แƒ‘แƒ˜แƒกแƒ แƒ“แƒ แƒ™แƒ•แƒšแƒ”แƒ•แƒ˜แƒก แƒคแƒ”แƒ“แƒ”แƒ แƒแƒšแƒฃแƒ แƒ˜ แƒกแƒแƒ›แƒ˜แƒœแƒ˜แƒกแƒขแƒ แƒแƒก แƒ”แƒ’แƒ˜แƒ“แƒ˜แƒ— 2017 แƒฌแƒ”แƒšแƒก แƒ“แƒ แƒ’แƒแƒ›แƒแƒ•แƒ˜แƒ“แƒ แƒฆแƒ˜แƒ แƒฌแƒงแƒแƒ แƒแƒจแƒ˜.

likwid แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒ›แƒ”แƒœแƒขแƒ”แƒ‘แƒก แƒจแƒแƒ แƒ˜แƒก แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ’แƒแƒ›แƒแƒ•แƒงแƒแƒ— likwid-powermeter, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒก แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒแƒก RAPL แƒ แƒ”แƒ’แƒ˜แƒกแƒขแƒ แƒ”แƒ‘แƒ˜แƒ“แƒแƒœ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒก แƒ›แƒ˜แƒ”แƒ  แƒ›แƒแƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ”แƒœแƒ”แƒ แƒ’แƒ˜แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘, แƒแƒกแƒ”แƒ•แƒ” likwid-setFrequencies, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ’แƒแƒซแƒšแƒ”แƒ•แƒ— แƒ’แƒแƒแƒ™แƒแƒœแƒขแƒ แƒแƒšแƒแƒ— แƒžแƒ แƒแƒชแƒ”แƒกแƒแƒ แƒ˜แƒก แƒกแƒ˜แƒฎแƒจแƒ˜แƒ แƒ”. แƒ—แƒฅแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒœแƒแƒฎแƒแƒ— แƒกแƒ แƒฃแƒšแƒ˜ แƒกแƒ˜แƒ แƒ˜แƒžแƒแƒ•แƒœแƒ”แƒ— แƒกแƒแƒชแƒแƒ•แƒจแƒ˜.

แƒฎแƒ”แƒšแƒกแƒแƒฌแƒงแƒแƒก แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ”แƒœ แƒ˜แƒœแƒŸแƒ˜แƒœแƒ แƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒฉแƒแƒ แƒ—แƒฃแƒšแƒœแƒ˜ แƒแƒ แƒ˜แƒแƒœ HPC แƒ™แƒ•แƒšแƒ”แƒ•แƒแƒจแƒ˜. แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, likwid-แƒ—แƒแƒœ แƒ”แƒ แƒ—แƒแƒ“ แƒกแƒแƒ›แƒฃแƒจแƒแƒแƒ”แƒ‘แƒ˜ แƒ’แƒ”แƒ แƒ›แƒแƒœแƒ˜แƒ˜แƒก แƒ”แƒ แƒšแƒแƒœแƒ’แƒ”แƒœ-แƒœแƒ˜แƒฃแƒ แƒœแƒ‘แƒ”แƒ แƒ’แƒ˜แƒก แƒฃแƒœแƒ˜แƒ•แƒ”แƒ แƒกแƒ˜แƒขแƒ”แƒขแƒ˜แƒก (RRZE) แƒ แƒ”แƒ’แƒ˜แƒแƒœแƒแƒšแƒฃแƒ แƒ˜ แƒ’แƒแƒ›แƒแƒ—แƒ•แƒšแƒ˜แƒ—แƒ˜ แƒชแƒ”แƒœแƒขแƒ แƒ˜แƒก แƒกแƒžแƒ”แƒชแƒ˜แƒแƒšแƒ˜แƒกแƒขแƒ—แƒ แƒฏแƒ’แƒฃแƒคแƒ˜. แƒ˜แƒก แƒแƒกแƒ”แƒ•แƒ” แƒแƒฅแƒขแƒ˜แƒฃแƒ  แƒ›แƒแƒœแƒแƒฌแƒ˜แƒšแƒ”แƒแƒ‘แƒแƒก แƒ˜แƒฆแƒ”แƒ‘แƒก แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒ›แƒ”แƒœแƒขแƒ”แƒ‘แƒ˜แƒก แƒแƒ› แƒœแƒแƒ™แƒ แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒแƒจแƒ˜.

แƒ‘แƒ”แƒœแƒฉแƒ›แƒแƒ แƒ™แƒ”แƒ‘แƒ˜ Linux แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก: แƒฆแƒ˜แƒ แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒ›แƒ”แƒœแƒขแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ แƒฉแƒ”แƒ•แƒ
แƒคแƒแƒขแƒ - แƒ™แƒšแƒ”แƒ› แƒแƒœแƒแƒฏแƒ”แƒฆแƒฃแƒ - แƒ’แƒแƒจแƒแƒšแƒ”

แƒžแƒ”แƒ แƒค-แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒ›แƒ”แƒœแƒขแƒ”แƒ‘แƒ˜

แƒ”แƒก แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒ›แƒ”แƒœแƒขแƒ˜ Linux แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒก แƒ’แƒแƒกแƒแƒแƒœแƒแƒšแƒ˜แƒ–แƒ”แƒ‘แƒšแƒแƒ“ แƒจแƒ”แƒ›แƒแƒ˜แƒฆแƒ แƒ‘แƒ แƒ”แƒœแƒ“แƒแƒœ แƒ’แƒ แƒ”แƒ’แƒ˜. แƒ˜แƒก แƒแƒ แƒ˜แƒก แƒ”แƒ แƒ—-แƒ”แƒ แƒ—แƒ˜ แƒ“แƒ”แƒ•แƒ”แƒšแƒแƒžแƒ”แƒ แƒ˜ DTrace โ€” แƒ“แƒ˜แƒœแƒแƒ›แƒ˜แƒฃแƒ แƒ˜ แƒ›แƒ˜แƒ™แƒ•แƒšแƒ”แƒ•แƒ˜แƒก แƒฉแƒแƒ แƒฉแƒ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒ แƒ—แƒ•แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ แƒ”แƒแƒšแƒฃแƒ  แƒ“แƒ แƒแƒจแƒ˜.

perf-tools แƒ“แƒแƒคแƒฃแƒซแƒœแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ perf_events แƒ“แƒ ftrace แƒ‘แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒฅแƒ•แƒ”แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ”แƒ‘แƒ–แƒ”. แƒ›แƒแƒ—แƒ˜ แƒฃแƒขแƒ˜แƒšแƒ˜แƒขแƒ”แƒ‘แƒ˜ แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ’แƒแƒซแƒšแƒ”แƒ•แƒ— แƒ’แƒแƒแƒœแƒแƒšแƒ˜แƒ–แƒแƒ— I/O แƒจแƒ”แƒงแƒแƒ•แƒœแƒ”แƒ‘แƒ (iosnoop), แƒ—แƒ•แƒแƒšแƒงแƒฃแƒ แƒ˜ แƒแƒ“แƒ”แƒ•แƒœแƒแƒ— แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒก แƒ–แƒแƒ แƒ˜แƒก แƒแƒ แƒ’แƒฃแƒ›แƒ”แƒœแƒขแƒ”แƒ‘แƒก (unccount, funcslower, funcgraph แƒ“แƒ functrace) แƒ“แƒ แƒจแƒ”แƒแƒ’แƒ แƒแƒ•แƒแƒ— แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒ แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒฅแƒ”แƒจแƒจแƒ˜ โ€žแƒฐแƒ˜แƒขแƒ”แƒ‘แƒ˜แƒกโ€œ แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘ (cachestat). แƒแƒ› แƒฃแƒ™แƒแƒœแƒแƒกแƒ™แƒœแƒ”แƒš แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜, แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ แƒแƒกแƒ” แƒ’แƒแƒ›แƒแƒ˜แƒงแƒฃแƒ แƒ”แƒ‘แƒ:

# ./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

แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒ›แƒ”แƒœแƒขแƒ˜แƒก แƒ’แƒแƒ แƒจแƒ”แƒ›แƒ แƒกแƒแƒ™แƒ›แƒแƒแƒ“ แƒ“แƒ˜แƒ“แƒ˜ แƒกแƒแƒ–แƒแƒ’แƒแƒ“แƒแƒ”แƒ‘แƒ แƒฉแƒแƒ›แƒแƒงแƒแƒšแƒ˜แƒ‘แƒ“แƒ (แƒ—แƒ˜แƒ—แƒฅแƒ›แƒ˜แƒก 6 แƒแƒ—แƒแƒกแƒ˜ แƒ•แƒแƒ แƒกแƒ™แƒ•แƒšแƒแƒ•แƒ˜ GitHub-แƒ–แƒ”). แƒ“แƒ แƒแƒ แƒ˜แƒก แƒ™แƒแƒ›แƒžแƒแƒœแƒ˜แƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒแƒฅแƒขแƒ˜แƒฃแƒ แƒแƒ“ แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ”แƒœ perf-แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒ›แƒ”แƒœแƒขแƒ”แƒ‘แƒก, แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“ แƒ แƒแƒ“แƒ’แƒแƒœ แƒ›แƒ˜แƒกแƒ˜ แƒฌแƒแƒ แƒ›แƒ“แƒ’แƒ”แƒœแƒ˜ แƒ™แƒแƒ›แƒžแƒแƒœแƒ˜แƒ The Agency . แƒ›แƒแƒ’แƒ แƒแƒ› แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒ›แƒ”แƒœแƒขแƒ˜ แƒ™แƒ˜แƒ“แƒ”แƒ• แƒฃแƒคแƒ แƒ แƒ•แƒ˜แƒ—แƒแƒ แƒ“แƒ”แƒ‘แƒ แƒ“แƒ แƒ˜แƒชแƒ•แƒšแƒ”แƒ‘แƒ (แƒ—แƒฃแƒ›แƒชแƒ แƒ’แƒแƒœแƒแƒฎแƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜ แƒแƒ› แƒ‘แƒแƒšแƒ แƒ“แƒ แƒแƒก แƒกแƒแƒ™แƒ›แƒแƒแƒ“ แƒ˜แƒจแƒ•แƒ˜แƒแƒ—แƒแƒ“ แƒ’แƒแƒ›แƒแƒ•แƒ˜แƒ“แƒ). แƒแƒ›แƒ˜แƒขแƒแƒ› แƒ›แƒ˜แƒก แƒ›แƒฃแƒจแƒแƒแƒ‘แƒแƒจแƒ˜ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ›แƒแƒฎแƒ“แƒ”แƒก แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ”แƒ‘แƒ˜ - แƒแƒ•แƒขแƒแƒ แƒ˜ แƒฌแƒ”แƒ แƒก, แƒ แƒแƒ› แƒ–แƒแƒ’แƒฏแƒ”แƒ  perf-tools แƒ˜แƒฌแƒ•แƒ”แƒ•แƒก แƒ‘แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒžแƒแƒœแƒ˜แƒ™แƒแƒก.

llvm-mca

แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒžแƒ แƒแƒ’แƒœแƒแƒ–แƒ˜แƒ แƒ”แƒ‘แƒก, แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜ แƒ’แƒแƒ›แƒแƒ—แƒ•แƒšแƒ˜แƒ—แƒ˜ แƒ แƒ”แƒกแƒฃแƒ แƒกแƒ˜ แƒ“แƒแƒกแƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ แƒ›แƒแƒœแƒฅแƒแƒœแƒ˜แƒก แƒ™แƒแƒ“แƒก แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ CPU-แƒ–แƒ”. แƒ˜แƒก แƒแƒคแƒแƒกแƒ”แƒ‘แƒก แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜ แƒชแƒ˜แƒ™แƒšแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก (IPC) แƒ“แƒ แƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ แƒแƒžแƒแƒ แƒแƒขแƒฃแƒ แƒแƒ–แƒ”, แƒ แƒแƒ›แƒ”แƒšแƒกแƒแƒช แƒ™แƒแƒœแƒ™แƒ แƒ”แƒขแƒฃแƒšแƒ˜ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ แƒฅแƒ›แƒœแƒ˜แƒก.

llvm-mca แƒฌแƒแƒ แƒ›แƒแƒ“แƒ’แƒ”แƒœแƒ˜แƒšแƒ˜ แƒ˜แƒงแƒ 2018 แƒฌแƒ”แƒšแƒก แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜แƒก แƒคแƒแƒ แƒ’แƒšแƒ”แƒ‘แƒจแƒ˜ แƒšแƒ•, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒ•แƒ˜แƒ—แƒแƒ แƒ”แƒ‘แƒก แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ”แƒ‘แƒ˜แƒก แƒแƒœแƒแƒšแƒ˜แƒ–แƒ˜แƒก, แƒขแƒ แƒแƒœแƒกแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒ˜แƒกแƒ แƒ“แƒ แƒแƒžแƒขแƒ˜แƒ›แƒ˜แƒ–แƒแƒชแƒ˜แƒ˜แƒก แƒฃแƒœแƒ˜แƒ•แƒ”แƒ แƒกแƒแƒšแƒฃแƒ  แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒแƒก. แƒชแƒœแƒแƒ‘แƒ˜แƒšแƒ˜แƒ, แƒ แƒแƒ› llvm-mca-แƒก แƒแƒ•แƒขแƒแƒ แƒ”แƒ‘แƒ˜ แƒจแƒ—แƒแƒ’แƒแƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ˜แƒงแƒ•แƒœแƒ”แƒœ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒฃแƒšแƒ˜ แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒ˜แƒก แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒก แƒแƒœแƒแƒšแƒ˜แƒ–แƒ˜แƒก แƒ’แƒแƒ“แƒแƒฌแƒงแƒ•แƒ”แƒขแƒ˜แƒ—. IACA Intel-แƒ˜แƒกแƒ’แƒแƒœ แƒ“แƒ แƒแƒšแƒขแƒ”แƒ แƒœแƒแƒขแƒ˜แƒ•แƒ˜แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒแƒก แƒชแƒ“แƒ˜แƒšแƒแƒ‘แƒ“แƒ. แƒ“แƒ แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ”แƒ‘แƒ˜แƒก แƒแƒ–แƒ แƒ˜แƒ—, แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒ›แƒ”แƒœแƒขแƒ˜แƒก แƒ’แƒแƒ›แƒแƒ›แƒแƒ•แƒแƒšแƒ˜ (แƒ›แƒแƒ—แƒ˜ แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ แƒ“แƒ แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ) แƒœแƒแƒ›แƒ“แƒ•แƒ˜แƒšแƒแƒ“ แƒฐแƒ’แƒแƒ•แƒก IACA - แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“ แƒแƒฅ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ›แƒแƒ˜แƒซแƒ”แƒ‘แƒœแƒแƒก. แƒ—แƒฃแƒ›แƒชแƒ, llvm-mca แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ˜แƒฆแƒ”แƒ‘แƒก AT&T แƒกแƒ˜แƒœแƒขแƒแƒฅแƒกแƒ˜, แƒแƒกแƒ” แƒ แƒแƒ›, แƒ“แƒ˜แƒ“แƒ˜ แƒแƒšแƒ‘แƒแƒ—แƒแƒ‘แƒ˜แƒ— แƒ›แƒแƒ’แƒ˜แƒฌแƒ”แƒ•แƒ— แƒ’แƒแƒ“แƒแƒ›แƒงแƒ•แƒแƒœแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒ›แƒแƒกแƒ—แƒแƒœ แƒกแƒแƒ›แƒฃแƒจแƒแƒแƒ“.

แƒ แƒแƒ–แƒ” แƒ•แƒฌแƒ”แƒ แƒ— แƒฉแƒ•แƒ”แƒœแƒก แƒ‘แƒšแƒแƒ’แƒ”แƒ‘แƒกแƒ แƒ“แƒ แƒกแƒแƒชแƒ˜แƒแƒšแƒฃแƒ  แƒฅแƒกแƒ”แƒšแƒ”แƒ‘แƒจแƒ˜:

แƒ‘แƒ”แƒœแƒฉแƒ›แƒแƒ แƒ™แƒ”แƒ‘แƒ˜ Linux แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก: แƒฆแƒ˜แƒ แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒ›แƒ”แƒœแƒขแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ แƒฉแƒ”แƒ•แƒ โ€žแƒ›แƒแƒ—. แƒฃแƒแƒš แƒกแƒขแƒ แƒ˜แƒขแƒ˜แƒก แƒ›แƒแƒ“แƒ”แƒšแƒ˜" แƒแƒœ แƒ แƒแƒ’แƒแƒ  แƒ›แƒแƒ•แƒแƒฎแƒ“แƒ˜แƒœแƒแƒ— แƒฆแƒ แƒฃแƒ‘แƒšแƒ˜แƒก แƒฎแƒแƒ แƒฏแƒ”แƒ‘แƒ˜แƒก แƒแƒžแƒขแƒ˜แƒ›แƒ˜แƒ–แƒแƒชแƒ˜แƒ

แƒ‘แƒ”แƒœแƒฉแƒ›แƒแƒ แƒ™แƒ”แƒ‘แƒ˜ Linux แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก: แƒฆแƒ˜แƒ แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒ›แƒ”แƒœแƒขแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ แƒฉแƒ”แƒ•แƒ แƒ แƒแƒ’แƒแƒ  แƒ“แƒแƒ˜แƒชแƒ•แƒแƒ— แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ Linux แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ: 10 แƒ แƒฉแƒ”แƒ•แƒ
แƒ‘แƒ”แƒœแƒฉแƒ›แƒแƒ แƒ™แƒ”แƒ‘แƒ˜ Linux แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก: แƒฆแƒ˜แƒ แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒ›แƒ”แƒœแƒขแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ แƒฉแƒ”แƒ•แƒ แƒ แƒ˜แƒกแƒ™แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒœแƒ˜แƒ›แƒ˜แƒ–แƒแƒชแƒ˜แƒ: แƒ แƒแƒ’แƒแƒ  แƒแƒ  แƒ“แƒแƒ™แƒแƒ แƒ’แƒแƒ— แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜

แƒ‘แƒ”แƒœแƒฉแƒ›แƒแƒ แƒ™แƒ”แƒ‘แƒ˜ Linux แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก: แƒฆแƒ˜แƒ แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒ›แƒ”แƒœแƒขแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ แƒฉแƒ”แƒ•แƒ แƒฌแƒ˜แƒ’แƒœแƒ”แƒ‘แƒ˜ แƒ›แƒแƒ—แƒ—แƒ•แƒ˜แƒก, แƒ•แƒ˜แƒœแƒช แƒฃแƒ™แƒ•แƒ” แƒแƒ แƒ˜แƒก แƒฉแƒแƒ แƒ—แƒฃแƒšแƒ˜ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒก แƒแƒ“แƒ›แƒ˜แƒœแƒ˜แƒกแƒขแƒ แƒ˜แƒ แƒ”แƒ‘แƒแƒจแƒ˜ แƒแƒœ แƒแƒฎแƒšแƒ แƒแƒžแƒ˜แƒ แƒ”แƒ‘แƒก แƒ“แƒแƒฌแƒงแƒ”แƒ‘แƒแƒก
แƒ‘แƒ”แƒœแƒฉแƒ›แƒแƒ แƒ™แƒ”แƒ‘แƒ˜ Linux แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก: แƒฆแƒ˜แƒ แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒ›แƒ”แƒœแƒขแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ แƒฉแƒ”แƒ•แƒ แƒแƒ แƒฉแƒ”แƒ•แƒแƒœแƒ˜: แƒฎแƒฃแƒ—แƒ˜ แƒฌแƒ˜แƒ’แƒœแƒ˜ แƒ“แƒ แƒ”แƒ แƒ—แƒ˜ แƒ™แƒฃแƒ แƒกแƒ˜ แƒฅแƒกแƒ”แƒšแƒ”แƒ‘แƒ–แƒ”

แƒ‘แƒ”แƒœแƒฉแƒ›แƒแƒ แƒ™แƒ”แƒ‘แƒ˜ Linux แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก: แƒฆแƒ˜แƒ แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒ›แƒ”แƒœแƒขแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ แƒฉแƒ”แƒ•แƒแƒฉแƒ•แƒ”แƒœ 1cloud.ru-แƒ–แƒ” แƒ’แƒ—แƒแƒ•แƒแƒ–แƒแƒ‘แƒ— แƒฃแƒคแƒแƒกแƒ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒก.DNS แƒฐแƒแƒกแƒขแƒ˜แƒœแƒ’แƒ˜" แƒ—แƒฅแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ›แƒแƒ แƒ—แƒแƒ— DNS แƒฉแƒแƒœแƒแƒฌแƒ”แƒ แƒ”แƒ‘แƒ˜ แƒ”แƒ แƒ— แƒžแƒ˜แƒ แƒแƒ“ แƒแƒœแƒ’แƒแƒ แƒ˜แƒจแƒจแƒ˜.

แƒฌแƒงแƒแƒ แƒ: www.habr.com

แƒแƒฎแƒแƒšแƒ˜ แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ