Difference between revisions of "Performance/Library and directory structure"

From Apache OpenOffice Wiki
Jump to: navigation, search
(Performance test with DEV300m45)
(Performance test with DEV300m45)
Line 43: Line 43:
 
flat = All libraries are located next to the application binaries. Means that all libraries are within the "OpenOffice.org 3\program" folder.
 
flat = All libraries are located next to the application binaries. Means that all libraries are within the "OpenOffice.org 3\program" folder.
  
The performance test clearly shows that the split of the libraries and not placing them next to the application binaries brought us a 10% start up performance penalty. Therefore it makes sense to place these libraries again into the program folder of the installation.
+
The performance test clearly shows that the split of the libraries and not placing them next to the application binaries brought us a 10% start up performance penalty. Therefore it would makes sense to place these libraries again into the program folder of the installation.

Revision as of 14:48, 14 April 2009

Optimizing the placement of libraries for a better cold start up

This part wants to concentrate on a possible problem which has been introduced by the three layer structure for OpenOffice.org 3.

Main idea

According to an article from Microsoft the placement of shared libraries is crucial for a good start up performance. The article states that the load time of a library can be reduced by about 20% if it's located at the first search position (next to the binary).

It must be clarified if the findings can also have positive effects on the other platforms.

At least on recent Linux versions, the loader appears to cache the content of directories it has already scanned for a library, so that spreading the libraries across multiple directories has no real performance impact. On Mac OS X, library dependencies are always with full path, anyway. Sb 14:15, 14 April 2009 (UTC)

Windows

  • Windows Vista Ultimate 32-Bit
  • Opteron 175 (Dual core) 2,2Ghz
  • 4 GB RAM
  • Deskstar 7K250 160GB 8MB Cache
  • (Super Fetch and Prefetch disabled)

Performance test with DEV300m45

The following performance test wants to clarify how much performance can be gained with an optimized library placement. According to Microsoft documentation all libraries should be located next to the application executable. Therefore we modified some configuration files and moved all libraries from "OpenOffice.org 3\Basis\program" and "OpenOffice.org 3\URE\bin" to the "OpenOffice.org\program" folder where soffice.exe, soffice.bin.

Optimization method Test run 1 Test run 2 Test run 3 Test run 4 Test run 5 Mean time
OOO310m9 16,1s 16,1s 16,4s 16,2s 16,2s 16,2s (100%)
DEV300m45 (standard) 15,8s 15,8s 14,9s 15,9s 14,8s 15,4s (95%)
DEV300m45 (flat*) 13,7s 14,1s 14,3s 13,7s 13,3s 13,8s (85%)
DEV300m45 (not rebased/flat*) 9,9s 11,5s 11,3s 11,6s 10,7s 11s (68%)

flat = All libraries are located next to the application binaries. Means that all libraries are within the "OpenOffice.org 3\program" folder.

The performance test clearly shows that the split of the libraries and not placing them next to the application binaries brought us a 10% start up performance penalty. Therefore it would makes sense to place these libraries again into the program folder of the installation.

Personal tools