Difference between revisions of "File size and smartlinking/ja"

From Lazarus wiki
Jump to navigationJump to search
m
 
(One intermediate revision by the same user not shown)
Line 3: Line 3:
 
{{Japanese Menu}}
 
{{Japanese Menu}}
  
この記事はLazarus上で実行ファイルサイズとスマートリンクについての作業中のものです。自由にコントリビュートしてください。
+
この記事はLazarus上で実行ファイルサイズとスマートリンクについて記述しています。
 
+
まだまだ作業途中のものなので、自由に書き込んでください。
  
 
__TOC__
 
__TOC__
  
==イントロダクション==
+
==導入==
  
==Windowsで1つのケーススタディ==
+
==Windows環境での実例==
  
この研究はLazarusが完全にスマートリンクされ、0.9.12としてリリースコンパイルされた2006年2月8日におこなわれました。異なった環境のLazarusのスマートリンカのあるなしFreePascalのバージョンとの組み合わせで、いろいろな結果になりました。
+
この調査は、2006年2月8日、Lazarusが完全にスマートリンクされ、0.9.12としてリリースコンパイルされた時におこなわれました。異なった環境でのLazarus、スマートリンカのあるなし、FreePascalのバージョンとの組み合わせで、いろいろな結果になりました。
  
研究したいろんな条件は下記のようなものです。
+
調査した条件は下記のようなものです。
  
 
*strip後の実行ファイルサイズ
 
*strip後の実行ファイルサイズ
Line 20: Line 20:
 
*リンク時間
 
*リンク時間
  
 +
コンパイル時間はここでは考慮しませんでした。リンク時間と比較して、さほど有意な違いがなかったからです。
  
コンパイル時間はここでは考慮しませんでした。なぜなら、すべてのコンフィグレーションにおいて、リンク時間と比較して、さほど有意な違いがなかったからです。
+
stripなしの実行ファイルサイズについても比較しませんでした。
 
 
stripなしの実行ファイルサイズについても比較しませんでした。stripはコマンドラインから、下記のコマンドでおこなうことに、注意してください。
 
  
 +
stripはコマンドラインから、下記のコマンドでおこないます。
 
<pre>
 
<pre>
 
strip --strip-all magnifier.exe
 
strip --strip-all magnifier.exe
 
</pre>
 
</pre>
  
コンパイルされるプログラムは「仮想の拡大鏡プログラム」です。このプログラムのソースとバイナリーは、自由に使っていただいて結構です。ダウンロードは、こちら: http://magnifier.sourceforge.net
+
コンパイルで実験するプログラムは「仮想の拡大鏡プログラム」です。
 +
このプログラムのソースとバイナリーは、自由に使ってください。
 +
 
 +
ダウンロードは、こちら: http://magnifier.sourceforge.net
  
リンク時間について利用したコンピュータは、インテルマザーボードと、3.2GHzのデュアルコアPentium4、512MBのRAMのものです。
+
リンク時間について調査したコンピュータは、インテルマザーボードと、3.2GHzのデュアルコアPentium4、512MBのRAMのものです。
  
  
Line 89: Line 92:
 
0.9.12は、すでにスマートリンクのためにWindowsで完全に設定されています。どんな追加設定も必要ではありません。 スマートリンクに関しては、これは以前のリリースでのそうではありませんでした。
 
0.9.12は、すでにスマートリンクのためにWindowsで完全に設定されています。どんな追加設定も必要ではありません。 スマートリンクに関しては、これは以前のリリースでのそうではありませんでした。
  
==さらなる情報==
+
==そのほかの関連情報==
  
 
* [http://members.chello.sk/ales/guide.html Guide] for anyone inexperienced in getting FPC and Lazarus to work properly.
 
* [http://members.chello.sk/ales/guide.html Guide] for anyone inexperienced in getting FPC and Lazarus to work properly.

Latest revision as of 14:05, 31 March 2008

Deutsch (de) English (en) français (fr) 日本語 (ja) português (pt) 中文(中国大陆)‎ (zh_CN)

日本語版メニュー
メインページ - Lazarus Documentation日本語版 - 翻訳ノート - 日本語障害情報

この記事はLazarus上で実行ファイルサイズとスマートリンクについて記述しています。 まだまだ作業途中のものなので、自由に書き込んでください。

導入

Windows環境での実例

この調査は、2006年2月8日、Lazarusが完全にスマートリンクされ、0.9.12としてリリースコンパイルされた時におこなわれました。異なった環境でのLazarus、スマートリンカのあるなし、FreePascalのバージョンとの組み合わせで、いろいろな結果になりました。

調査した条件は下記のようなものです。

  • strip後の実行ファイルサイズ
  • stripとUPX後の実行ファイルサイズ
  • リンク時間

コンパイル時間はここでは考慮しませんでした。リンク時間と比較して、さほど有意な違いがなかったからです。

stripなしの実行ファイルサイズについても比較しませんでした。

stripはコマンドラインから、下記のコマンドでおこないます。

strip --strip-all magnifier.exe

コンパイルで実験するプログラムは「仮想の拡大鏡プログラム」です。 このプログラムのソースとバイナリーは、自由に使ってください。

ダウンロードは、こちら: http://magnifier.sourceforge.net

リンク時間について調査したコンピュータは、インテルマザーボードと、3.2GHzのデュアルコアPentium4、512MBのRAMのものです。


結果

利用したOSはWindows XP、そして、0.9.12がリリースされたときと同じ日の0.9.13のLazarusを利用しました。 この比較は以下のソフトウェアのコンフィグレーションで行われました:

  • hereで利用可能なLazarus 0.9.12と、そのインストーラで入る Free Pascal 2.0.2。LCLとRTLはスマートリンクされたものです。以降、これらを単に0.9.12とします。
  • 同じ日のサブバージョンとしてダウンロードできる Lazarus 0.9.13。FreePascal 2.0.2を別にインストールします。LCLはスマートリンクされていません。 以降、これらを単に 0.9.13+2.0.2とします。
  • Lazarus 0.9.13スナップショット。インストーラで一緒に入ってくる Free Pascal 2.1。LCLはスマートリンクされていません。以降、これらを単に 0.9.13+2.1とします。
  • Lazarus 0.9.13スナップショット。インストーラで一緒に入ってくる Free Pascal 2.1。LCLはスマートリンクされていません。以降、これらを単に 0.9.13+2.1とします。
  • Lazarus 0.9.13スナップショット。インストーラで一緒に入ってくる Free Pascal 2.1。LCLはスマートリンクされています。以降、これらを単に 0.9.13+2.1+SLとします。


0.9.12 0.9.13 + 2.0.2 0.9.13 + 2.1 + SL 0.9.13 + 2.1
strip後のファイルサイズ (バイト) 1108480 1587712 1425408 1649152
UPX後のファイルサイズ (in bytes) 318976 438272 388608 454144
リンク時間 15 秒 5 秒 45 秒 10 秒


結論

2006年2月8日の0.9.13スナップショットは、unstableな2.1ブランチからのコンパイラであることに注意してください。そのコンパイラは、他のバージョンと比べて大きめの実行ファイルと、リンクに時間がかかる原因になっています。 0.9.12は、UPXのあり、なしにかかわらず、すべてに対してファイルサイズが最適に小さくなります。つまり、SmartlinkingはWindowsでのファイルサイズを減少させることができる、ということです。しかしながら、これは、リンク時間がかかる、という代償がついています。スマートリンクなしよりも3倍の時間です。 0.9.12は、すでにスマートリンクのためにWindowsで完全に設定されています。どんな追加設定も必要ではありません。 スマートリンクに関しては、これは以前のリリースでのそうではありませんでした。

そのほかの関連情報

  • Guide for anyone inexperienced in getting FPC and Lazarus to work properly.