Sign in Join
Wiki copytemporary

File size and smartlinking/ja: what changed

Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.

Title: File size and smartlinking/ja

OldNewLine
1+この記事はLazarus上で実行ファイルサイズとスマートリンクについて記述しています。 まだまだ作業途中のものなので、自由に書き込んでください。
2+
3+## 導入
4+
5+## Windows環境での実例
6+
7+この調査は、2006年2月8日、Lazarusが完全にスマートリンクされ、0.9.12としてリリースコンパイルされた時におこなわれました。異なった環境でのLazarus、スマートリンカのあるなし、FreePascalのバージョンとの組み合わせで、いろいろな結果になりました。
8+
9+調査した条件は下記のようなものです。
10+
11+- strip後の実行ファイルサイズ
12+- stripとUPX後の実行ファイルサイズ
13+- リンク時間
14+
15+コンパイル時間はここでは考慮しませんでした。リンク時間と比較して、さほど有意な違いがなかったからです。
16+
17+stripなしの実行ファイルサイズについても比較しませんでした。
18+
19+stripはコマンドラインから、下記のコマンドでおこないます。
20+
21+ strip --strip-all magnifier.exe
22+
23+コンパイルで実験するプログラムは「仮想の拡大鏡プログラム」です。 このプログラムのソースとバイナリーは、自由に使ってください。
24+
25+ダウンロードは、こちら: <http://magnifier.sourceforge.net>
26+
27+リンク時間について調査したコンピュータは、インテルマザーボードと、3.2GHzのデュアルコアPentium4、512MBのRAMのものです。
28+
29+**結果**
30+
31+利用したOSはWindows XP、そして、0.9.12がリリースされたときと同じ日の0.9.13のLazarusを利用しました。 この比較は以下のソフトウェアのコンフィグレーションで行われました:
32+
33+- [here](http://sourceforge.net/project/showfiles.php?group_id=89339)で利用可能なLazarus 0.9.12と、そのインストーラで入る Free Pascal 2.0.2。LCLとRTLはスマートリンクされたものです。以降、これらを単に0.9.12とします。
34+
35+- 同じ日のサブバージョンとしてダウンロードできる Lazarus 0.9.13。FreePascal 2.0.2を別にインストールします。LCLはスマートリンクされていません。 以降、これらを単に 0.9.13+2.0.2とします。
36+
37+- Lazarus 0.9.13スナップショット。インストーラで一緒に入ってくる Free Pascal 2.1。LCLはスマートリンクされていません。以降、これらを単に 0.9.13+2.1とします。
38+
39+- Lazarus 0.9.13スナップショット。インストーラで一緒に入ってくる Free Pascal 2.1。LCLはスマートリンクされていません。以降、これらを単に 0.9.13+2.1とします。
40+
41+- Lazarus 0.9.13スナップショット。インストーラで一緒に入ってくる Free Pascal 2.1。LCLはスマートリンクされています。以降、これらを単に 0.9.13+2.1+SLとします。
42+
43+| | 0.9.12 | 0.9.13 + 2.0.2 | 0.9.13 + 2.1 + SL | 0.9.13 + 2.1 |
44+|----|----|----|----|----|
45+| strip後のファイルサイズ (バイト) | 1108480 | 1587712 | 1425408 | 1649152 |
46+| UPX後のファイルサイズ (in bytes) | 318976 | 438272 | 388608 | 454144 |
47+| リンク時間 | 15 秒 | 5 秒 | 45 秒 | 10 秒 |
48+
49+**結論**
50+
51+2006年2月8日の0.9.13スナップショットは、unstableな2.1ブランチからのコンパイラであることに注意してください。そのコンパイラは、他のバージョンと比べて大きめの実行ファイルと、リンクに時間がかかる原因になっています。 0.9.12は、UPXのあり、なしにかかわらず、すべてに対してファイルサイズが最適に小さくなります。つまり、SmartlinkingはWindowsでのファイルサイズを減少させることができる、ということです。しかしながら、これは、リンク時間がかかる、という代償がついています。スマートリンクなしよりも3倍の時間です。 0.9.12は、すでにスマートリンクのためにWindowsで完全に設定されています。どんな追加設定も必要ではありません。 スマートリンクに関しては、これは以前のリリースでのそうではありませんでした。
52+
53+## そのほかの関連情報
54+
55+- [Guide](http://members.chello.sk/ales/guide.html) for anyone inexperienced in getting FPC and Lazarus to work properly.
56+
57+---
58+*From the Free Pascal wiki, page "File size and smartlinking/ja", as it stood on 2008-03-31 after a change by Saeka-jp, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*

Back to history