Difference between revisions of "Performance"
From Apache OpenOffice Wiki
m (correct category link) |
(→General I/O & memory issues) |
||
Line 21: | Line 21: | ||
=== 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. | ||
* Configuration information scattered across many files | * Configuration information scattered across many files | ||
* UI configuration - tons of scattered files | * UI configuration - tons of scattered files |
Revision as of 11:39, 18 May 2006
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