新しいものを表示

あわせてよみたい><
デイリーポータルZ:「鯖くさらかし岩」の秘密 portal.nifty.com/special05/09/

orange さんがブースト

[「落ちない石」落ちてきた! 島根 浜田]
海底の地層が隆起して出来た島根県浜田市の石見畳ヶ浦で、切り立った崖にへばりついたような見た目から「落ちない石」として受験生などに知られていた1メートルほどの大きさの石が、14日、落ちているのが見つかりました。地元の観光ガイドは「受験生の代わりに落ちてくれたのでは」と話しています。
www3.nhk.or.jp/news/html/20180

ILGeneratorで遊んだ時のコードも見つけたけど何をしたかったのかわからない・・・>< mstdn.nere9.help/media/2ygPZ5d

自作VMこれだ><;
twitter.com/orange_in_space/st
スクリーンショットからすると足し算だけじゃなく加減乗除できたっぽい?><;

ILGeneratorで作って実行するのは前にやった事が><(互換性がある足し算しか出来ないVM作って「同じ!><」ってするためにやったような記憶が><;)

orange さんがブースト

[雑記] 動的コード生成のパフォーマンス - C# によるプログラミング入門 | ++C++; // 未確認飛行 C ufcpp.net/study/csharp/misc_dy

せっかくだからちょっとF# 弄ってみたけど、let hoge:single = 1f って書いたら、1.0f って書けって怒られた・・・><(サフィックスの存在意義・・・・><)

LINQPad入れてみたけど、出来上がったものをMSILで見ることは出来るけど、書いてアセンブルは出来ない・・・?><

たぶんだけど、JavaVMも同じくスタックマシンだから、cs版をJavaに、MSIL版をJavaバイトコードアセンブラ(?)にほぼそのまま移植したら同じくらいの差が出そう・・・?><

ものすごく前にマストドンで「MSIL(CIL)を直接書いて速くなる場面なんてあるのかな?><」って書いた記憶あるけど、一応あることはあるんだね・・・><(たぶん実用的な意味は無いけど><;)

オレンジはdnSpyで中身見てた><

orange さんがブースト

あとReflexilとかdnSpyでILいじって遊ぶのも楽しいです

orange さんがブースト

これなにがいいって、命令にカーソル乗せると意味が表示されるんですよ

スレッドを表示
orange さんがブースト

あれ?><; 最適化無しで試したら
C# 版: 3295ms
MSIL版: 1453ms
System.Math: 63ms
って結構差が・・・><;

orange さんがブースト

(Delphiじゃなくbccだったかもしれない・・・><(よく覚えてない><;))

でも、生まれて初めてアセンブラで書き直して高速化に成功できたから一応うれしい><(DelphiでMMX使って数命令の短いインラインアセンブラなコードで速くした事なら前にあるけど、処理丸ごとアセンブラで書いて速く出来たのは初めて><)

やっとdllに出来たのでベンチマークしてみたけど、10000000回ループで、
C# 版: 1477ms
手書きMSIL版: 1458ms
って速くはなったけどものすごく微妙><; そして
System.Math: 3ms
・・・・・・・・><

古いものを表示
:realtek:

思考の /dev/null