Coming from the world of windows...
Hello everyone. I''ve heard lots of good things about programming on linux / unix type OSes, so I decided to install a copy of FreeBSD 5.1... Everything works great, I''m just wondering if its normal that it takes 30+ seconds to open every application (I''m using the KDE window manager), I''m using a 1.4GHz processor with 512 megs or RAM, so I definately didn''t expect this kind of delay.
The computers at my university all run redhat linux with the same problem, taking about 30 seconds to open any application... Do you experienced *nix users know anyway to get around this???
Load times are going to become a concern soon. (Look mom! I''m a prophet!)
I''ll tell you what the problem is. Its not linux or bsd thats the problem, its that open source developers haven''t realized that load time is a problem, nor do they understand what affects it.
One thing that might affect it...
the command ''ldd'' shows what libraries a program depends on. Take a look at something simple sometime. like a calculator. Dependancies are monstrous. A calculator might depends on graphics libraries, audio libraries, math libraries, and other stuff.
dependancies are usually a good thing. Almost every program you can think of depends on libc. having only one copy of libc in memory saves memory and decreases load times.
the break down happens when (a) programs begin to depends on stupid things (calculator? audio libraries? huh?) and (b) multiple libraries offer the same thing, meaning programs that want J load in libJa libJb libJc and libJd all of which do the same thing, but each program depends on a different library. This is really not fixable (although project like gnome or kde standarized on their favored libraries, which fixes some of these problems), and is argueably desireable. competition. But then these libraries that offer different things also offer other things. Three programs wanting J now include libJBDAC, libQKEJYA, and libKJHLPO wasting lost of letters of the alphabet. (Also need to mention libraries that depend on libraries, which only adds to the problems.)
and so the libraries that need to be loaded from disk explode. But I suspect even this isn''t the bottleneck, since the HD light doesn''t stick on the whole time.
I''m hoping this problem sticks around long enough for me to write a master''s thesis on it. but then, six years is awhile to wait, isn''t it
I''ll tell you what the problem is. Its not linux or bsd thats the problem, its that open source developers haven''t realized that load time is a problem, nor do they understand what affects it.
One thing that might affect it...
the command ''ldd'' shows what libraries a program depends on. Take a look at something simple sometime. like a calculator. Dependancies are monstrous. A calculator might depends on graphics libraries, audio libraries, math libraries, and other stuff.
dependancies are usually a good thing. Almost every program you can think of depends on libc. having only one copy of libc in memory saves memory and decreases load times.
the break down happens when (a) programs begin to depends on stupid things (calculator? audio libraries? huh?) and (b) multiple libraries offer the same thing, meaning programs that want J load in libJa libJb libJc and libJd all of which do the same thing, but each program depends on a different library. This is really not fixable (although project like gnome or kde standarized on their favored libraries, which fixes some of these problems), and is argueably desireable. competition. But then these libraries that offer different things also offer other things. Three programs wanting J now include libJBDAC, libQKEJYA, and libKJHLPO wasting lost of letters of the alphabet. (Also need to mention libraries that depend on libraries, which only adds to the problems.)
and so the libraries that need to be loaded from disk explode. But I suspect even this isn''t the bottleneck, since the HD light doesn''t stick on the whole time.
I''m hoping this problem sticks around long enough for me to write a master''s thesis on it. but then, six years is awhile to wait, isn''t it
Despite all of that (what C-Junkie mentioned), 30 seconds is still obscene for almost any application to take to load. If you're not exaggerating, I'd be wondering if your HDD is somewhat misconfigured ("un-optimally") and running slower than it could.
C++ applications (more accurately: applications that link with libraries that export C++-style symbols; as all KDE and Qt applications are) do take longer to load than plain C applications because of how the linker works with C++. KDE apparently uses some tricks to partly work around this issue. If you look around you can find some articles on why this is so.
Edit: I can't spell and needed to clarify something anyway. Signature takes up too much space when coupled with "Edit" note appendage...
[edited by - Null and Void on October 11, 2003 9:43:14 PM]
C++ applications (more accurately: applications that link with libraries that export C++-style symbols; as all KDE and Qt applications are) do take longer to load than plain C applications because of how the linker works with C++. KDE apparently uses some tricks to partly work around this issue. If you look around you can find some articles on why this is so.
Edit: I can't spell and needed to clarify something anyway. Signature takes up too much space when coupled with "Edit" note appendage...
[edited by - Null and Void on October 11, 2003 9:43:14 PM]
I''d agree with Null and Void about the HDD being a suspect in this scenario. When I first boot my system, it takes several seconds for any program to load, as everything is loading off disk. However, once it''s been loaded into memory, subsequent restarts should be quite quick. Mozilla, for example, takes approximately the same amount of time to load on my system under both Linux (Gentoo) and Windows (XP), so it''s not a problem that''s specific to *nix. Thirty seconds is a ridiculous amount of time, even loading from disk.
-bodisiw
Well, anywhere between 15-30s is the usual time I have to wait to get any KOffice applications to open. My windows setup is very fast and doesn''t have a problem with load times at all, so the hard-drive itself is not suspect. However, I''m not sure exactly how *nix systems interface with the hard-drive at all, so it could be misconfigured in some way, I looked on FreeBSD.org for help on this issue but got nowhere.
quote: Original post by Null and Void
C++ applications (more accurately: applications that link with libraries that export C++-style symbols; as all KDE and Qt applications are) do take longer to load than plain C applications because of how the linker works with C++. KDE apparently uses some tricks to partly work around this issue. If you look around you can find some articles on why this is so.
I think I will. I was unaware of any difference in how the linker deals with C or C++ programs. I think you''re wrong, but I''m gonna go look. any links in particular?
October 12, 2003 01:35 AM
30 seconds it way much, you should probably enable DMA for yout hard drive (how that is done i have no idea of)
C-Junkie: It has to do with all the relocations that have to take place during the loading of C++ programs.
http://www.suse.de/~bastian/Export/linking.txt
C-Junkie: It has to do with all the relocations that have to take place during the loading of C++ programs.
http://www.suse.de/~bastian/Export/linking.txt
I have enabled DMA and everything is much faster now. However, instead of 30 second to open a program its now about 4-7s, which still seems slow considering I have 512 MB ram and 1.4GHz athlon processor...
I''ve heard lots about the program "hdparm", but that is a linux program, not a FreeBSD one (I could run it, but it affects system files, etc... that are specific to linux systems and not FreeBSD).
I''m not sure what else I could do to make things run any faster... But having to wait for 7s to open a program is still incredibly annoying and hard to work with...
Would you recommend that I try a linux distribution (instead of FreeBSD) so that I can use hdparm?
I''ve heard lots about the program "hdparm", but that is a linux program, not a FreeBSD one (I could run it, but it affects system files, etc... that are specific to linux systems and not FreeBSD).
I''m not sure what else I could do to make things run any faster... But having to wait for 7s to open a program is still incredibly annoying and hard to work with...
Would you recommend that I try a linux distribution (instead of FreeBSD) so that I can use hdparm?
hdparm only turns on DMA (well, a few other things, but not many that''d affect startup time)
(btw, AnonP, thank you for that link.)
(btw, AnonP, thank you for that link.)
4-7 dosn''t sound all that odd. Even with DMA on your not going to get much more than 30MBPS on any system no matter how much RAM or how fast your CPU is. At least thats my understanding as to it being the limmit the IDE setup will alow. Dispite DMA66-133 being around. If a program has a lot to load your just stuck waiting. If its tiny little programs like CD players then that would be a bit much. Seeing as how DMA took you from 30 down to 4-7 I would think you found your problem. DMA is just recently been getting set on install under Linux I don''t know about FreeBSD. Used to seam silly to me not to turn it on by defualt or atleast ask during install. Nobody wants their HD runing at 2-3MBPS.
------------------------------------------------------------- neglected projects Lore and The KeepersRandom artwork
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement