アカウント名:
パスワード:
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
日本発のオープンソースソフトウェアは42件 -- ある官僚
無茶言うなというか (スコア:0)
# 発言はアプリ開発者じゃなくてドライバやコンパイラの開発者に向けたものなのかもしれないけど
CPUがいくつあるとか、メモリがどうなってるとか、そういうことを抽象化た上でアプリを組むのが最近の流れだし、実際そうなってきていると思うんだけど。
# ICCが勝手にやってくれればいいじゃん、というのは甘いのかな
Re:無茶言うなというか (スコア:2, すばらしい洞察)
そういうことをちゃんとやれと言ってるだけですよ。
CPU が一つしかないことを前提にしたようなプログラムを書かずに、CPU がいくつだろうとパフォーマンスを発揮できるような構造にすべきだと。
フレームワークやコンパイラがいくら頑張っても、逐次処理しか考えてないような古い設計のアプリでは複数の CPU を活用するのは難しいでしょう。
Re:無茶言うなというか (スコア:0)
#3倍ネタからの延長なので他意はありません
Re:無茶言うなというか (スコア:0)
マルチスレッドを考慮したスレッドセーフなライブラリにするため、細心の注意を払って設計し。内部でもリソースに空きがあれば積極的にスレッドを分けるようにプログラムしたら……
「みんなでメンテナンスできなくなるからやめれ」
って、グダグダと逐次処理するプログラムに直されました orz
ボクの恨みを晴らしたって下さい。
Re:無茶言うなというか (スコア:0)
関数型言語よろ (スコア:0)
なんかErlangなんかCPU性能や個数に合わせて性能もほんとに素直にスケールするってのが売りらしいですが。
素直にCPU個数倍にならない(プログラム言語側から見た)理由の大きな1つとして、
いったん分家独立したはずの各スレッドが、あとでちょこまかとお互いの手持ちの情報を参照しあい、しかもそのタイミングが読めないから、最適化しにくい、という点があります。
で、じ
Re:無茶言うなというか (スコア:0)
>上でアプリを組むのが最近の流れだし、実際そうなってきていると思うんだけど。
誰がそんなことを言ったか知らないけど、CPUが1個の時の逐次
プログラミングと2個以上の並列プログラミングでは、通常は
全く異なるプログラムになりますよ。
「抽象化できたらいいなあ」という夢物語と現実は区別すべきです。
Re:無茶言うなというか (スコア:1)
2個以上の並列プログラミングが同じだと言ってるだけだと思いますが。
それにCPUの個数は抽象化されてると思うけど。
プログラマからすれば、OSが提供する1個の仮想CPUに複数のプロセス
の処理を依頼するだけだから。
で、現実にそれぞれのプロセスが、別々のコアに割り当てられるかどうかは、
OS しだいなわけで。
Re:無茶言うなというか (スコア:0)
>2個以上の並列プログラミングが同じだと言ってるだけだと思いますが。
うん。
だからCPU一個の時は逐次プログラムを書くし、
二個以上の時は並列プログラムを書く。
今までは一部の例外を除いて、ほとんどすべてが逐次プログラムだったし、
並列プログラムを書けるプログラマーもほとんどいない。
「CPUの個数の抽象化」なんてのはその程度の代物だってのは、
並列プログラマの常識です。
>OSが提供する1個の仮想CPUに複数のプロセス
以降はあくまで並列プログラムの話限定ですね。