Performance
This wiki page is the collaboration entry point for the OOo Performance project.
For questions and discussions, please use the new mailing list from the performance project: dev@performance.openoffice.org
The project was started in January 2009, but a lot of information here (especially on the linked wiki pages) was created a long time ago and some of it might be outdated.
This page will be cleaned up soon.
Project Summary
Project will achieve the goal: maintain good performance and evaluate OOo.
OOo Issues
Issues from End-User
...
Known areas for improvement
Configmgr[new]
- Configmgr Refactoring
- CWS[DEV300/configtune00]
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
User Experience Index (UEI)
Helpful Tooling and Resources
Test Environment
Popular reference configuration(use similar env on Hamburg and Beijing)
CPU: Core2 Duo 1.5~2G Memory: 512M OS: WindowsXP HOME
Test & Tuning Tools
- 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
Benchmarks & Description
If you have some benchmarks, share them here!
- The Fastest OpenOffice.org Edition comparison of four 2.4.1 editions on Fedora 9
- Is OpenOffice.org Getting Faster? Comparison of 11 versions from 1.1.5 to 3.0.0 alpha
Performance Test Results Distribution
Test results for Different Versions
- Is OpenOffice.org Getting Faster? benchmarks 5 common operations for OpenOffice.org versions 1.1.5 through 2.4.0 and DEV300_m3
...
Contrastive Data & Analysis
...
Work List and Progress
- 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