アカウント名:
パスワード:
むやみにハードウェア性能を引き出[さ|せ]ない言語、かなあ?
もっとも電源を使用するのはCPUだと仮定すると、
・スレッド間でしなくていい同期を取ろうとしてsleep多発する言語・非同期処理が効率が悪すぎて同期処理で書かれがちで結果としてsleep多発な言語
なのが上位に来るのかしらま、許容できる時間内に課題を解決できるプログラムならそれでもいいという経営上の判断はありそう
今時のCPUってクロックが可変。で、電力効率もクロックで可変しそう。特にTurboBoostとかの高クロックになると効率が落ち込みやすい気がします。
となると、一番効率が良い周波数で動く程度の負荷だと結果的に良くなる?
# OSのスケジューラに、電力効率重視って通知するAPIとかあったっけ?
エネルギー消費だけを考えたら、単一スレッドで逐次処理が一番いいのではないだろうか。
シングルスレッドの逐次よりも、中程度のクロックで並列実行するほうが速度的にも消費電力的にも良くなる(できる)ようです。
http://www.kasahara.cs.waseda.ac.jp/achieve/pdf/y2017/%E7%AC%A0%E5%8E%... [waseda.ac.jp]
リンク先には
平均して大部分(約88%)の電力がCPUによって消費されていると結論付けました。
とあるので、CPU が大部分の電力を消費しているのはその通りのようです。
sleep 連発するのは、処理速度は遅いけど電力消費は少ない、みたいな直感に反するタイプになるかと
消費電力が少ないのは、目的達成のために余計な処理が挟まれない言語かなーと思いましたインタプリタは言わずもがな、JIT でも翻訳だったり実行中の解析だったり、純粋な目的達成のアルゴリズム以外の処理が動いています上位の C、Rust、C++ はそれらが少ないから、最小の処理で目的が達成でき、また途中に余計な処理が挟まれないのでキャッシュヒット率も良くて効率がいいのかな、と
CPUを作るのにかかるエネルギー消費まで含めると、壊れるまで出来うる限りフルパワーで回し続けた方が良さそう。
フルパワーだと1年で壊れるけど80%運転だと10年保ちますよとかはありそう
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
目玉の数さえ十分あれば、どんなバグも深刻ではない -- Eric Raymond
総合的なエネルギー消費を抑える言語とは (スコア:0)
むやみにハードウェア性能を引き出[さ|せ]ない言語、かなあ?
もっとも電源を使用するのはCPUだと仮定すると、
・スレッド間でしなくていい同期を取ろうとしてsleep多発する言語
・非同期処理が効率が悪すぎて同期処理で書かれがちで結果としてsleep多発な言語
なのが上位に来るのかしら
ま、許容できる時間内に課題を解決できるプログラムならそれでもいいという経営上の判断はありそう
Re:総合的なエネルギー消費を抑える言語とは (スコア:1)
今時のCPUってクロックが可変。
で、電力効率もクロックで可変しそう。
特にTurboBoostとかの高クロックになると効率が落ち込みやすい気がします。
となると、一番効率が良い周波数で動く程度の負荷だと結果的に良くなる?
# OSのスケジューラに、電力効率重視って通知するAPIとかあったっけ?
Re: (スコア:0)
エネルギー消費だけを考えたら、単一スレッドで逐次処理が一番いいのではないだろうか。
Re: (スコア:0)
シングルスレッドの逐次よりも、中程度のクロックで並列実行するほうが速度的にも消費電力的にも良くなる(できる)ようです。
http://www.kasahara.cs.waseda.ac.jp/achieve/pdf/y2017/%E7%AC%A0%E5%8E%... [waseda.ac.jp]
Re: (スコア:0)
リンク先には
平均して大部分(約88%)の電力がCPUによって消費されていると結論付けました。
とあるので、CPU が大部分の電力を消費しているのはその通りのようです。
sleep 連発するのは、処理速度は遅いけど電力消費は少ない、みたいな直感に反するタイプになるかと
消費電力が少ないのは、目的達成のために余計な処理が挟まれない言語かなーと思いました
インタプリタは言わずもがな、JIT でも翻訳だったり実行中の解析だったり、純粋な目的達成のアルゴリズム以外の処理が動いています
上位の C、Rust、C++ はそれらが少ないから、最小の処理で目的が達成でき、また途中に余計な処理が挟まれないのでキャッシュヒット率も良くて効率がいいのかな、と
Re: (スコア:0)
CPUを作るのにかかるエネルギー消費まで含めると、壊れるまで出来うる限りフルパワーで回し続けた方が良さそう。
Re: (スコア:0)
フルパワーだと1年で壊れるけど80%運転だと10年保ちますよとかはありそう