Performance
From Apache OpenOffice Wiki
As George Ou has famously said, "It doesn't matter how fast the CPU is, OpenOffice is just bloated."
Contents
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.
- 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
- XML Load
- Config refactor - reduce seeks/files, better caching
- Disk Access
- -Bdirect linking
- FIXME - Malte - we should really have your list embedded here ...
Other Pages
This Wiki page should become the ultimate authority on performance issues. Meanwhile, here are links to performance informationat other places