Difference between revisions of "Performance/Reorder Symbols For Libraries"
(→Microsoft Visual Studio 2008) |
(→Microsoft Visual Studio 2008) |
||
Line 9: | Line 9: | ||
== Microsoft Visual Studio 2008 == | == Microsoft Visual Studio 2008 == | ||
− | OpenOffice.org uses the Microsoft Visual | + | OpenOffice.org uses the Microsoft Visual Studio 2008 C/C++ compiler suite for the Windows build, called wntmsci12[.pro]. What options are available to support us reordering code/data in libraries? If you start the C/C++ compiler and linker with the help option you can see all supported options. |
<source lang="text"> | <source lang="text"> | ||
− | + | Microsoft (R) 32-Bit C/C++-Optimizing compiler Version 15.00.30729.01 for 80x86 | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | Microsoft (R) 32-Bit C/C++- | + | |
Copyright (C) Microsoft Corporation. All rights reserved. | Copyright (C) Microsoft Corporation. All rights reserved. | ||
... | ... | ||
− | /Gh | + | /Gh Enable _penter Hook Function |
− | /Gy | + | /GH Enable _pexit Hook Function |
+ | /Gy Enable Function-Level Linking | ||
... | ... | ||
+ | |||
+ | Microsoft (R) Incremental Linker Version 9.00.30729.01 | ||
+ | Copyright (C) Microsoft Corporation. All rights reserved. | ||
+ | |||
+ | Syntax: LINK [Options] [Files] [@Commandfile] | ||
+ | |||
+ | Options: | ||
+ | ... | ||
+ | /ORDER:@Filename | ||
+ | ... | ||
</source> | </source> |
Revision as of 21:03, 21 March 2009
Reorder code/data for libraries to improve file I/O
The comprehensive analysis of the cold start up behavior of OpenOffice.org shows that file I/O is main bottleneck. About 80% of the start up time is spent waiting for data from the disk. Most file I/O depends on library loading. This part describes what can be done to reduce I/O time for loading OpenOffice.org libraries. The main ideas are system independent but the solutions must be system/compiler specific. The following chapters describe in detail how we want to reorder code/data within the libraries.
Windows
This chapter describes the solution for the Windows platform.
Microsoft Visual Studio 2008
OpenOffice.org uses the Microsoft Visual Studio 2008 C/C++ compiler suite for the Windows build, called wntmsci12[.pro]. What options are available to support us reordering code/data in libraries? If you start the C/C++ compiler and linker with the help option you can see all supported options.
Microsoft (R) 32-Bit C/C++-Optimizing compiler Version 15.00.30729.01 for 80x86 Copyright (C) Microsoft Corporation. All rights reserved. ... /Gh Enable _penter Hook Function /GH Enable _pexit Hook Function /Gy Enable Function-Level Linking ... Microsoft (R) Incremental Linker Version 9.00.30729.01 Copyright (C) Microsoft Corporation. All rights reserved. Syntax: LINK [Options] [Files] [@Commandfile] Options: ... /ORDER:@Filename ...