たらい回しベンチ
tag: ベンチマーク
上でいろいろな言語のベンチマークが乗っていたのでJavaも測定してみた。
ウチの環境はWindows 11 Pro + Hyper-V + Vagrant + VirtualBox + FreeBSD 13.1。
仮想マシンの中で測定していて、他にも色々動いているのでベンチマーク結果は安定しない。 参考記録として見てほしい。
CPU は AMD Ryzen5 5600X。Core Performance Boost ( いわゆる Turbo Boost ) は Disable。 最大負荷をかけてもリテールCPUファンがうるさくない程度に抑えて動かしている。
なぜかC言語とJavaがいい勝負してて草。 この手のマイクロベンチだとJavaなんてズタボロになるハズなのに。 時代は変わったのか。
JavaScriptもC言語の0.5倍速くらいは出ていていい感じになってきてる。
■ C言語
cat > tarai.c << "EOF" #include <stdio.h> #include <time.h> int tarai(int x, int y, int z){ if (x > y){ return tarai( tarai(x-1, y, z), tarai(y-1, z, x), tarai(z-1, x, y) ); } else { return y; } } int main(void){ clock_t start; start = clock(); int ans = tarai(14, 7, 0); printf("%f %d\n", (double)(clock() - start)/CLOCKS_PER_SEC , ans); return 0; } EOF cc -Ofast tarai.c -o tarai cc --version ; time ./tarai
george@freebsd63 ~/tarai $ cc --version ; time ./tarai FreeBSD clang version 13.0.0 (git@github.com:llvm/llvm-project.git llvmorg-13.0.0-0-gd7b669b3a303) Target: x86_64-unknown-freebsd13.1 Thread model: posix InstalledDir: /usr/bin 0.890625 14 real 0m0.895s user 0m0.894s sys 0m0.000s george@freebsd63 ~/tarai $
■ JavaScript
cat > tarai.js << "EOF" function tarai(x, y, z) { if(x > y) { return tarai( tarai(x-1, y, z), tarai(y-1, z, x), tarai(z-1, x, y) ); } else { return y; } } var start = (new Date()).getTime(); var ans = tarai(14, 7, 0); console.log(((new Date()).getTime() - start)/1000, ans) EOF node -v; time node tarai.js
george@freebsd63 ~/tarai $ node -v; time node tarai.js v16.16.0 1.908 14 real 0m1.934s user 0m1.924s sys 0m0.009s george@freebsd63 ~/tarai $
■ Java
cat > Tarai.java << "EOF" import java.util.Date; public class Tarai { public int tarai(int x, int y, int z) { if (x > y) { return tarai(tarai(x - 1, y, z), tarai(y - 1, z, x), tarai(z - 1, x, y)); } else { return y; } } public void run() { long start = (new Date()).getTime(); int ans = tarai(14, 7, 0); long end = (new Date()).getTime(); double secs = (end - start) / 1000.0; System.out.println(secs + " " + ans); } public static void main(String[] args) { Tarai app = new Tarai(); app.run(); } } EOF javac Tarai.java java -version ; time java Tarai
george@freebsd63 ~/tarai $ java -version ; time java Tarai openjdk version "17.0.4" 2022-07-19 OpenJDK Runtime Environment (build 17.0.4+8-1) OpenJDK 64-Bit Server VM (build 17.0.4+8-1, mixed mode, sharing) 0.663 14 real 0m0.846s user 0m0.716s sys 0m0.008s george@freebsd63 ~/tarai $
台風14号 強い勢力で九州に上陸か?
tag: 台風, インターネット回線
北緯30度付近で930hPaってのは凄いな。
台風はまだ遠いけど、南から湿った空気が流れ込んで東京付近で大雨。 東西線は線路冠水のため運転見合わせ→一部区間を除いて折り返し運転。 京葉線は大雨落雷の影響で遅延とのこと。
ウチも大雨&落雷でダメージ。停電はしなかったけどインターネット接続が一時的に不通に。