FRK-RX62N (18) printf (6) bin size2011年07月02日 16時09分56秒

printf のテストプログラムをいろいろ作成したので比較してみることにした。ソースはほぼ全てが同じものだ。ベースは Renesas の RX600 Series Adding Printf and Scanf Support になる。


テストするコンパイラと最適化レベル
KPIT GNURX v1102:		Optimize for size
Renesas RXC V.1.0.2.0:	最適化レベル2、サイズ優先
サイズは S-record ファイルを バイナリに変換して比較する。
KPIT はライブラリが二種類あり、さらに Newlib では iprintf (integer only) が使えるのでそれも対象とする。
printf	43,332	(KPIT GNURX Newlib)
printf	21,294	(Renesas RXC 標準ライブラリ)
iprintf	20,572	(KPIT GNURX Newlib)
printf	 6,262	(KPIT GNURX Optimized)
サイズが一番大きいのは KPIT。
そして一番小さいのも KPIT。
しかし、 Optimized ライブラリを使った時の KPIT は異常なほどコンパクトになっている。
スピードについても前回のテストで Renesas とほぼ同じ結果が得られた。これはもう KPIT Optimized ライブラリで決まりだろう。
RX って gcc と相性がいいのだろうか。


参照:Renesas Application Notes RX600 Series Adding Printf and Scanf Support (R01AN0509EU0100)
環境:High-performance Embedded Workshop Upgrade 4.09.00
    KPIT GNURX v11.02 Windows Tool Chain (ELF)
    Renesas C/C++ compiler package for RX family V.1.00 Release 02