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."
I seriously doubt that. I was working with files similar in size to the ones discussed in the article just last night, and I got completely opposite results. OO.org took half the time to load that Excel did and took up just over half the space for the files. I really don't know where they get these numbers. Probably a biased test with fundamentally different data. I hate trying new software that does the same thing, and I am by no means tech-savvy, but even I can see that OO.org runs laps around any MS product for my uses. I swear, this must be someone shilling for Microsoft.
Rank my idea: http://www.sinceslicedbread.com/node/531
Consider that Intel owns a big chunk of CNET and then you see a possible conflict of interest brewing over an article possibly designed to sink Open Office. Now consider the author, George Ou, who has also posted such titles as, Is the Honeymoon with Firefox Over?
Seeing a bit of a pattern forming.
The dangers of knowledge trigger emotional distress in human beings.
Could it be the GUI? Excel uses native widgets and I'm sure is heavily optimized towards MFC (after all, its their API!). I don't think OO has that luxury. I doubt thats the entire issue but it could partially explain it.
It's interesting today to see the bloat and memory hog complaints leveled against the non-Microsoft product while showing MS' version as lean and mean.
I can't defend the numbers, they do look huge, but we're seeing about one or two articles a week in the trade rags about the latest memory, cpu, cache, etc. advances. Technological advances render all but the most dramatic processing demands almost moot.
In the numbers and benchmarks from this article, unfortunately, this is one of the more dramatic instances. I'm always willing to wait a little more for opening an application, or a file if other factors offset. In this case, free vs. whatever Office goes for now, typically is enough of an offset, but maybe not so for a large company where that extra "time" and computer resources add up big, and the pricing is likely to be more disounted for volume licensing.
Interesting numbers on the two different speeds on processing XML. Does anyone know or conjecture the difference in the true internal XML data for the comparison? I thought OpenOffice was the more pure in the sense that it is true human readable data in the XML while Microsoft's format is more of an envelope architecture for binary proprietary Office payloads. And, I wonder what the specifics in this test were around that.
Bottom line for me: I'm still going with OpenOffice, I've been a fan for years.
I don't use Windows and haven't since '98. At one point, I ran Linux, but kept a dual boot system with Windows, just for opening complex Word documents. Then, I started using Crossover and that saved me a lot of time and I eventually wiped Windows off my box for good.
Now I got into OS X, and I run MS Office on it. I must say though, without bias, that MS Office has to be their greatest product. It just works and I haven't ever had any issues with it at all. It is fast, user friendly, stable and usable. Let's face it: when coders code a word processor they will always look at MS Office for implementation ideas. On the Powerbook, MS Office just flies.
A few weeks ago, I tried to run Openoffice on my Debian box, and there was a huge performance decrease, when compared to running MS Office. It was certainly noticeable. It took a while for a document to open up.
Though, Office has been around for a long time and Openoffice hasn't, so I'm sure there will be lots of features and performance gains in the coming years for the latter. I'm definitely going to keep an eye on Openoffice.
I'm not sure. I know I rarely use anything except writer, so maybe having a writer lite edition as well as the whole suite.
"Persistence is annoying success." - ghee22 11:28:1999 - 10:53:PM
I wish I could retract my previous comment.
John
I'd chance my arm and say a fair bit.
I made the mistake of opting for x86-64 Gentoo for one of my desktop boxes ("upgrading" it to 32bit this weekend), meaning I have to use the 32bit precompiled OpenOffice binaries. But these need hooking into a 32bit JRE which x86-64 Gentoo doesn't have, since making 32bit apps available through Portage is seemingly something that Gentoo Won't Do Because You Should Be Happy With 64bit. So whenever you start OOo it spends about a minute looking for a JVM (and failing) before you can do anything. I could have manually installed Sun's 32bit JRE, but I can't be bothered.
Disable Java in the options and it starts in 1-2 seconds on the same machine.
By way of comparison, I tried the same trick on my 32bit box (similar spec but with slower HDD's) and OOo was as snappy as hell and opened like the proverbial soil off a shovel.
If there's any functionality I miss through disabling Java, I haven't encountered any yet. And please note I'm not saying that Java is slow to execute (it isn't), it's just appallingly slow to load.
Moderation Total: -1 Troll, +3 Goat
Well, according to the Misco catalogue I received this morning MS Office standard costs £300.
At my local computer shop, RAM costs £75/GB, so I could have 4GB of RAM for my machine.
On a price performance comparison MS Office uses 7MB and OO.org uses -3960MB.
Only two things are infinite, the universe and human stupidity, and I'm not sure about the former. (Einstein)
I've tried to use Open Office on my machine at home (dual-P3 800 MHz, 1 Gb RAM) and have always gone back to KOffice. OO has always felt "bloated" to me. It takes much too long to start up, and everything seems to slow down a little on my machine.
On the opposite end of the spectrum, Abiword and Gnumeric load very fast and seem to fly during use. KOffice is a touch slower than Abiword/Gnumeric but still light years ahead of Open Office. It also has a very snappy feel to it. Abiword works on Windows, Mac and Linux. Yes, I know, this doesn't address databases or presentation software.
IMHO, there should be no question mark, but more of an exclamation point.
-Charles
Learning HOW to think is more important than learning WHAT to think.
if i remember correctly, after compiling oo2, it ran very well and fast. the precompiled bins were def slower. my guess is that these tests were run on a windows machine. so just switch to nix and compile, its that easy.
Strange, I'm running 64-bit Gentoo and I have not experienced any issues with oo.org. When I first installed I did `emerge openoffice-bin` and it has been working perfectly ever since. Yes, it's 32-bit, but the integration is seamless.
> Then again, I'm running Excel in Crossover Office; all those Windows libraries
> aren't "preloaded" for me. Maybe that's why XP and Vista have such large system
> requirements?
Windows does do something to this end. I forget what they call it, but the OS will automatically determine which applications are used most frequently and will do some sort of speed optimizations for them. I'm guessing it either prelinks the applications or keeps some dlls in memory.
On another side of this.. I wonder how many people complaining about the speed of OpenOffice (on Linux) have attempted to prelink it first? Some claim it can increase the speed by 50%.
It appears that Red Hat Fedora uses prelink by default.
Anyone who has run OO on Linux knows very well that it is bloated. Not only is it bloated, but it uses some homegrown toolkit for the GUI. I won't even use OO, personally. Normally I don't have a use for an office suite, but when I do I'd rather us MS Office, which isn't a problem because I now have a Mac sitting next to my Linux box. Of course, I have never paid for MS Office. Maybe if I had to pay for it I wouldn't use it.
I'm sorry, but OO is one of the worst examples of what open source is capable of.
-matthew
"THERE IS NO JUSTICE, THERE IS ONLY ME." -Death
A few years back, there were some articles showing that Linux was significantly slower than Windows on 4-CPU systems. At first, there was some questioning of the results from the Open Source community. Once the results had been verified, the Linux kernel developers set about to remedy the situation. They were quite successful, and Linux has beaten Windows in every such test since.
Software sucks. Open Source sucks less.
How is this guy a Microsoft shill? (emphasis mine)
From your linked article:
So while you may not agree with his conclusions, he hardly sounds like a paid shill to me.
OO is only better than MS because you don't have to pay for a bloated mess. The best office package I've used is Lotus Smart Suite. I'd be glad to pay a three digit sum for a cross-plattform version (Linux/OS X/Win) of that office package.
We suffer more in our imagination than in reality. - Seneca
OO is pretty usuable, as long as you have a very large amount of RAM. I upgraded my thinkpad from 256M to 1G and openoffice load times went way down ( probably ~5x under some circumstances).
I'm not at all familiar with the architecture of OO or what the developers priorities are, but it'd be nice if a bit more time was spent on performance. Firefox could also use work here also.
I'm sure that OO wants to concentrate on features and compatability. That's certainly a worthwhile goal, but perfect compatibility seems pretty much hopeless, and you can always think of more features to add.
I don't like Microsoft. I don't like Windows. I do, however, like Office. It's been a good office suite for a very long time. It's been very easy to use since I first started playing with Office 4.2. If Microsoft would actually release a version of MS-Office for Linux then I would probably purchase it.
Before everyone starts ranting about how this isn't good for GPL, or how I'm being bad by saying this, remember, the point of the GNU OS is for application developers to have a level playing field. Microsoft, like any other consumer software maker would be just as correct to participte in that kind of market as anyone else.
I use Open Office, but I don't agree that it's the best productivity suite. It is the best free productivity suite for Linux at the moment. Since Microsoft's product will always cost money, Open Office undoubtedly will remain the best free productivity suite; it will serve as a baseline. If vendors wish to make a commercial product that is better than Open Office and charge for that product it's their right to do so.
Do not look into laser with remaining eye.
The Mac version of Office is IMHO quite superior to the Windows version. It just works and it is much more unobtrusive. My main gripes with the Windows version have been it offering a little too much help when I just want to get some work done and the sometimes seemingly random manner that it shows special toolbars. Never had any of these problems in the Mac version. I hope someday they port it to Windows, even! ;)
I'm not sure how feasible it is to profile such a large program, but I'm sure Microsoft profiles the daylights out of their stuff. Do OOo developers profile things like the start-up time? After all, you can't start optimizing things unless you figure out exactly what is slowing it down. Is it the Java run-time engine? Is it because it needs to load a lot of libraries that MS Office does not need to (because of dynamic linking to Microsoft DLLs). Maybe when loading certain data sets, the program goes into a pathalogical state, creating hundreds of thousands of small objects? I don't know.
But things like analyzing profiling data and then optimizing are not fun to most people. Even more so if it means that an algorithm needs to be re-written. After all, if the "open file" operation needs a complete re-think + re-write, who's going to do it? It's not "fun". After all, the "open file" operation already exists. Generally, I think programmers like to build *new* things as opposed to fixing old things. And in this case, it's not even a matter of "fixing". It's a matter of rewriting. I presume that at Microsoft, if Word's "open file" operation (run with me on this for a minute) is uber-slow, then somebody is going to *have* to fix it, or not get a good performance review/etc. However, in the case of OOo if no one makes it faster, well, it does not negatively affect the person who wrote the slow version in the first place (not to discredit OOo authors or anything. They've done a phenomenal job given that they do this for fun and not profit).
Of course, there are an equal number of programmers who like to fix security holes and so forth, but patching a security hole is one thing, while re-writing major algorithms in a large program is another. There are of course some programmers who love optimizing code (Michael Abrash?). But I think they are far and few between. Very often, once something works, an attitude sets in that "It's working. Now don't break it". And optimization in it's early stages will often break things.
I was wondering how much of the RAM footprint difference was due to Office relying on Windows code. So just for the fun of it I fired up Excel on my Mac. 22.94 MB of real memory being used for Excel, 34.14 for Word. Compare that with 7.10 and 9.81 for Excel and Word on Windows and 37.54 and 37.66 for Calc and Write on Windows. Anyone running OpenOffice on a Mac want to add another data point where MS doesn't have code "hidden" in the OS?
"Wife! I NEED a new dual-processor multi-gigabyte machine. No, OF COURSE, it isn't just for games. How could you think even think that."
Nonetheless, I'm finding that I'm opening Abiword about 1/2 the time these days. I was a WordPerfect fanatic in the day but since Word set the standard for lowest common denominator for slapping simple text on the screen, I'm finding that Abiword fills those needs nicely a great deal of the time.
Here's why more people don't use OpenOffice: 1. THEY'VE NEVER HEARD OF IT. Most people don't know jack squat about computers or programs. They use what everyone else does or what they've seen elsewhere. That would be MS Office because that's what they have at school or work. They don't know that there are any other office suites even out there. 2. If they do know about OpenOffice, they don't like it because if they had ever used it before, the commands are in slightly different places on the menus than in the version of Office they use at work. This made it "too hard to use" because they have to re-learn a few locations of functions. (Interestingly enough, most people I know HATED Office 2003 when it first came out because the commands and menus were a little different than in Office 2000. They said it was impossible to use! Same thing for Windows 98 users than went to XP.) 3. They opened up the most heavily-formatted Office 2003 document they could find- lots of macros and such. It didn't open up quite right in OpenOffice, so they concluded that it was junk, never minding that Office 2000 or XP would have barfed on it worse. I used my Linux-running computer to display a read-only PPT 2003 presentation off of a USB stick after the presenter's computer crashed. He was SO pissed that one hyperlink didn't work right (linked to a non-existant file on the "E:/" drive, but the rest of the presentation was *perfect.*). So he used somebody else's computer with Office 2000. The text boxes were all over the place and his background was gone when they displayed it... 4. You can get MS Office for free from peer-to-peer or by sharing an original disc.
Just "gittin-r-done," day after day.
I'm using Office 97 and OOo 2.0 on Win 2K. I'm using the OOo Quick starter, which means that soffice.bin is resident and taking about 15M. I'm also using MS Office Startup, which is soffice.exe taking about 1.1M. When I start Winword.exe it takes an additional 7.5M, and open a simple document that merely has the text "This is a test" it take another Meg or two, and only takes a second or two. Now when I open an OOo document (.odt), there is no other process that starts, but soffice.bin shoots up to 42M! However, it opens in two seconds.
So, while I do see more memory usage, a real speed test is not really very different. I suspect in the article, he is not using the OOo quick start, whereas he is using the Office Startup. And how much Office stuff is being hidden by it's hooks deep into the OS, and thus it's startup time is part of the OS startup.
This is not to say that OOo couldn't be improved. I'm sure it will be. But OOo 2.0 is an excellent tool to have in anyone's toolbox.
Peace,
Jim
I was wary of that too. The times I reported were done after just logging in after a reboot, so there shouldn't be anything cached. To make doubly sure, I turned off swap and still saw a colossal speed increase. This was on Linux and I don't have the quiskstarter installed.
It seems a significant portion of OOo's startup time was waiting for the JVM to load (since I don't have any other Java apps and rarely see/use it on web pages), and at the moment disabling it doesn't seem to give any less functionality. I imagine there may be problems with the new database stuff, but I use UNIX ODBC for my DB connection which bypasses Java.
Moderation Total: -1 Troll, +3 Goat
Just go ahead and admit it, they both suck for different reasons. We need a third player.
Patience young padawan. So far the biggest problems with OO have been the lacking features compared to the M$ Office aswell as interoperability with the M$ Office. We're obviously getting somewhere now that people start benchmarking and complaining about memory usage. Seriously, five years ago no one would've even bothered to check memory usage when comparing those products, there wasn't much to compare.
For the record, I'm not saying OO ain't bloated, so it seems, and perhaps there's been too much pressure to reach interoperability and feature richness, but it's too early to condem it. Time will tell wether their internal design is good or not. Can it be made faster/leaner/meaner without too much sweat and tears...
1 Earth is warming, 2 It's us, 3 it's royally bad, 4 we need to take action NOW
My curiosity was piqued by this, so I went to try it.
...". By simply specifying a blank column you can get a nice blank X axis if that suits your data better. You can also change the font to something more appealing, if the default appears "ugly" to you.
Indeed, Excel can plot and manipulate 10,000 point graphs with relative ease, while OOo had to do some chugging (about 2 minutes for me rather than the OPs 30).
I wonder a little at why anyone would ever plot a 10,000 point graph in either program... all the applications I can think of are better served by graphing or scientific programs rather than a spreadsheet.
Useful tip for the OP: If you've specified your labels correctly (in an initial column for example) OOo will use those to label the X axis instead of the default "Row 1, Row 2,
John
It would be interesting to know if someone has investigated using the symbol hiding capabilities in the newer versions of gcc to eliminate some of the shared object related bloat that most probably afflicts OpenOffice. When you use shared objects for everything every function name gets put in the dynamic symbol table by default. The only ones that actually need to be there are the ones called from the main program and other shared objects. All of the functions and global data that are only referenced by other code in the same shared object don't need to be in the dynamic symbol table or linked at run-time. Windows has used explicit exporting of symbols from the dawn of time, you can explicitly hide or export symbols in newer version of gcc, 3.4 in particular. I think KDE takes advantage of it on gcc 3.4 compiles.
/opt/OpenOffice.org/program/*.so
You can look at the dynamic symbols that ARE loaded when the shared object loads with something like:
objdump -T
The bloat is especially accute in C++ code because the mangled function names can be quite long.
All those symbol names are loaded and scanned to do run-time link the shared objects, it causes slowness at startup which OpenOffice certainly has and you take a big memory hit for stuff that is not useful code.
Manually keeping track of which symbols need to be exported and which are not is a pain, and is a pain in Windows DLL's. You would almost be better off on something as big as OpenOffice to write scripts to process objdump output and figure out which symbols are actually be called outside the shared object and need to be in the dynamic symbol table.
On the other hand its kind of good discipline to create an a clean and disciplined API for each shared object which defines the public interface to the shared object. It helps improve modularity, reusability, testability and discipline in general and eliminate bloat when you realize that in fact nothing is actually calling dead code.
@de_machina
Using the WinAPI means dynamically linking something like NTDLL.DLL... In the end every program does this because that's how one interfaces with the OS. And is resides in the App's memory space. Or do you know another way to run code on Windows? No. So what's the difference between OO and MSO running on Windows? None. The only difference is that portable apps use some kind of windowing library. And that one than calls WinAPI. Now, can you prove that MS actually included Office code in the OS for the sake of a smaller footprint? Because that is the only thing you can claim when you talk about using a part of the OS that OO doesn't. Quite unlikely, no? Peter
This was my guess too, but I think it explains only part of the truth... for example when displaying xy scatters where each point are clearly visible, excel still does it instantly while OOo takes an eternity.. I think it has to do whith the way it handles graphic display, cause other calculations are not that slower...
\u262D = \u5350
Me here using OO.org for the best part of 3 years for my Open University assignments and have not noticed.
This is a non issue for anybody that looks at the cost of the alternative, not only in monetary terms, but also in terms to access to your own data.
I don't care if it takes a bit longer fo OO.org to do this or that task, at the end I have a document that I am pretty certain I will be able to open and manipulate in a few years time, and I will not have to pay anybody for such privilege if I don;t want to.
Keep putting your data in the hands of the beast, eventually you are going to be deprived of it and will be charged to access it when you more need it.
IANAL but write like a drunk one.
Everyone knows java is a friggin resource PIG. Add a bunch of threads and watch the memory fly! I happen to like java very much, and use it wherever I want cross platform portability. That in itself can be enough of an advantage if that is what you need. Not the perfect solution for everything, but it has very good advantages depending on the situation. I'll gladly add another gig of welfare grade ram to a machine if I need the portability. If your're running windows and openoffice, you have simply shot yourself in the foot twice. Microsoft never wanted java, never wanted to play nice with java, and as far as I'm concerned, still doesn't. Buy some crutches and accept your inevitability.
Join the Slashcott! Feb 10 thru Feb 17!
I saved this file in .ods and .xls format in OpenOffice 2.0. I opened up the .xls file in Excel (and it does load MUCH faster) and saved it again (again MUCH faster than OO 2.0). File size results: .xls = 52,239,872 (49.8MB) .ods = 4,045,860 (3.85MB)
:)
Sometimes size does matter
Sloccount says:
Totals grouped by language (dominant language first): cpp: 4525856 89.71 java: 343291 6.80 ansic: 96307 1.91 perl: 48153 0.95 sh: 10484 0.21 yacc: 6785 0.13 cs: 5114 0.10 lex: 2458 0.05 python: 2354 0.05 asm: 2045 0.04 awk: 885 0.02 objc: 702 0.01 pascal: 397 0.01 csh: 272 0.01 php: 104 0.00 sed: 3 0.00The first figure is the number of lines, the second is the percentage of the total lines. Sloccount also says Total Estimated Cost to Develop is $ 208,768,434. The output form the program is much more pretty than that above, but the lameness filter is preventing it's display. Is that filter preventing lameness of enforcing it?
Backups are for wimps. Real men post their data in comments and have slashdot mirror it
To add insult to injury... Cross Over Office Wine runs MS Office under linux faster than OOo runs under linux natively! It is insaine! That is why I have quit using OOo and I now run MS Office via wine.
There is no reason to run OOo except for the fact that you either:
Don't want to pay for the MS Office + CWO Wine
or
You don't want to pirate MS Office + CWO Wine