Home > Novell and Ximian > Novell’s Meeks on OpenOffice.org Startup Time, Cairo Novell’s Meeks on OpenOffice.org Startup Time, Cairo Submitted by Malahide 2005-09-26 Novell and Ximian 40 Comments “We chat to Gnome and OpenOffice.org coder Michael Meeks about all things Linux. Here‘s a few of the questions we asked the Novell employee.” About The Author Thom Holwerda Follow me on Twitter @thomholwerda 40 Comments 2005-09-26 2:43 pm OK, it’s easy to blame it on the kernel because OO.o has a slow startup, koffice loads in about 2 seconds here. 2005-09-26 2:51 pm Agreed. Microsoft Office apps load in a few seconds under WINE — so it’s not about the kernel, the filesystem or any such thing. It’s simply bloated, slow and inelegantly coded. Great office suite, mind, but the comically slow startup time doesn’t impress newcomers. I don’t like showing people OOo because they all say “Why is it taking so long to start?” and they think it’s sloppily written. 2005-09-26 2:52 pm He and I started using Gnome for the same reasons. He just had that argument with God 6 years before I did. I remember it clearly. It was around when Gnome 2.0, which I remember not being all that much of a gem to work with. 2005-09-27 2:53 am hah, that’s interesting, because that was a motivator for me too. I’d been a Christian for as long as I could remember, but I started feeling some moral conviction about copying music and software. Actually, it’s funny; I started to rethink my appropriation of copyrighted materials after going to gnutella.com, which ostensibly should be the hotbed of illegal sharing avarice. Instead, most of the people on the site were all for copyright law (but they were against the greedy behemoth that copyright had become). These people’s opinions made me start to think all about artists and producers and sound booth technicians, and how they probably like to eat, and how they deserve our support for their good work. So now, although I still truly don’t think copyright infringement is theft, I think twice about my motives before I download something. Windows was one of the first things to go; although I had a legit copy, Linux was becoming more useful (not to mention more exciting) than Windows was. 2005-09-26 2:53 pm somebody Probably the worst interview ever (I bet that only Enderle could top it) Starting with linux It’s a long story, … (told the story in 3 sentences of which 1 is describing him using pirated Windows, 1 is describing linux sucked in the early years and 1 random non-sense) Speed? Not my fault Cairo? We’ve got some guy, yeah… And by the way, we’ve got one computer with something wobbly that I don’t really see the point of Not to be criticizing, but in the last weeks there’s been a lot of such News??? posted here. I sincerelly hope that OSNews is not so desperate for news to post such random blurbs. 2005-09-26 3:22 pm i imagine that there is quite a lot more in the magazine version. that was the case with the shuttleworth interview last month. 2005-09-26 4:34 pm somebody My bad, then, missed the clause at the bottom (For complete…). Still don’t think this could categorize as news posted on web. 3 good questions with 3 poor answers (bad selection probably goes to the editor that was selecting). 2005-09-26 4:49 pm somebody My bad, then, missed the clause at the bottom (For the full interview…). Still don’t think this could categorize as news posted on web. 3 good questions with 3 poor answers (bad selection probably goes to the editor that was selecting). 2005-09-26 11:41 pm What are you talking about? OSNEWS has always posted simple things like this. That is why I visit the site. 2005-09-26 2:56 pm I think that both Microsoft Office and koffice have a bit of an advantage of being more tightly integrated with libraries that make up their respective underlying graphical environments. You do get an opportunity to do some unconventional hacks when you have that characteristic in your system to your advantage. The best OO.o can hope for with that regard is to do good, old-fashioned pre-loading. 2005-09-26 3:15 pm Additionally OpenOffice.org is a monolithic application whereas Word is separate to Excel. 2005-09-26 3:19 pm Nex6 He talks about KOffice startup in the interview and says KO has a shared start up using Kinit, and that OOo cant do that. so they are going to use Compiler stuff. My guess is: thatOOo will slowly improve(startup) over time, but will always be slightly slow on start up. -Nex6 -nex6.blogspot.com 2005-09-26 10:56 pm molnarcs All I see that he uses the question of slow oo.o startup times to make a pass at KDE – I thought it is only us, users who like to flame one DE over the other based on our personal preferences. What he says about kdeinit doing all the heavy lifting during kde/koffice startup doesn’t hold water. Start up fluxbox, then run kword from a console – and it will load in half the time oo does. That’s because of KDE’s brilliant architecture and code quality. Kword loads fast because koffice, just like the rest of KDE, is component based and very modular – which makes the code not only more approachable but more maintainable as well. As a result, kword loads only the text editing component – and loads other components as you need them. Because these are smaller chunks, you want notice any lag during operation. 2005-09-26 11:09 pm Nex6 You are very correct, KDE’s framework is light years ahead of both Gnome and OpenOffice, but that does not change the fact of OOo is slow or how to fix it. I think over time OOo will get faster but abiword,kword and such will really be fast do to there better frameworks and smaller footprints. -Nex6 2005-09-27 12:10 pm molnarcs Agreed. I can’t wait for a koffice port to windows (not that I’m using windows – but it would be a good showcase for the potential). oo.o startup time might get faster over time, but it seems to me (I might have missed something) that they relegate the problem to the compiler. Which means, that they can’t or won’t to a thing about it in their own code, except for making it compile with gcc 4.x, which has better c++ support. GCC 4’s better c++ support will help all c++ projects, including koffice, so in relative terms, there won’t be many improvements I guess. 2005-09-27 2:36 pm Nex6 Yes, thats true. and a Koffice for win would be cool. most likey never gona happen tho. I think Koffice and the Gnome Office apps will always be faster, because they use the frameworks of Gnome and KDE. where as OOo is loading its own. in addition to KDE’s moduler design and Gnomes GTK+ speed. there is no comparesion. I thing if the broke up OOo some and had it load less in the apps startup, or maybe pre loaded some things, maybe some kind of config util that gives you the option for preloading the OOo framework so it will always load slightly faster. but i think all these things will get addressed in time, OOo is getting better. as is Koffice and the Gnome offices apps abiword Gnumric etc. -Nex6 nex6.blogspot.com 2005-09-26 4:19 pm paulwallen I think we all agree that OO is sooo slow to start. Can we really do something about this to attract more users rather than explaining what a kernel is…please 2005-09-26 4:29 pm does OO uses a special graphics toolkit static compiled with the application? that may be a reason for the slow startup time, it should be able to use a wrapper around the api provided by the environmenti it runs on…except for those strange widgets like the spreadsheet grid… 2005-09-26 4:35 pm ecko It’s really easy to blame the kernel for crappy software. The bottom line is that if disk performance were an issue in the kernel it would’ve been addressed a very long time ago by someone with an interest in improving disk I/O. EVERYTHING depends on disk I/O so it’s not a stretch of the immagination. 2005-09-26 5:46 pm gilboa On a P4/2.8Ghz/512MB/FC3, oowriter 1.4 takes around 6 seconds to start. On a comparable P4 machine (with XP/SP2), Word 2K3 takes around 3 seconds to start. On my dual Opteron workstation (2×248,2GB,FC4/64), oowriter 2.0 beta takes around 2-3 seconds to start. The numbers on my AthlonXP 1900 machine are very close to that of the P4 machine(s). On my P2/366/256MB/Slackware/Dropline notebook, oowriter 1.4 takes around 30 seconds to start. Granted, on a low end machine (such as may 7 y/o laptop) OO is slow as hell. However, on any modern machine, OO 2.0 startup times are fairly close the Office 2K3 ones. I doubt that a 1 second difference in startup time is crucial to anyone. Gilboa 2005-09-26 8:17 pm I don’t see what the huge deal is, open office 1.1.5 flies on startup. Maybe the distro underneath is slowing things down. I just did a cold start of OO.org 1.1.5, on Slackware 10.1 (using xfce), on an AMD64 mobile turion (1.6ghz), 512mb, and it took 1-3 seconds. A warm start is nearly instant. What’s the big deal people? 2005-09-26 6:16 pm segedunum I read the full interview of this off a magazine shelf, and my opinion of Michael Meeks has not improved one iota. He knows there’s a problem with Open Office start speed, but basically says they cannot do anything about it and then talks about the kernel guys trying to make disk I/O and application pre-emption better. Well, my KOffice starts fast, as does Microsoft Office. What’s the problem? Not being the greatest genius in the world, I’d say that the Open Office codebase wasn’t up to snuff. He then talks about all sorts of really pie-in-the-sky, LSD inducing stuff regarding the kernel like anticipating what an application will need – ahead of time?! Yes, telepathy. Bloody hell Michael. I’d appreciate it if Open Office was cleaned up so it started as fast as KOffice and MS Office and if Bonobo actually damn well worked anytime soon. If there’s a problem with the Open Office codebase, then just say so. Michael suffers from the same problem a lot of programmers do. He has a problem that is staring him in the face, but comes up with all sorts novel solutions which aren’t practical rather than solving the root problem and adding all the novel stuff later. I guess that’s why he can’t understand KDE for the life of him :-). In the other part of the interview not shown here but in the magazine he just bitches on KDE every few seconds. He doesn’t like KParts (but it’s about a hundred times better for a programmer than Bonobo). And then there’s the inevitable license stuff. He goes on to talk about how Deutshe Post have this cool extension for Open Office to link to a central server, and then talks about how they would have to pay a license to Trolltech for it. Err, excuse me Michael, but if this is an Open Office/Star Basic thing, and they’re not writing this in Qt at all, then they’re not going to pay Trolltech anything. The fact that they’re running KDE and have a KDE integrated front-end for Open Office is totally irrelevant. 2005-09-26 6:46 pm suryad ….that it is a bit too late for OOo to be rewriting or restructuring their entire codebase. I have heard even their build system is a nightmare. That the authors of OOo have put in such an effort and hats off…but it is a horribly written piece of software I believe and I doubt the starting is going to be getting any better unless the hardware speeds up. I think they have reached the limit of decreasing startup time thru software. 2005-09-26 7:30 pm so how come it starts so slowly on ALL OS’s? if it was a kernel issue then at least one of the ports should be in line with another office suite surely! 2005-09-26 11:33 pm japail Because all kernels fail to meet the needs of OpenOffice’s high-performance architecture. Yes, I’m kidding. Actually he seems to mostly be insinuating that kernels need to deal with application latency in general, as a means of making the startup time of OpenOffice seem less of its own problem, and more inherent to the limitations of hardware and operating system architecture. “Why is OpenOffice’s startup time so slow? Well, HDDs are slow. Networks are slow. Kernels don’t predictively preload applications based on user models.” Sort of ignoring the “Why is it so much slower than everything else, and can that be fixed?” If changes are made to hardware or operating systems, until the startup latency drops below a noticeable threshold for OpenOffice, it’s still going to seem comparatively slow to startup than everything else. 2005-09-26 8:50 pm From a cold start, it took Ooo-writer abot 14 sec to startup on my machine. See specs below. I just don’t believe these claims of 1-6 secs on slower machines. I am measuring the time it takes for the writer window to appear and be ready for text input. These guys must be measuring the time it takes for the splash screen to appear. Specs: model name : AMD Athlon(tm) 64 Processor 3800+ stepping : 0 cpu MHz : 1001.287 cache size : 512 KB Memory: 1 GB 2005-09-26 10:14 pm I just tried a cold startup of OO writer 1.1.4 and it took about 9 seconds to being ready for text input. While that may be “slow”, I don’t see anything less than about 20 seconds as a real problem. Heck, I remember the days of single sided floppies. One minute load times were normal. What is important to me is the percieved speed once you start *using* the app. P4 mobile 1.8 Ghz 384 MB RAM Windows 2000 also had MS Outlook 2003 and Firefox running during the test. 2005-09-26 11:43 pm japail Every program you have to keep open all of the time because it takes a lot of time to startup and you cannot easily predict how frequently you’ll need to make use of it, is more stuffed that ends up paged to disk until the latency caused by swapping makes it profitable to just start over again. If people have two choices available to them and one of them is apparently less annoying to them than the other, they’ll typically pick the less annoying one. This is why so many ‘average’ people despise PDF files; Adobe Acrobat with its plugins and startup time makes casually loading documents annoying for them. Recalling how inconvenient and annoying computers were in previous decades as a means of excusing performance now isn’t going to sooth users. 2005-09-26 9:57 pm The difference, from what I have gleaned from scouring the Web, is that OO is written as multi-platform, so it can’t hook into the environment like O2K3 or KOffice can. KOffice is built to leverage the K desktop environment. O2K3 is built to leverage the Windows desktop environment (or Wine, or CrossOverOffice, which give a pseudo-Windows environment for O2K3 to hook.) Try making KOffice platform-agnostic, or O2K3 platform-agnostic, with a consistent user experience across all platforms. You’d have to write your own platform-agnostic presentation code as well, like OOo has had to do, to give a consistent look-and-feel. If OOo had been written to leverage the graphical API set of each platform it’s been ported to, it would look and behave radically different on Windoze, KDE, OS X and any other GUI it’s been ported to. leveraging that, and overcoming the differences to keep the consistency, may be part of the speed improvements in 2.0, but in 1.x that wasn’t the case, AFAIK. That’s not the kernel’s fault, though – it’s the way OOo was built, to be platform-agnostic. But if this guy can figure out how make the kernel precognitive, more power to him 2005-09-26 11:30 pm I use plenty of “platform-agnostic” software. The Seamonkey browser, for example, loads in about a second. KOffice, ported to OS X just last year, loads in about three. Yet OpenOffice.org takes 17 seconds to load. It’s poorly designed. 2005-09-26 10:33 pm butters I was talking about layers last night, I’ll say it again. The presence of multiple layers of abstraction in open source software are there for a reason. The first reason is to make each layer easier to document and develop. The more important reason is to enable modularity and flexibility. OpenOffice should be able to take advantage of kdelibs when it is running on KDE, and it should be able to take advantage of cairo/arthur where available. It should have been written in layers, with well-defined interfaces, but it wasn’t. Obviously in order to work correctly on all platforms they had to write a beast of vertical integration that must load in its entirety upon startup. The other office suites will catch up eventually, because OpenOffice is just too hard to hack. 2005-09-26 10:48 pm Changing the soffice script to strace soffice.bin during shows that it does >3000 open + lstat system calls. That seems like a huge number of files to access during startup…. This might be one of the causes for being so slow to startup. I was wondering if someone could do the same for MS Office running under Wine to see if it accesses such a huge number of files… 2005-09-26 11:49 pm How about grouping into one main library the GUI and just the basics to using OOwriter. So the user could just begin typing away while the rest of the program loads in the background. Sounds simple enough, but I don’t know how hard it is to implement. 2005-09-27 12:24 am On an old 128Mb Win98 computer, MS Word 97 opens pretty much instantly, whereas OOo 1.1.4 takes a good minute in Linux. Low-end computers are kinda nice that way for illuminating speed differences. Hrm, the OOo startup-time answer discouraged me even more from hoping for improvements anytime soon What’s this about KOffice being available for Windows soon? 2005-09-27 12:49 am What’s this about KOffice being available for Windows soon? if by “soon” you mean about a year, then yes, koffice will be ported to windows soon in the meantime, you can try a preview of kexi, its database application, that already run on windows. http://www.kexi-project.org 2005-09-27 2:42 am rm6990 On an old 128Mb Win98 computer, MS Word 97 opens pretty much instantly, whereas OOo 1.1.4 takes a good minute in Linux. Low-end computers are kinda nice that way for illuminating speed differences. Hrm, the OOo startup-time answer discouraged me even more from hoping for improvements anytime soon What’s this about KOffice being available for Windows soon? Nice comparison. An almost 10 year old program running on Windows (most likely older version of Windows I’m assuming) compared to a less than 1 year old program running on an entirely different OS (most likely not a distro from that long ago either). You should be a scientist 😉 I know that OOo has horrible startup times…but seriously, at least try to be objective and neutral when posting. 2005-09-27 1:04 am I think the point of the preloading argument (while flawed) does illustrate some points. Because of the OO structure with all the libs inline it pretty much has to load everything from disk on startup. Things are not reused enough. Windows and KDE have a facility whereby components are loaded at startup (during idle cycles) after the desktop is loaded. MS Office, Internet Explorer and probably KOffice take advantage of this. OO doesn’t. Some versions of Mozilla even used this on Windows, essentially preloading parts of the application ahead of time to speed startup. Admittedly OO probably needs to modularize its code base (ala xorg) and strip out redundant libraries where systems already have them. However that takes time and effort. Other considerations are of course toolkits, system load, desktop environments etc. All of which appear to have a part in application load times. Personally (this could be just my opinion here) I think this is a pretty pointless argument. If your time was so valuable to you that you can’t wait for an application to load what are you doing reading this forum, let alone posting. 2005-09-27 1:38 am unoengborg Most people that use an office suits do other things besides starting and stopping tha applicatiöo. If I write a document that takes one hour to complete, it doesn’t matter much if it takes 1 or 10 seconds to start. The important thing is that it is responsive while you are working with it, and that it have features that speed up my work. StarOffice/OpenOffice have lots of these kinds of features. As an example, I really miss the auto complete function while typing when ever I have to use MS-Office. That feature alone make up for the somewhat slow startup. 2005-09-27 12:44 pm Well, I see typical GNOME developer attitude: ‘your software is slow!’ – ‘impossible! it is all, uhm, kernel’s fault and btw. KDE sucks!’ Seriously, how come koffice starts much faster even run from fluxbox? Damn, even msword on crossover starts faster. His random attack at kdeinit makes no sense (wow, surprise) – _every_ kdeinit library has also matching normal binary. You can also disable kdeinit hack at all by KDE_IS_PRELINKED env var. You can see a pattern here: when confronted with slow startup problem KDE devs make (hacky) solution that make users’ life easier and still can be easily disabled when proper solution (prelinking) is in effect. GNOME devs on the other hand start bitching and pointing in random (ok, KDE is always among them so not so random) directions. 2005-09-27 6:59 pm aseigo > Try making KOffice platform-agnostic, or O2K3 > platform-agnostic, with a consistent user > experience across all platforms. You’d have to > write your own platform-agnostic presentation code > as well, like OOo has had to do, to give a > consistent look-and-feel. koffice is already written to a platform agnostic presentation (and more!) set of libraries: Qt and the KDE libraries. the problem to date has been that there wasn’t a Free Software Qt on windows. with Qt4 that problem is gone. there are some X11-isms in the drawing apps in KOffice, but those things are all changeable. KWord, KSpread, KPresenter, Kexi, etc….. they are just waiting on the Windows port of KDE libs. note that Kexi (an MS Access like DB app) actually *already* runs on MS Windows, proving that this method works. based on Qt4 and KDE4, KOffice 2.0 will have a native Microsoft Windows port and perhaps even a MacOS X port. OOo is a great short term solution to get us to the next plateau: light weight, feature rich, multi-application, platform independent office suites built on open source desktop frameworks.