GSL Shell 学習:LuaJIT の性能(例)

2016-02-28 :  PCクリニック
本文の前に、
-・・・ -・-
現時点での blogramのランクインカテゴリは、
7、2、0、0、1、 0、0、0、0、0(40)で、換算ポイント 88pt 。
「Perl」「化学業界」「硝子業界」「e-radio」、
「グルコサミン」「Python」「Firefox」bg値変動のみ。
「C言語」「FM COCOLO」「FM青森」全く変化無し。
・-・ - -・

さて、本文。(これは LuaJIT 学習?)

“LuaJIT”の実効性能がいかほどのものか
“Lua”及び“Python”と(遊び程度に)比較したのは、
今年初め(2016-01-04)の記事:
LuaJIT : Just-In-Time Compiler (JIT) for the Lua …
でした。

そこで、もう少しまともなコードでの比較を行った。


題材は、・・・・・
2年前(2014-09-27)の記事:「空間磁束密度算出式
で書いた、
  ・・・・・
  ・・・・・
  “磁気回路設計資料”なる
  [PDF]文書:j371_circuit.pdf
  内にある“空間磁束密度算出式”
  ・・・・・
  ・・・・・
これの3ページ目にある
  2-3. 円筒状マグネット
の“式”を計算するプログラム。

この計算式で B(X) を算出する。

Lua での関数定義は;
function Culc( R, r, L, X )
local v = Br/2*( ( (L+X)/math.sqrt(R*R+(L+X)*(L+X)) - (L+X)/math.sqrt(r*r+(L+X)*(L+X)) ) - ( ( X/math.sqrt(R*R+X*X) ) - (X/math.sqrt(r*r+X*X) ) ) )
return 10000*v
end
の様になる。
ここで、X を連続して 2,000 点。
さらに、 R, r, L の組み合わせを 10数万通り。

Python では、NumPy によるベクトル化。
Lua では、全て for ループ。

その結果は、・・・・・

処理実行時間は、

Python ・・・・・ 38秒
Lua基本・・・・・ 15秒
LuaJIT ・・・・・ 0.8秒程度
 (正確な時間計測は出来なかった)

でした。


“Lua”は最速のインタプリタ(?) → “Python”の約2.5倍速
そして、
“LuaJIT”では、なんと“Python”の約50倍速!


本日はここまで。


更なる学習ダ。


Lua ( GSL Shell ) 学習は続く。


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒ blogram投票ボタン


151218
関連記事
スポンサーサイト

コメントの投稿

管理者にだけ表示を許可する

おきてがみ/blogram
blogram投票ボタン



おきてがみ

最新記事
カレンダー
05 | 2017/06 | 07
- - - - 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 -
月別アーカイブ
カテゴリ
最新コメント
検索フォーム
リンク
プロフィール

<紙>

Author:<紙>
ようこそ。
「パソコンヲタクの雑記帳」
もろもろなことを綴っています。
パソコン ヲタクってねくら?
画像は kami でなく kani です。

カウンター(fc2、i2i) /Google Analytics


i2i(from 2010-08-24)
Total =
Today  =  
Yesterday=
アンチエイジング

Google Analytics
ブックマーク