アカウント名:
パスワード:
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
Stay hungry, Stay foolish. -- Steven Paul Jobs
無茶言うなというか (スコア:0)
# 発言はアプリ開発者じゃなくてドライバやコンパイラの開発者に向けたものなのかもしれないけど
CPUがいくつあるとか、メモリがどうなってるとか、そういうことを抽象化た上でアプリを組むのが最近の流れだし、実際そうなってきていると思うんだけど。
# ICCが勝手にやってくれればいいじゃん、というのは甘いのかな
Re:無茶言うなというか (スコア:2, すばらしい洞察)
そういうことをちゃんとやれと言ってるだけですよ。
CPU が一つしかないことを前提にしたようなプログラムを書かずに、CPU がいくつだろうとパフォーマンスを発揮できるような構造にすべきだと。
フレームワークやコンパイラがいくら頑張っても、逐次処理しか考えてないような古い設計のアプリでは複数の CPU を活用するのは難しいでしょう。
関数型言語よろ (スコア:0)
なんかErlangなんかCPU性能や個数に合わせて性能もほんとに素直にスケールするってのが売りらしいですが。
素直にCPU個数倍にならない(プログラム言語側から見た)理由の大きな1つとして、
いったん分家独立したはずの各スレッドが、あとでちょこまかとお互いの手持ちの情報を参照しあい、しかもそのタイミングが読めないから、最適化しにくい、という点があります。
で、じゃあ状態というものが変化しなければいいじゃないか!変化しないと安心できるなら、どこの(隣のスレッドの)データだってROMと同じように気楽に扱える(例えばローカルにキャッシュし放題だ)、だから足引っ張りの要素が減る、ってのが純粋関数型言語のアプローチ。
マルチコアっていうかマルチスレッドでなくても、プログラマの思考のスレッドも相互干渉しなくて済む、つまり人間が混乱しにくいプログラムを書き易くなるようです。
#Haskellが判らないふつうの人なのでAC