C#, C♯, C#相談室 P ..
[
2ch
|
▼Menu
]
■コピペモード
□
スレを通常表示
□
オプションモード
□このスレッドのURL
■項目テキスト
309:デフォルトの名無しさん 07/09/04 02:52:52 >>307 2.0だとforeachのほうが若干早くなってますね。 foreach (int v in ar) csum += v; for (int i=0; i < 10000; i++) csum += ar[i]; これを下のように書くとforeachと同じスピードになるからそういう最適化をしてるのでしょう。 fixed (int *sp = &ar[0]) { int *ep = sp + 10000; for (int *p = sp; p < ep; p++) csum += *p + j; } ただ、foreachの制御変数が読み取り専用なのは、フェイルセーフのためなのか、 最適化のためなのかは判断がつきません。 310:デフォルトの名無しさん 07/09/04 07:54:38 アンセーーーーーフ!! なるほど、「処理を直接記述されると最適化できないが 抽象度を高くすると最適化しやすい」というやつか forよりforeachの方が早い LINQも早くなるという しかしループ変数への代入を許すとこの最適化が出来なくなるわけか 311:デフォルトの名無しさん 07/09/04 09:28:17 アンマネージドのコードと同期をとりたく、 EventWaitHandle.Handle プロパティで ネイティブのハンドルを取得しようと思ったのですが、 「古い形式です」と起こられてしまいます(警告)。 新しい形式ではどのように書くのでしょうか?
次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
レスジャンプ
mixiチェック!
Twitterに投稿
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch
4336日前に更新/133 KB
担当:undef