Re: Low memory hacks



Behdad Esfahbod wrote:
On Mon, 2008-03-03 at 09:05 +0000, Brian Nitz wrote:
  Third, there's no such thing as
locale-specific fonts.  If a font happens to cover Chinese only, so be
it.  Finally, if you don't need those fonts, simply don't install them
(or uninstall them).
I know it doesn't make sense from a developer's point of view, but it has been a request for end users, "We don't ever use (X language) fonts in our Hospital/Bank/University/Government Office, why are we installing these fonts?" It may be a distribution specific issue, but it's probably an issue with nearly every distribution.

A logical conclusion is that if of a gazillion different Linux distros,
none fixed it, chances are high that it's not a problem to begin with.
Even if Pat Sulwalski's estimate that GNOME deployments where resource consumption matters only amounts to about 5% of the market, I don't think we can ignore that market because it represents:

- Newcomers (a.k.a. our growth). Those who are just getting their feet wet with *nix/GNOME aren't going to install it on their primary computer. They're probably running it on an old laptop with 128Mb which someone gave to them.

- Large commercial deployments. Whether it is on a thick or thin client, a deployment of several thousand GNOME desktops (which I've done) is probably going to want to strip out as much as possible to reduce resource consumption, reduce potential security exploits, reduce administration costs...

- Small footprint devices (our future): Devices such as OLPC laptops and Nokia phones seem to have the CPU power and memory capacity of a 10 year old desktop PC.
Just because something "feels" suboptimal doesn't mean it should be
fixed.  It's not really a distro issue.  It's an integrator issue.  And
BTW being able to render Chinese just fine if a friend of mine happens
to want to check a Chinese web site on my laptop sounds like a useful
issue to me, even if I'm sacrificing 10MB of my harddisk for it.
We were talking about physical memory, not hard disk space. Sorry I've caused the topic to drift a little bit, Nickolay began this thread addressing the real need for some GNOME user's to "reduce memory usage with a little reduction in functionality." I don't think any of us would advocate removing evolution calendar or stripping L10N messages or fonts or removing anything else from all GNOME desktops. But if a feature isn't used 99.999% of the time and it consumes resources, it should have an off switch. I hope Nickolay's thread can become a brainstorming session regarding "which GNOME components should have an off switch? (and don't)"

Your comments and a couple of experiments with dtrace and various other tools, convinced me that it probably isn't worthwhile to restrict the opening of these font cache files by locale even in cases where they are remotely mounted via NFS. (Does anyone remember when Apple system performance was proportional to the number of installed fonts?)

If a font is installed, it HAS to be noted in the
cache somewhere to be discoverable by apps.
O.K. but opening and mapping these files on every application launch even when the associated fonts may _never_ be read for a particular user doesn't seem to be the most efficient thing to do.

A very common rule for optimizing code is, don't optimize it if it's not
a bottleneck.  Say, you get rid of those 20 extra system calls out of
the 7000 system calls during a typical application startup.  You've
gained what, a 0.3% improvement in the number of syscalls.  Go translate
that to wall clock time...
True, but we're talking about memory consumption. A 1 byte malloc which pushes your page or process off to disk can cause an order of magnitude (or two) degradation in performance of whatever it forces out.

Except for a few applications which we know are heavy resource consumers because of their nature (web browsers, email clients and file indexers), GNOME has become balanced enough that we can't necessarily count on the low hanging fruit of optimizing by removing severe bottlenecks. It's death by 1000 cuts, but I agree that the opening (and mmapping?) of all font-cache files at every application launch doesn't appear to be a very deep cut.
Yes, of the 5GB worth of data installed on my laptop by Fedora, I
probably don't need and never use 3GB of it.  But I have better things
to do than going over the list of all five hundred thousand files on my
root partition and remove the ones I don't need.  That holds true for
most people.  If you don't like it, use LSB, or gentoo, or some other
productivity-optimized system.

Again, I'm not talking about hard drive space. On that very same laptop I would bet that you max out physical RAM from time to time. If you don't, try hanging a few hundred GNOME users off the same box. Someone will put you over the edge. CPU clock cycles and hard disk space have become so inexpensive that it rarely pays to optimize based on consumption of these resources, but RAM memory is still relatively expensive and the percent degradation when a process moves out to hard disk is probably much worse than it was 10 years ago (memory access time has improved more than disk access time).

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]