====== OpenOffice.org performance improvements ====== This page enumerates performance improvements (such as faster performance, lower memory usage, and reduced disk usage) that affect the end user (and not just developers). Also, omit issues that only affect non-final builds. ===== Future ===== * [[http://qa.openoffice.org/issues/show_bug.cgi?id=71748|#71748]] memory leak exporting to PowerPoint or HTML * [[http://qa.openoffice.org/issues/show_bug.cgi?id=75399|#75399]] let store save some megabytes of memory * [[http://qa.openoffice.org/issues/show_bug.cgi?id=78496|#78496]] sal-strintern - speedup * [[http://qa.openoffice.org/issues/show_bug.cgi?id=78526|#78526]] store - lock-less * [[http://qa.openoffice.org/issues/show_bug.cgi?id=79363|#79363]] automation: move alloc after early return * [[http://qa.openoffice.org/issues/show_bug.cgi?id=84137|#84137]] Remove gnome-vfs from startup procedure ([[http://artax.karlin.mff.cuni.cz/%7Ekendy/blog/archives/monthly/2007-12.html#2007-12-21T10_39_16.htm|article]]) * [[http://qa.openoffice.org/issues/show_bug.cgi?id=84751|#84751]] fix tests & accelerate ... * [[http://qa.openoffice.org/issues/show_bug.cgi?id=85029|#85029]] Serious regression in graphics performance * [[http://qa.openoffice.org/issues/show_bug.cgi?id=89331|#89331]] chart: patch to remove unused code ===== In 3.1 ===== * [[http://qa.openoffice.org/issues/show_bug.cgi?id=83553|#83553]] performance: excessive reformatting in textboxes when mouse moves * remove unused code * [[http://qa.openoffice.org/issues/show_bug.cgi?id=89514|#89514]] sal: unused methods * [[http://qa.openoffice.org/issues/show_bug.cgi?id=89998|#89998]] rdbmaker: unused code * [[http://qa.openoffice.org/issues/show_bug.cgi?id=90000|#90000]] registry: unused code in registry * [[http://qa.openoffice.org/issues/show_bug.cgi?id=90006|#90006]] stoc: unused code ===== In 3.0 ===== * [[http://qa.openoffice.org/issues/show_bug.cgi?id=32526|#32526]] some findings about seeks with osl file functions * [[http://qa.openoffice.org/issues/show_bug.cgi?id=41164|#41164]] Slow performance on switching between worksheets when using with 241 listbox controls, 2 checkboxes and 2 command buttons. * [[http://qa.openoffice.org/issues/show_bug.cgi?id=53779|#53779]] querying DISTINCT values from a dBase table is incredibly slow with larger data sets * [[http://qa.openoffice.org/issues/show_bug.cgi?id=54801|#54801]] Enhance performance of osl_getDirectoryItem code * [[http://qa.openoffice.org/issues/show_bug.cgi?id=56226|#56226]] performance: evaluate if java fontpath is still needed * [[http://qa.openoffice.org/issues/show_bug.cgi?id=56722|#56722]] cold-start speedup ... * [[http://qa.openoffice.org/issues/show_bug.cgi?id=56889|#56889]] fullscreen slide 'browsing' speed (rendering) * [[http://qa.openoffice.org/issues/show_bug.cgi?id=57008|#57008]] performance: Slow saving and loading as ODF * [[http://qa.openoffice.org/issues/show_bug.cgi?id=57679|#57679]] Startup: reduce rdb file iowait time [[http://www.gnome.org/~michael/#2008-01-31|article]] * [[http://qa.openoffice.org/issues/show_bug.cgi?id=62295|#62295]] very slow (37 minutes) to load small (77KB) .sxw file * [[http://qa.openoffice.org/issues/show_bug.cgi?id=63927|#63927]] linux / linking speedup ... * [[http://qa.openoffice.org/issues/show_bug.cgi?id=67208|#67208]] linked images permanently consumes memory (regression) * [[http://qa.openoffice.org/issues/show_bug.cgi?id=70100|#70100]] memory leak(?) when opening empty file as certain filetype * [[http://qa.openoffice.org/issues/show_bug.cgi?id=70166|#70166]] prune textenc bloat * [[http://qa.openoffice.org/issues/show_bug.cgi?id=70265|#70265]] .DOC opened slowly. OLE object (MS Visio) corrupted * [[http://qa.openoffice.org/issues/show_bug.cgi?id=81912|#81912]] simple pagein sorting patch * [[http://qa.openoffice.org/issues/show_bug.cgi?id=82275|#82275]] Created animated GIF too slow & ties up computer * [[http://qa.openoffice.org/issues/show_bug.cgi?id=83250|#83250]] DataPilot: refactor backend data access to use cache table * [[http://qa.openoffice.org/issues/show_bug.cgi?id=83712|#83712]] oocalc 2.3 very slow for simple operations * [[http://qa.openoffice.org/issues/show_bug.cgi?id=86772|#86772]] svtools string constant sharing [[http://tools.openoffice.org/servlets/ReadMsg?list=performance&msgNo=3|email]] * [[http://qa.openoffice.org/issues/show_bug.cgi?id=86787|#86787]] Slow context menu if system font list is large * [[http://qa.openoffice.org/issues/show_bug.cgi?id=87689|#87689]] Aqua: copyBits() and copyArea() performance * [[http://qa.openoffice.org/issues/show_bug.cgi?id=88383|#88383]] aqua scroll-ball performance * [[http://qa.openoffice.org/issues/show_bug.cgi?id=89730|#89730]] osl_getAbsoluteFileURL() lstat()s too much * [[http://tools.services.openoffice.org/EIS2/cws.ShowCWS?logon=true&Id=5647&Path=SRC680%2Funifysound01|CWS unifysound01]] * Basically, this CWS removes nas, sndfile, and portaudio from VCL. Therefore, they are no longer loaded when unnecessary. Instead, they are loaded when sound is required. * [[http://artax.karlin.mff.cuni.cz/~kendy/blog/archives/monthly/2007-12.html#2007-12-21T10_39_16.htm|Article: OOo startup speedups]] * [[http://www.openoffice.org/issues/show_bug.cgi?id=81145|#81145]] move from vcl sound framework to avmedia framework * [[http://www.openoffice.org/issues/show_bug.cgi?id=81172|#81172]] audio: unify on avmedia and remove vcl sound implementations * [[http://www.openoffice.org/issues/show_bug.cgi?id=80571|#80571]] vcl Sound class referenced in svx but never used * remove unused code by Caolan McNamara of Red Hat * [[http://qa.openoffice.org/issues/show_bug.cgi?id=85132|#85132]] remove unused modules * [[http://qa.openoffice.org/issues/show_bug.cgi?id=85177|#85177]] dbaccess: unused methods * [[http://qa.openoffice.org/issues/show_bug.cgi?id=85182|#85182]] unused methods in sw * [[http://qa.openoffice.org/issues/show_bug.cgi?id=85185|#85185]] unused methods * Mailing list post: [[http://www.openoffice.org/servlets/ReadMsg?list=dev&msgNo=22316|List of 2730 uncallable methods in DEV300_m10]] * [[http://qa.openoffice.org/issues/show_bug.cgi?id=86272|#86272]] starmath: remove 8k of unused code * [[http://qa.openoffice.org/issues/show_bug.cgi?id=86284|#86284]] remaining unused methods in dbaccess * [[http://qa.openoffice.org/issues/show_bug.cgi?id=86305|#86305]] forms: remove unused code * [[http://qa.openoffice.org/issues/show_bug.cgi?id=86308|#86308]] scaddins: unused methods * [[http://qa.openoffice.org/issues/show_bug.cgi?id=86321|#86321]] lingucomponent: remove unused code * [[http://qa.openoffice.org/issues/show_bug.cgi?id=86325|#86325]] unoxml: remove unused code from unoxml * [[http://qa.openoffice.org/issues/show_bug.cgi?id=86343|#86343]] reportdesign: unused code * [[http://qa.openoffice.org/issues/show_bug.cgi?id=86345|#86345]] padmin: remove unused code from padmin * [[http://qa.openoffice.org/issues/show_bug.cgi?id=86348|#86348]] package: remove unused methods * [[http://qa.openoffice.org/issues/show_bug.cgi?id=86349|#86349]] idlc: unused methods * [[http://qa.openoffice.org/issues/show_bug.cgi?id=86353|#86353]] idl: unused methods * [[http://qa.openoffice.org/issues/show_bug.cgi?id=86356|#86356]] hwpfilter: unused methods * [[http://qa.openoffice.org/issues/show_bug.cgi?id=86358|#86358]] fpicker: remove unused methods * [[http://qa.openoffice.org/issues/show_bug.cgi?id=86359|#86359]] filter: remove unused code from filter * [[http://qa.openoffice.org/issues/show_bug.cgi?id=86365|#86365]] extensions: remove unused code * [[http://qa.openoffice.org/issues/show_bug.cgi?id=86367|#86367]] embeddedobj: remove unused methods * [[http://qa.openoffice.org/issues/show_bug.cgi?id=86368|#86368]] dtrans: remove unused code * [[http://qa.openoffice.org/issues/show_bug.cgi?id=86384|#86384]] desktop: remove unused code from desktop * [[http://qa.openoffice.org/issues/show_bug.cgi?id=86577|#86577]] accessibility: unused methods * [[http://qa.openoffice.org/issues/show_bug.cgi?id=86582|#86582]] binfilter: remove unused code * [[http://qa.openoffice.org/issues/show_bug.cgi?id=89322|#89322]] dbaccess: last handful of unused methods * [[http://qa.openoffice.org/issues/show_bug.cgi?id=89523|#89523]] basctl: remove unused code * [[http://qa.openoffice.org/issues/show_bug.cgi?id=89553|#89553]] configmgr: remove unused code * [[http://qa.openoffice.org/issues/show_bug.cgi?id=89561|#89561]] cppuhelper: unused code in cppuhelper * [[http://qa.openoffice.org/issues/show_bug.cgi?id=89579|#89579]] goodies: unused code in goodies * [[http://qa.openoffice.org/issues/show_bug.cgi?id=89584|#89584]] jvmfwk: unused code * [[http://qa.openoffice.org/issues/show_bug.cgi?id=89625|#89625]] psprint: unused code * [[http://qa.openoffice.org/issues/show_bug.cgi?id=90004|#90004]] sccomp: unused code * [[http://qa.openoffice.org/issues/show_bug.cgi?id=90010|#90010]] svtools: unused code * [[http://qa.openoffice.org/issues/show_bug.cgi?id=90029|#90029]] xmlhelp: unused code * Article: [[http://blogs.linux.ie/caolan/2008/05/07/dead-code-list/|dead code list]] * Article: [[http://blogs.linux.ie/caolan/2008/05/20/dev300_m13-callcatcher/|DEV300_m13 callcatcher]] * icon-related optimizations from ace_dent * [[http://qa.openoffice.org/issues/show_bug.cgi?id=60014|#60014]] Remove unrequired orphan HC icons in /svx * [[http://qa.openoffice.org/issues/show_bug.cgi?id=60330|#60330]] Clean-up backgrounds for 'commandimagelist' icons * [[http://qa.openoffice.org/issues/show_bug.cgi?id=60634|#60634]] Remove unrequired orphan HC icons in /sd * [[http://qa.openoffice.org/issues/show_bug.cgi?id=60791|#60791]] Optimized icons for OpenOffice * [[http://qa.openoffice.org/issues/show_bug.cgi?id=61419|#61419]] Redundant locale icons in 'Res' * [[http://qa.openoffice.org/issues/show_bug.cgi?id=63472|#63472]] Redundant page navigation icons in 'sw/' (default theme) * [[http://qa.openoffice.org/issues/show_bug.cgi?id=67061|#67061]] Remove unrequired HC icons in '/dbaccess' * [[http://qa.openoffice.org/issues/show_bug.cgi?id=68150|#68150]] Icons for online update notification * [[http://qa.openoffice.org/issues/show_bug.cgi?id=73389|#73389]] All 'helpimg' files optimized For a general list of new features in 3.0, see [[http://www.oooninja.com/2008/03/openofficeorg-30-new-features.html|OpenOffice.org 3.0's New Features, An Early Look]]. ===== In 2.4.1 ===== * [[http://www.openoffice.org/issues/show_bug.cgi?id=88693|#88693]] Document is scrolling slow with some dozens of control fields ===== In 2.4 ===== * [[http://qa.openoffice.org/issues/show_bug.cgi?id=57667|#57667]] SmAboutDialog unused * [[http://qa.openoffice.org/issues/show_bug.cgi?id=58268|#58268]] Performance issue: OO makes unnecessary calls to ODBC API * [[http://qa.openoffice.org/issues/show_bug.cgi?id=62859|#62859]] Writer slow and unstable when pasting part of table from browser * [[http://qa.openoffice.org/issues/show_bug.cgi?id=66963|#66963]] Excel file with large graphic crashes calc for memory usage * [[http://qa.openoffice.org/issues/show_bug.cgi?id=70408|#70408]] Variable "afflst" leaked in half a dozen early returns from AffixMgr::parse_file(const char *) * [[http://qa.openoffice.org/issues/show_bug.cgi?id=73245|#73245]] Base 2.1 odbc access to as/400 slower than in 2.0.4 (one SQLTables/SQLColumns call for *every* table) * [[http://qa.openoffice.org/issues/show_bug.cgi?id=76024|#76024]] data access via forms slows down if (too) many entries in a listbox * [[http://qa.openoffice.org/issues/show_bug.cgi?id=79179|#79179]] svtools: macros return immediately, no option to release allocated resources * [[http://qa.openoffice.org/issues/show_bug.cgi?id=79384|#79384]] GetAllGroups() returns a new'ed object which is never deleted * [[http://qa.openoffice.org/issues/show_bug.cgi?id=79576|#79576]] Stored replacement images of charts are destroyed on load * [[http://qa.openoffice.org/issues/show_bug.cgi?id=79578|#79578]] ole replacement image is requested much too often (getPreferredVisualRepresentation) * [[http://qa.openoffice.org/issues/show_bug.cgi?id=80153|#80153]] simple document needs 90 seconds to be displayed * [[http://qa.openoffice.org/issues/show_bug.cgi?id=80457|#80457]] resource leak - no delete after new is called * [[http://qa.openoffice.org/issues/show_bug.cgi?id=80981|#80981]] Calc spends too much time to recalculate SEARCH functions on import * [[http://qa.openoffice.org/issues/show_bug.cgi?id=81223|#81223]] first-time open of a form containing list boxes filled from large table is too slow * [[http://qa.openoffice.org/issues/show_bug.cgi?id=81332|#81332]] DeleteArea unnecessarily broadcasts multiple changes to identical listeners already notified. * [[http://qa.openoffice.org/issues/show_bug.cgi?id=81336|#81336]] Implement caching strategy for VLOOKUP and MATCH :!: * [[http://qa.openoffice.org/issues/show_bug.cgi?id=81594|#81594]] Remove duplicate hash code function * [[http://qa.openoffice.org/issues/show_bug.cgi?id=81601|#81601]] Leak coming from ParseCMAP * [[http://qa.openoffice.org/issues/show_bug.cgi?id=81857|#81857]] Charts slow down macros * [[http://qa.openoffice.org/issues/show_bug.cgi?id=82726|#82726]] sfx2: timer to call some late initialization methods may never end * [[http://qa.openoffice.org/issues/show_bug.cgi?id=82141|#82141]] An activation of embedded object created by OOo2.3 is slow because of stored printer * [[http://qa.openoffice.org/issues/show_bug.cgi?id=82882|#82882]] Performance: get rid of too many progress bar repaints ([[http://artax.karlin.mff.cuni.cz/~kendy/blog/archives/monthly/2007-12.html#2007-12-21T10_39_16.htm|article]]) * [[http://qa.openoffice.org/issues/show_bug.cgi?id=83243|#83243]] psapi.dll is loaded and unloaded everytime osl_getModuleURLFromAdress is called * [[http://qa.openoffice.org/issues/show_bug.cgi?id=83245|#83245]] Chart view rendering is slow due to loaded and unloaded psapi.dll * [[http://qa.openoffice.org/issues/show_bug.cgi?id=83491|#83491]] Massive performance problem due to use of system font config * [[http://qa.openoffice.org/issues/show_bug.cgi?id=83708|#83708]] After editing a cell (when I press enter) calc freezes for a couple of seconds and then moves to the next cell * [[http://qa.openoffice.org/issues/show_bug.cgi?id=84169|#84169]] Startup optimization wrt. first start wizard ([[http://artax.karlin.mff.cuni.cz/~kendy/blog/archives/monthly/2007-12.html#2007-12-21T10_39_16.htm|article]]) * [[http://qa.openoffice.org/issues/show_bug.cgi?id=84179|#84179]] Remove libstartup-notification? ([[http://artax.karlin.mff.cuni.cz/~kendy/blog/archives/monthly/2007-12.html#2007-12-21T10_39_16.htm|article]]) * [[http://qa.openoffice.org/issues/show_bug.cgi?id=84206|#84206]] Save memory in localedata_euro ([[http://artax.karlin.mff.cuni.cz/%7Ekendy/blog/archives/monthly/2007-12.html#2007-12-21T10_39_16.htm|article]]) * [[http://qa.openoffice.org/issues/show_bug.cgi?id=84257|#84257]] avoid repeated find in object list when deleting the sdrview * [[http://qa.openoffice.org/issues/show_bug.cgi?id=84259|#84259]] Save memory on startup - forms * [[http://qa.openoffice.org/issues/show_bug.cgi?id=84276|#84276]] avoid repeated loading and unloading of localedata lib * [[http://qa.openoffice.org/issues/show_bug.cgi?id=84689|#84689]] Unacceptably long sort times * [[http://qa.openoffice.org/issues/show_bug.cgi?id=84550|#84550]] performance problem after installing several extensions * [[http://qa.openoffice.org/issues/show_bug.cgi?id=85321|#85351]] OOo caches large pixmaps to X server, crashing the X server * [[http://qa.openoffice.org/issues/show_bug.cgi?id=86320|#86320]] String of same character causes slow/crash * CWS cwshro10 * [[http://qa.openoffice.org/issues/show_bug.cgi?id=49510|#49510]] osl_getNextDirectoryItem potentially leaks an rtl_uString * [[http://eis.services.openoffice.org/EIS2/cws.ShowCWS?Path=SRC680%2Fdxliberate01|CWS dxliberate01]] * [[http://blogs.sun.com/GullFOSS/entry/directx_based_slideshow_now_opensource|DirectX implementation speeds up Impress, fixes crashes, and adds anti-aliasing]] * CWS [[http://eis.services.openoffice.org/EIS2/cws.ShowCWS?Path=SRC680%2Fhunspell2|hunspell2]]: optimized memory handling (- 3/4 MB with en_US dictionary) * [[http://qa.openoffice.org/issues/show_bug.cgi?id=71449|#71449]] hunspell: contains large utf_lst table * from Michael Meeks at Novell * [[http://qa.openoffice.org/issues/show_bug.cgi?id=60696|#60696]] Linux: External splash / quick 2nd start * [[http://eis.services.openoffice.org/EIS2/cws.ShowCWS?Id=4831&logon=true&OpenOnly=false&Section=All|configrefactor01]] * [[http://qa.openoffice.org/issues/show_bug.cgi?id=82311|#82311]] configmgr re-factor ... * [[http://www.gnome.org/~michael/#2007-10-10|Blog entry]] For a general list of new features in 2.4, see [[http://www.oooninja.com/2008/03/new-features-openofficeorg-240.html|New Features in OpenOffice.org 2.4.0]]. ===== In 2.3.1 ===== * [[http://qa.openoffice.org/issues/show_bug.cgi?id=81789|#81789]] Activating a math formula in large document(many objects) takes very long time * [[http://qa.openoffice.org/issues/show_bug.cgi?id=81959|#81959]] Animations slow down extremely after about 20th animation ===== In previous versions ===== * [[http://wiki.services.openoffice.org/wiki/Integrated_Performance_Improvements|Integrated performance improvements]] ===== in ooo-build only ===== These patches are not upstream. :( * [[https://bugzilla.novell.com/show_bug.cgi?id=389257|OpenOffice takes too long to startup if hostname can not be resolved.]] * FIXME research this section ===== How to research ===== * Query the [[http://qa.openoffice.org/issues/query.cgi|Issue Tracker]] * Put //performance// in the //keyword// field (but the keyword is not applied consistently) * Or put these keywords in the //summary// field (using option //any//): leak memory slow fast perform optim cache smaller repeat repetit unused unnecessar unneeded shrink accelerate speed duplicate * [[http://www.gnome.org/~michael/|Blog of Michael Meeks]] * [[http://eis.services.openoffice.org/|EIS]] * Release notes