タグ

JITに関するUSAGI-WRPのブックマーク (3)

  • F#でJIT - 七誌の開発日記

    今までPythonやC#やNode.jsでJITを実装しました。 PythonでJIT (Windows 32bit) PythonでJIT (Mac OS X 64bit) C#でJIT Node.jsでJIT 今回はF#版です。C#版をほとんどそのまま焼き直しただけですが、それだけでは面白くないので、環境を判定して64bitにも対応しました。 open System.Runtime.InteropServices [<DllImport("kernel32.dll", SetLastError = true)>] extern nativeint VirtualAlloc( nativeint lpAddress, int dwSize, int flAllocationType, int flProtect) [<DllImport("kernel32.dll", SetLastEr

    F#でJIT - 七誌の開発日記
  • Protoベースの実行時コンパイル

    Protoベースの実行時コンパイル Presentation Transcript Protoベースの 実行時コンパイル Naomasa Matsubayashi2013年2月16日土曜日 @fadis_ C++er 今日のネタもC++ Naomasa Matsubayashi2013年2月16日土曜日 if( x >= 5 ) x *= 2; else x += 5; ! cmpl! $4, -4(%rbp) ! jle!.L2 ! sall! -4(%rbp) ! jmp!.L3 .L2: ! addl! $5, -4(%rbp) .L3:2013年2月16日土曜日 if( true ) x *= 2; else x += 5; ! sall! -4(%rbp) コンパイル時に条件式の値が定まっていたら 分岐を無かったことに出来る2013年2月16日土曜日 コンパイル時に条件式の値が定

  • Xbyak - x86 JIT assembler -

    Xbyak - x86, x64 JIT assembler - .frame(English) .frame(x86の究極の最適化手法?) Xbyak(カイビャック)はx86(IA32), x64(AMD64, x86-64)のマシン語命令を生成するC++のクラスライブラリです. プログラム実行時に動的にアセンブルすることが可能なため, 柔軟な最適化(動的コード生成)が可能となります(利用シーン:量子化の高速化, 式の計算). 暗号ライブラリに使って高速な実装をしてみた(very fast etaT pairing for Core 2 Duo) ヘッダファイルオンリー xbyak.hをインクルードするだけですぐ利用することができます(32bit, 64bit両対応). Windows Xp(32bit, 64bit), Vista/Linux(32bit, 64bit)/Intel

  • 1