Difference between revisions of "Performance"
From Apache OpenOffice Wiki
Line 1: | Line 1: | ||
As George Ou has famously said, "It doesn't matter how fast the CPU is, OpenOffice is just bloated." | As George Ou has famously said, "It doesn't matter how fast the CPU is, OpenOffice is just bloated." | ||
+ | == Project Summary == | ||
+ | Project will achieve the goal: maintain good performance and evaluate OOo. | ||
− | == Known areas for improvement == | + | == OOo Issues == |
+ | === Issues from End-User === | ||
+ | ... | ||
+ | === Known areas for improvement === | ||
− | === Component issues === | + | ==== Component issues ==== |
* [[Calc/To-Dos/Performance|Calc]] - lots to do | * [[Calc/To-Dos/Performance|Calc]] - lots to do | ||
Line 10: | Line 15: | ||
* [[Base_performance|Base]] - lots to do | * [[Base_performance|Base]] - lots to do | ||
− | === system issues === | + | ==== system issues ==== |
* Linux / Linking - relocation processing is very slow ( [http://ooocon-ljudmila.kiberpipa.org/media/Bloated_Michael_Meeks/video.ogg ogg video], [http://go-oo.org/~michael/performance.odp odp slides] ) several possible ways to fix that | * Linux / Linking - relocation processing is very slow ( [http://ooocon-ljudmila.kiberpipa.org/media/Bloated_Michael_Meeks/video.ogg ogg video], [http://go-oo.org/~michael/performance.odp odp slides] ) several possible ways to fix that | ||
** re-ordering symbol & elf hash tables to improve cache locality, lots of good & simple ideas here. | ** re-ordering symbol & elf hash tables to improve cache locality, lots of good & simple ideas here. | ||
Line 21: | Line 26: | ||
* Linux / I/O scheduling & pre-loading is poor | * Linux / I/O scheduling & pre-loading is poor | ||
− | === General I/O & memory issues === | + | ==== General I/O & memory issues ==== |
* Image strip layout - our images strips are huge & unwieldy, layed out [http://blogs.msdn.com/oldnewthing/archive/2005/08/05/448073.aspx horizontally] and are 'cached' in scattered files - this is fixed in CWS ka009, which never seems to get integrated. | * Image strip layout - our images strips are huge & unwieldy, layed out [http://blogs.msdn.com/oldnewthing/archive/2005/08/05/448073.aspx horizontally] and are 'cached' in scattered files - this is fixed in CWS ka009, which never seems to get integrated. | ||
* Configuration information scattered across many files | * Configuration information scattered across many files |
Revision as of 03:14, 1 February 2008
As George Ou has famously said, "It doesn't matter how fast the CPU is, OpenOffice is just bloated."
Contents
Project Summary
Project will achieve the goal: maintain good performance and evaluate OOo.
OOo Issues
Issues from End-User
...
Known areas for improvement
Component issues
system issues
- Linux / Linking - relocation processing is very slow ( ogg video, odp slides ) several possible ways to fix that
- re-ordering symbol & elf hash tables to improve cache locality, lots of good & simple ideas here.
- -Bdirect implementation [1] - gaining little traction.
- exporting Vague linkage more cleverly & using RTLD_LOCAL where possible
- basic linker optimizations:
- don't export *UND* in .hash table
- sort syms & dynsym entries more intelligently
- .hashvals optimisation
- Linux / I/O scheduling & pre-loading is poor
General I/O & memory issues
- Image strip layout - our images strips are huge & unwieldy, layed out horizontally and are 'cached' in scattered files - this is fixed in CWS ka009, which never seems to get integrated.
- Configuration information scattered across many files
- UI configuration - tons of scattered files
- .rdb files - loads of empty space, mmap + random access pattern
Helpful Tooling and Resources
- Linux/cold-start simulator
- relocstat - dump relocation data
- RTL_LOGFILE - export RTL_LOGFILE=/tmp/foo
- valgrind - debug / trace memory usage
- speedprof - a quick / hackish sampling full-stack-trace profiler & visualisation tool
- APPR - a performance regression tool suite
- Performance Related Test Documents
Approaches being worked on
- Configmgr re-factor, reduces locking overhead & memory usage cf. CWS configrefactor01
- XML Load
- Config refactor - reduce seeks/files, better caching
- Disk Access
- -Bdirect linking
- FIXME - Malte - we should really have your list embedded here ...
Integrated improvements
Other Pages
This Wiki page should become the ultimate authority on performance issues. Meanwhile, here are links to performance informationat other places