アカウント名:
パスワード:
近年のキャッシュ当然, マルチプロセッサ(マルチコア)も普通なんて状況だといやが応でもハードを意識しますよ.
そうでないとデータひとつペリフェラルに本当に書き込まれたかどうか分かりませんし, 逆にペリフェラルから読んだつもりになっているだけとかもありえます. 並行して流れているスレッドが使っているデータは同じ物か保証できません. SMPでマルチスレッド化したら性能が落ちたなんてことも当然ありえます.
こういう物は大抵OSの同期化サービス(システムコール)とかミドルウェアでカバーされて, 初級プログラマにとってはおまじない化されているんですが, 古今おまじないは詠唱に時間がかかるのが相場です. ですからおまじないの背景にあるハードを理解していないと, 唱え過ぎで性能劣化を起こしたり, 逆に唱えるのを忘れて再現性の悪いバグを起こしたりするはめになります.
こんな問題は昔は大型サーバ・汎用機やワークステーション・スパコンの類, あるいはドライバ等のカーネルモジュールを扱う場合だけのものだったんですが, 最近のPCではそうした一昔前のハード構成と同じ様な物が使われていますので, プログラミングレベルでも同じような注意が必要になってきたわけですね. まあほとんどの場合, 性能は気にしないという条件さえ有れば無視できることが多いのですが.
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
犯人はmoriwaka -- Anonymous Coward
ハードの勉強が必要? (スコア:4, 興味深い)
>これらで少しはハードウェアの勉強もして欲しい、
>と願うばかりだ。
私はSEで、今でもハードの知識はほとんどないままです。(PC自作程度)
また、業務上ハードの勉強が必要だな~と感じたこともありません。
もちろん業務の内容によると思いますが、ソフト屋にとって
ハードの勉強は必要ですか?(というかどこまで必要?)
--- (´-`)。oO(平和な日常は私を鈍くする) ---
Re:ハードの勉強が必要? (スコア:1)
お客さんの所でなんで動かないor変な挙動する時に原因が解りやすくなるかも?
役立ったのっていうと、ほんと基本情報技術者(FE)の試験(今週末の日曜ですよー)と周囲のPCトラブルの解決というサポート方面な感じだなぁ・・・
ほんと何かあった時の助けになるかも程度な気がします。
# あとは、特殊な機器(バーコードリーダーとか温度センサ)をRS-232Cとかで自分でソフトから制御しなくていけなくて、しかもライブラリが無いとかの時ぐらい?
Re:ハードの勉強が必要? (スコア:3, 興味深い)
近年のキャッシュ当然, マルチプロセッサ(マルチコア)も普通なんて状況だといやが応でもハードを意識しますよ.
そうでないとデータひとつペリフェラルに本当に書き込まれたかどうか分かりませんし, 逆にペリフェラルから読んだつもりになっているだけとかもありえます. 並行して流れているスレッドが使っているデータは同じ物か保証できません. SMPでマルチスレッド化したら性能が落ちたなんてことも当然ありえます.
こういう物は大抵OSの同期化サービス(システムコール)とかミドルウェアでカバーされて, 初級プログラマにとってはおまじない化されているんですが, 古今おまじないは詠唱に時間がかかるのが相場です. ですからおまじないの背景にあるハードを理解していないと, 唱え過ぎで性能劣化を起こしたり, 逆に唱えるのを忘れて再現性の悪いバグを起こしたりするはめになります.
こんな問題は昔は大型サーバ・汎用機やワークステーション・スパコンの類, あるいはドライバ等のカーネルモジュールを扱う場合だけのものだったんですが, 最近のPCではそうした一昔前のハード構成と同じ様な物が使われていますので, プログラミングレベルでも同じような注意が必要になってきたわけですね. まあほとんどの場合, 性能は気にしないという条件さえ有れば無視できることが多いのですが.