tcc 学習:オブジェクト性能

2017-05-15 :  PCクリニック
Python、C言語、Perl、グルコサミン、Firefox
前(2017-05-13)の記事「LuaJIT-tcc:例題から学習」に続いて、
今回は、tcc で生成したオブジェクトの性能について学習。


tcc プロセッサ自体の性能については、
先日(2017-05-03)の記事「tcc - Tiny C Compiler」で書いた如く、

 ・FAST! tcc generates x86 code. No byte code overhead.
   Compile, assemble and link several times faster than GCC.
===
 ・早く! tccはx86コードを生成します。
   バイトコードオーバーヘッドはありません。 コンパイル、アセンブル、
   リンクはGCCより数倍高速です。

だそうですね。

そうすると、生成結果のプログラムの実行性能を知りたい。

例によって???
昨年9月(2016-09-23)の記事「LuaJIT vs LLVM/Clang」で書いた、
“フィボナッチ数を求めるプログラム”で実行時間を計測。

計測のためのプログラム:
----- fib.gsl ------
tcc = require'tcc' ('libtcc')
TCL = tcc.new()
TCL:set_output_type( 'output_memory' )
----------------------------
TCL:compile_string [[
int fib( int n ){
if( n < 2 ){ return n;
}else{ return fib(n-1) + fib(n-2);
}
}
]]
TCL:relocate( 'relocate_auto' )
fib = TCL:get_symbol( 'fib', 'int(*)( int )' )
-- ======================

local t=require'time'

Cst=t.time()
print( fib( 39 ) )
Cet=t.time()

print( Cet-Cst ) -- 0.515 秒

-- ====================
TCL:delete()
と云ったもの。

結果は、上記プログラム内コメントの通り。
これは、以前の LLVM/Clang での結果の -O3 無しに相当する。

つまり、
tcc のオブジェクトは、
最適化無し LLVM/Clang のオブジェクトと一緒。
LuaJIT に比べて、約 1.5 倍速い。


tcc は、MinGW に比べて、
コンパイル時間は数倍速く、オブジェクト性能は同等
(最適化機能は無し)
と云うこと?


本日はここまで。


luajit-tcc 学習は続く。


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


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

コメントの投稿

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

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



おきてがみ

最新記事
カレンダー
04 | 2017/05 | 06
- 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 31 - - -
月別アーカイブ
カテゴリ
最新コメント
検索フォーム
リンク
プロフィール

<紙>

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

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


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

Google Analytics
ブックマーク