|About this template|
The new performance project just started, and we have to sort out our next todo's.
For now, you might use my old list from 2005, which might be a little bit outdated. Maybe you find some hints in the area of your expertise where you want to start working on:
Moved here from the main performance wiki page:
Known areas for improvement
- 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  - 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
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 ...
- An introduction of asynchronous loading in Symphony