Difference between revisions of "Performance"

From Apache OpenOffice Wiki
Jump to: navigation, search
(mailing list address moved after incubation)
(79 intermediate revisions by 22 users not shown)
Line 1: Line 1:
Performance Lead: Liheng  Performance Co-Lead: Matthias Huetsch
+
{{Performance}}
*We have new maillist: [mailto:performance@tools.openoffice.org performance@tools.openoffice.org]. Please send mail to new maillist so that everyone concerned can see it.
+
== The performance project ==
*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.
+
  
== OOo Issues ==
+
This wiki page is the collaboration entry point for the [http://performance.openoffice.org/ OOo Performance project].
=== Issues from End-User ===
+
...
+
=== Known areas for improvement ===
+
  
==== Component issues ====
+
For questions and discussions, please use the new mailing list from the performance project: [mailto:dev@openoffice.apache.org dev@openoffice.apache.org]
  
* [[Calc/To-Dos/Performance|Calc]] - lots to do
+
When you plan to file an issue with regard to performance, please make sure to add the keyword <tt>performance</tt>
* [[Writer_Performance|Writer]]
+
* [[Impress_Performance|Impress]]
+
* [[Base_performance|Base]] - lots to do
+
  
==== system issues ====
+
The official (incubator) project was started February 2009, but there have already been a lot of activities in this area in the past, so some of the information here (especially on the linked wiki pages) might be outdated.
* 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.
+
** -Bdirect implementation [http://sourceware.org/ml/binutils/2005-10/msg00436.html] - 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 ====
+
This page will be cleaned up soon.
* 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
+
* UI configuration - tons of scattered files
+
* .rdb files - loads of empty space, mmap + random access pattern
+
  
== Helpful Tooling and Resources ==
+
== Deliverables ==
 +
* A test system for collecting reproducible and comparable performance data of OpenOffice.org master builds.
 +
* A test methodology for measuring and comparing performance data of OpenOffice.org master and CWS builds.
 +
* Lightweight tools that automatically collect performance data and assist developers in identifying performance bottlenecks.
 +
* Real life test scenarios which will also be reflected in the automatic performance tests.
 +
* OpenOffice.org startup performance improvements
 +
* OpenOffice.org ODF load/save performance improvements
 +
* Performance oriented analysis of OpenOffice.org's framework
  
=== Test Environment ===
+
== Work in progress ==
Popular reference configuration(use similar env on Berlin and Beijing)
+
===Plan===
 +
*To-Dos
 +
''Probably a lot - please [[Performance/To-Dos| continue here]].
 +
 
 +
===Work===
 +
====Startup====
 +
* [[Performance/Startup#Issues]]
 +
* [[Performance/Configuration]]
 +
* [http://wiki.services.openoffice.org/wiki/Performance/OOo31_LibrariesOnStartup Performance - Analysis (Windows)]
 +
** [http://wiki.services.openoffice.org/wiki/Performance/OOo31_LibrariesOnStartup#File_I.2FO_during_OpenOffice.org_startup File I/O done by OpenOffice.org during startup]
 +
** [http://wiki.services.openoffice.org/wiki/Performance/OOo31_LibrariesOnStartup#Summary_3 Measure cold startup time for OpenOffice.org 3.1 and svdem.exe (minimal VCL application)]
 +
** [http://wiki.services.openoffice.org/wiki/Performance/Reorder_Symbols_For_Libraries Reorder symbols within a library to reduce I/O]
 +
** [http://wiki.services.openoffice.org/wiki/Performance/Library_and_directory_structure Optimizing library placement]
 +
** [http://wiki.services.openoffice.org/wiki/Performance/Achievements_Windows_Startup Current start up performance achievements for Windows]
 +
 
 +
====Writer====
 +
* [[Performance/WriterInProgress|Writer Load/Save Performance]]
 +
 
 +
====Calc====
 +
{{:Calc/InProgress/Performance}}
 +
For finished work see [[Calc/Done/Performance]].
 +
 
 +
====Impress====
 +
* Impress OpenDocument load/save performance [[Impress/Performance#OpenDocument]]
 +
* Impress slideshow performance [[Impress/Performance#Slideshow]]
 +
 
 +
====Base====
 +
* [http://wiki.services.openoffice.org/wiki/Base/Performance General performance planning]
 +
* [http://wiki.services.openoffice.org/wiki/Base/Performance#Row_Fetching Row fetching performance]
 +
 
 +
====Load/Save General (Non Application Specific Tasks)====
 +
 
 +
* [[RTLLogFileAnalysis|RTL_LOGFILE Analysis]]
 +
 
 +
===Achievement===
 +
 
 +
== Performance Status ==
 +
====User Experience Index (UEI)====
 +
[http://wiki.services.openoffice.org/wiki/UEI UEI and Case Documents]
 +
====Distribution and Tracing====
 +
====Analysis of Performance====
 +
====Hotspots====
 +
'''Test results for different versions'''
 +
* [http://wiki.services.openoffice.org/wiki/Performance/Performance_Work_2005 Performance 2005]
 +
* [http://www.oooninja.com/2008/05/openofficeorg-getting-faster-benchmark.html Is OpenOffice.org Getting Faster?] benchmarks 5 common operations for OpenOffice.org versions 1.1.5 through 2.4.0 and DEV300_m3
 +
* [[Performance/Startup/Linux| Startup of DEV300 builds on linux]]
 +
 
 +
==Tooling and TC==
 +
=== Helpful Tooling and Resources ===
 +
 
 +
==== Test Environment ====
 +
Popular reference configuration(use similar env on Hamburg and Beijing)
 
  CPU:    Core2 Duo 1.5~2G
 
  CPU:    Core2 Duo 1.5~2G
 
  Memory: 512M
 
  Memory: 512M
 
  OS:    WindowsXP HOME
 
  OS:    WindowsXP HOME
  
=== Test & Tuning Tools ===
+
==== Test & Tuning Tools ====
  
 
* [[cold-start-simulator|Linux/cold-start]] simulator
 
* [[cold-start-simulator|Linux/cold-start]] simulator
Line 48: Line 84:
 
* [http://tools.openoffice.org/profiling/profiling-howto.html RTL_LOGFILE] - export RTL_LOGFILE=/tmp/foo
 
* [http://tools.openoffice.org/profiling/profiling-howto.html RTL_LOGFILE] - export RTL_LOGFILE=/tmp/foo
 
* [[valgrind]] - debug / trace memory usage
 
* [[valgrind]] - debug / trace memory usage
 +
* [[callgrind]] - call graph profiler
 
* [[speedprof]] - a quick / hackish sampling full-stack-trace profiler & visualisation tool
 
* [[speedprof]] - a quick / hackish sampling full-stack-trace profiler & visualisation tool
 
* [[APPR]] - a performance regression tool suite
 
* [[APPR]] - a performance regression tool suite
 
* [[Performance Related Test Documents]]
 
* [[Performance Related Test Documents]]
 +
* [[Profiling_with_VTune|VTune]] - profiler for Windows and Linux, commercial product
 +
* [[Performance/Tools/TrueTime|TrueTime]] - profiler for Windows, commercial product
 +
* [http://developer.amd.com/cpu/CodeAnalyst/codeanalystwindows/Pages/default.aspx AMD CodeAnalyst] - profiler for windows, optimized for AMD, VisualStudio integration
 +
* [[Performance/Tools/VerySleepy (HowTo)]] Very Sleepy 0.4 - open source profiler for windows, works on any cpu, very easy to use
 +
* [[Performance/AOO3.4.1_PVT_Introduction]] An introduction about performance test in AOO 3.4.1
  
=== Benchmarks & Description ===
+
==== Benchmarks & Description ====
 
If you have some benchmarks, share them here!
 
If you have some benchmarks, share them here!
  
== Performance Test Results Distribution ==
+
* [http://www.oooninja.com/2008/09/fastest-openofficeorg-edition-benchmark.html The Fastest OpenOffice.org Edition] comparison of four 2.4.1 editions on Fedora 9
 
+
* [http://www.oooninja.com/2008/05/openofficeorg-getting-faster-benchmark.html Is OpenOffice.org Getting Faster?] Comparison of 11 versions from 1.1.5 to 3.0.0 alpha
=== Test results for Different Versions ===
+
* [http://www.oooninja.com/2009/03/multiplatform-benchmark-30.html Multiplatform OpenOffice.org 3.0 Benchmark] including vanilla OOo, StarOffice, Go-oo, Portable OOo on Windows XP and Ubuntu 8.10
...
+
 
+
=== Contrastive Data & Analysis ===
+
...
+
 
+
== Work List and Progress ==
+
* Configmgr re-factor, reduces locking overhead & memory usage cf. CWS configrefactor01
+
* [[XML Load]]
+
* [[DbConfig|Config refactor]] - reduce seeks/files, better caching
+
* [[Disk Access]]
+
* -Bdirect linking
+
* FIXME - Malte - we should really have your list embedded here ...
+
  
 
== Integrated improvements ==  
 
== Integrated improvements ==  
 
* [[Integrated_Performance_Improvements]]
 
* [[Integrated_Performance_Improvements]]
  
== Other Pages ==  
+
== Other Resource ==  
 
This Wiki page should become the ultimate authority on performance issues. Meanwhile, here are links to performance informationat other places
 
This Wiki page should become the ultimate authority on performance issues. Meanwhile, here are links to performance informationat other places
 
* [http://tools.openoffice.org/performance/ OpenOffice.org Performance Tuning page]
 
* [http://tools.openoffice.org/performance/ OpenOffice.org Performance Tuning page]
 
* [http://sw.openoffice.org/drafts/optimization.html Writer (SW, XML, Math, Linguistic) specific Optimizations]
 
* [http://sw.openoffice.org/drafts/optimization.html Writer (SW, XML, Math, Linguistic) specific Optimizations]
 
* [http://tools.openoffice.org/performance/performance-activities-overview.html Current & Planned Performance Activities]
 
* [http://tools.openoffice.org/performance/performance-activities-overview.html Current & Planned Performance Activities]
 +
* [http://wiki.services.openoffice.org/wiki/User:Blibrestez55/Books/Blibrestez55platform_integration
  
 
[[Category:Development]]
 
[[Category:Development]]
 
[[Category:Performance]]
 
[[Category:Performance]]
 
[[Category:Database]]
 
[[Category:Database]]
 +
[[Category:Effort]]
 +
[[Category:Build_System]]

Revision as of 08:53, 26 November 2012

Performance 170.png
Performance Project

performance.openoffice.org

Quick Navigation

Team

Communication

Activities

About this template


The performance project

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@openoffice.apache.org

When you plan to file an issue with regard to performance, please make sure to add the keyword performance

The official (incubator) project was started February 2009, but there have already been a lot of activities in this area in the past, so some of the information here (especially on the linked wiki pages) might be outdated.

This page will be cleaned up soon.

Deliverables

  • A test system for collecting reproducible and comparable performance data of OpenOffice.org master builds.
  • A test methodology for measuring and comparing performance data of OpenOffice.org master and CWS builds.
  • Lightweight tools that automatically collect performance data and assist developers in identifying performance bottlenecks.
  • Real life test scenarios which will also be reflected in the automatic performance tests.
  • OpenOffice.org startup performance improvements
  • OpenOffice.org ODF load/save performance improvements
  • Performance oriented analysis of OpenOffice.org's framework

Work in progress

Plan

  • To-Dos

Probably a lot - please continue here.

Work

Startup

Writer

Calc


For finished work see Calc/Done/Performance.

Impress

Base

Load/Save General (Non Application Specific Tasks)

Achievement

Performance Status

User Experience Index (UEI)

UEI and Case Documents

Distribution and Tracing

Analysis of Performance

Hotspots

Test results for different versions

Tooling and TC

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

Benchmarks & Description

If you have some benchmarks, share them here!

Integrated improvements

Other Resource

This Wiki page should become the ultimate authority on performance issues. Meanwhile, here are links to performance informationat other places

Personal tools