Slashdot Mirror


OpenOffice Bloated?

cygnusx writes "ZDNet's George Ou has been writing a series of posts about Open Office bloat. Includes some interesting system usage comparisons" From the article: "Even when dealing with what is essentially the same data, OpenOffice Calc uses up 211 MBs of private unsharable memory while Excel uses up 34 MBs of private unsharable memory. The fact that OpenOffice.org Calc takes about 100 times the CPU time explains the kind of drastic results we were getting where Excel could open a file in 2 seconds while Calc would take almost 3 minutes. Most of that massive speed difference is due to XML being very processor intensive, but Microsoft still handles its own XML files about 7 times faster than OpenOffice.org handles OpenDocument ODS format and uses far less memory than OpenOffice.org."

9 of 941 comments (clear)

  1. Re:GUI by bheer · · Score: 5, Informative

    Office uses zero MFC. Most of the older bits is Platform SDK C, and is a b*tch to maintain, and the newer parts are C++ *but not* MFC -- I understand the Office team has its own lightweight frameworks, similar to ATL.

  2. Re:How much difference between Java and C++? by BenjyD · · Score: 5, Informative

    Openoffice.org is a C++ app. It uses java for some scripting, but everything else is C++.

  3. Re:"Essentially" the same data? by fishybell · · Score: 5, Informative
    Well, don't believe it? Benchmark it yourself.

    He provided the test data here and here

    --
    ><));>
  4. So true by Arthur+B. · · Score: 5, Informative

    Honestly, I want to love Openoffice and to advocate it... I have worked in finance on excel, dealing with huge huge spreadsheets and many graphs... Have you tried to plot a 10 000 points graph in OOo Calc vs excel... in excel it is done in less than a second... In OOo the application will freeze for half and hour before slowly starting to display the graph. Cherry on the cake it will conviniently try to write "ROW" under each point in a huge ugly font. After that, changing the data means of course waiting half an hour again because the chart is updating. OOo calc simply doesn't do the job, how hard I wish it would.

    --
    \u262D = \u5350
  5. Re:How much difference between Java and C++? by Bradee-oh! · · Score: 5, Informative

    Disable Java in the options and it starts in 1-2 seconds on the same machine.

    Somewhat off topic but pertinent ENOUGH... Good God man! Thank you! The Java tab in the options dialog was incredibly easy to find but for some reason I just breezed right over it. Unclicking that little devil's box just dropped my start time from 15-20 seconds to 1. I know it likely has nothing to do with the working data that this "benchmark" tested, but it sure shows how good an idea it would be to transition the Java dependency on over to native code.

    --
    "This is Zombo Com, and welcome to you who have come to Zombo Com" - www.zombo.com
  6. Disable Java option... by sarguin · · Score: 5, Informative

    Go to the Options and uncheck the Java option (Use a java runtime environment). After this, OpenOffice.org start like a breeze...

  7. That is not ad hominem by A+nonymous+Coward · · Score: 5, Informative

    Read this comment for a nice description of why that is not ad hominem.

    Your slur on his 2 digit ID, however, is completely off topic. Google for "petard, hoist upon".

  8. Re:GUI by electroniceric · · Score: 5, Informative

    IIRC there was an article not too long ago that explained that the main difference between Office and OO is that Office makes extensive use of lazy loading, while OO essentially hammers through loading every library it may need, which not only thrashes the disk once on initial load, but again as you (likely) swap out memory pages. My recollection was that this lack of lazy loading had something to do with cross-platform compiling and linking issues, as well as MS having extensive resources to put into optimizing Office loading that OO did not. My understanding is that Sun hasn't exactly dumped developer time into OO, either, and I believe the focus of this release was compatibility and.

    Typically people solve this problem by preloading a bunch of the relevant libraries at startup, a strategy both MS and OO attempt to employ (viz OfficeStartup and OO QuickStarter). I used to detest that, but if I had 1 or 2GB or RAM and wanted to rely on OO, I might not find it so bad. I think an interesting addition to this comparison would be to see how OO fared with QuickStarter enabled, and what drain that placed on the rest of the system. Likewise disabling the JVM loading.

  9. Don't compare apples to oranges by kylef · · Score: 5, Informative
    Anyone running OpenOffice on a Mac want to add another data point where MS doesn't have code "hidden" in the OS?

    Hidden code, you say? Before you go off accusing Microsoft of a Consent Degree violation, perhaps you should be a bit more careful about what exactly you're comparing. It is extremely important when you try to compare "memory usage" on different Operating Systems that you are actually comparing apples to apples. And since you didn't cite the source for your "7.10" and "9.81" numbers above, I doubt you really understand what you're measuring.

    If you're using Task Manager, for example, you will by default only see "Mem Usage" which reports the physical memory (i.e., the "working set") consumed by the process. Even though this metric includes both private and shared pages (i.e., shared code and data segments of DLLs are charged to each process here), it does NOT include pages which still reside on disk (either in the executable images, memory-mapped files, or the system pagefile.

    Another common memory statistic from Task Manager is "VM Size" (you have to add it to your column view by "View->Select Columns"). "VM Size" tallies private virtual bytes consumed by the process. Private means that this quantity does NOT include shared/shareable pages like DLLs and memory-mapped files. "VM Size" is sometimes smaller than the "Mem Usage" precisely because shared pages aren't counted. This causes a large amount of consternation to those who don't understand what is being reported, because they expect physical memory usage to be smaller. "VM Size" is the equivalent of the process's page file allocation, since shared pages by their nature are already backed up on disk elsewhere.

    Another common memory usage metric in Windows can be obtained from Perfmon (perfmon.msc, the Performance MMC snap-in). From this tool, you can view "Virtual Bytes" of each process, which is the amount of reserved virtual memory for the entire process, including shared pages. It is equivalent to "VM Size" from task manager PLUS shared virtual memory.

    So, as you can see, it is not altogether obvious what is being reported unless you really understand the details of memory management on the underlying OS. Before comapring application memory usage across platforms, you need to be sure you're using comparable metrics!