トップページ > プログラム > 2015年03月08日 > JHTV8U6v

書き込み順位&時間帯一覧

25 位/202 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000000000000123



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
C#, C♯, C#相談室 Part86 [転載禁止]©2ch.net

書き込みレス一覧

C#, C♯, C#相談室 Part86 [転載禁止]©2ch.net
788 :デフォルトの名無しさん[sage]:2015/03/08(日) 22:13:51.33 ID:JHTV8U6v
ところでこの馬鹿げたコードを見てくれ
ttps://ideone.com/YJ6bBz

Blittable構造体を読み出すジェネリック拡張メソッドをスレッドセーフで実装しながら
パフォーマンスを維持するにはこんな方法しか思いつかなかった
バッファが静的フィールドだとvolatile付けたってlockしないとスレッドセーフに成らんよな?

というかbyte[]インスタンスのTypeHandleはどっから来てるの?__makerefから取れるTypeHandleは
typeof(byte[]).TypeHandleともtypeof(Array).TypeHandleともtypeof(byte).TypeHandleとも異なる…
Type.GetTypeFromHandleUnsafeしてみりゃSystem.Byte[]が返ってくるArrayだけ構造違うの?
C#, C♯, C#相談室 Part86 [転載禁止]©2ch.net
797 :デフォルトの名無しさん[sage]:2015/03/08(日) 23:25:34.17 ID:JHTV8U6v
>>793
うーん済まないがThreadStatic使うとnew byteするのと大してパフォーマンス変わらないんだよね
スレッドセーフじゃない静的フィールドならReadInt32を上回る速度が出るんだけど…
inputがMemoryStreamだとInternalReadInt32呼ばれて負けますがね!もはやC++/CLIでも使えって話だけど
C#, C♯, C#相談室 Part86 [転載禁止]©2ch.net
799 :デフォルトの名無しさん[sage]:2015/03/08(日) 23:56:15.74 ID:JHTV8U6v
まぁミリ秒単位の話なんでそうなんだけどね
結局unsafeコードなら直にfixedキャスト書いた方が速いし
マネージコードならSafeBuffer使えば良いし(AlignedSizeなのが玉に瑕だが

Marshal.SizeOfTypeにもthe lack of a suitable generic constraint.なんて書かれてるし
MSILで出来る事がC#で書けないのがなんかもにょる.NETの為の言語じゃねーのかよって感じで


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。