blob: b03662e9751bf2cdf7c3ecb21268cbdde4bf29f1 [file] [log] [blame]
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta http-equiv="CONTENT-TYPE" content="text/html; charset=iso-8859-1">
<meta name="GENERATOR" content="Mozilla/4.76 [en] (X11; U; Linux 2.4.0-4GB i686) [Netscape]">
<meta name="AUTHOR" content="Martin Hollmichel">
<meta name="CREATED" content="20010510;10315656">
<meta name="CHANGEDBY" content="Martin Hollmichel">
<meta name="CHANGED" content="20010510;16190600">
</head>
<body>
<h2>
Linux (x86) Performance Issues</h2>
<h3>
Code size</h3>
In comparison to the Windows binaries it is remarkable that size of libraries
is bigger. Some libraries are three times bigger than their windows versions.
One main reason for that is that symbols are referenced by their names.
In Windows symbols are directly referenced (within libraries) or by ordinal
(external references).
<p>One possible solution could be the introduction of aliases for symbol
names. So the symbol names could be reduced to an optimal length and names
with up to 4K characters could be avoided. If there was made heavy use
of STL and namespaces very long symbols names are the result.
<p>There are other reasons why gcc generated libraries are pretty huge,
see also some <a href="filesizes.html">sizing experiments</a> we've done
on SRC624.
<h3>
Startup time</h3>
See also: <a href="http://bugzilla.mozilla.org/show_bug.cgi?id=46775">http://bugzilla.mozilla.org/show_bug.cgi?id=46775</a>
.
<h2>
Performance Data:</h2>
<table BORDER CELLSPACING=3 CELLPADDING=4 WIDTH="100%" >
<caption><COL WIDTH=85*><COL WIDTH=85*><COL WIDTH=85*><THEAD>
<br></THEAD></caption>
<tr VALIGN=TOP>
<th WIDTH="33%">OpenOffice.org Version</th>
<th WIDTH="33%">Startup (first start after installation)</th>
<th WIDTH="33%">Memory footprint after start and late init</th>
</tr>
</table>
<br>&nbsp;
<br>&nbsp;
<br>&nbsp;
<table BORDER CELLSPACING=3 CELLPADDING=4 WIDTH="100%" >
<caption><COL WIDTH=85*><COL WIDTH=85*><COL WIDTH=28*><COL WIDTH=28*><COL WIDTH=28*><THEAD>
<br></THEAD><TBODY>
<br></TBODY></caption>
<tr VALIGN=TOP>
<td WIDTH="33%"></td>
<td WIDTH="33%"></td>
<td WIDTH="11%">VmSize</td>
<td WIDTH="11%">VmRss</td>
<td WIDTH="11%">VmData</td>
</tr>
<tr VALIGN=TOP>
<td WIDTH="33%">OpenOffice627</td>
<td WIDTH="33%">65 sec</td>
<td COLSPAN="3" WIDTH="33%">104768Kb/49676KB/16360kb</td>
</tr>
<tr VALIGN=TOP>
<td WIDTH="33%"></td>
<td WIDTH="33%"></td>
<td COLSPAN="3" WIDTH="33%"></td>
</tr>
</table>
<br>&nbsp;
<br>&nbsp;
<br>&nbsp;
<br>&nbsp;
<br>&nbsp;
<br>&nbsp;
<br>&nbsp;
<br>&nbsp;
<h3>
Other references:</h3>
Linking loader ld.so
<a href="http://www.suse.de/~bastian/Export/linking.txt">http://www.suse.de/~bastian/Export/linking.txt</a>
<br>&nbsp;
<br>&nbsp;
<br>&nbsp;
<br>&nbsp;
<br>&nbsp;
<br>&nbsp;
</body>
</html>