ランダムなメモランダム

雑草のような雑念と雑考

言語の熱/仕事量 JAVAの熱力学

 計算機の熱問題で主役になるのはHWである。半導体や抵抗の熱は故障や計算速度の限界に関わる重要な問題である。それが現在のコンピュータの性能、とくにCPUの性能を左右していることは間違いないだろう。
 しかし、ここでSWの熱問題というのも別の観点から考えておく必要があるのではないか。同じHWで、JAVAアセンブラとでは同じ動作をさせるには、どのくらいのエネルギー消費の差があるのだろうか?
 機械語に近い方がエネルギー消費が少ないというのは尤もらしいであろう。言い換えると機械語からかけ離れると発熱量が高くなるのではないか。
 そうなるとJAVAはかなり発熱量が高いプログラム言語の一つであると言えそうである。それは
JavaVMの存在からも裏付けられるのだろう。
JavaVM自体、興味深い存在だ。PCやスマホなどHWに依存せず同じアプリケーションを動かすための仮想計算機なのだ。
 この仮想計算機は「仮想の発熱」をするのではないだろうか?
余計な計算、迂回的アルゴリズムのようなものが介在することでJavaはHW非依存を実現していることは間違いないであろう。そうなると仮想の発熱はどういことになろうか?
 もちろん、リアルな熱発生を起こしているのは確からしいであろう。
さて、スマホのアンドロイドOSはLINUXで動いている。そのアプリはJAVA製である。つまり、仮想の発熱を抱えたマシンであるわけだ。
 プログラム言語の熱力学の一般論は可能だろうかという問いかけは無意味だろうか。

宇宙をプログラムする宇宙―いかにして「計算する宇宙」は複雑な世界を創ったか?

宇宙をプログラムする宇宙―いかにして「計算する宇宙」は複雑な世界を創ったか?