zsh-workers
 help / color / mirror / code / Atom feed
From: ari <edelkind-zsh-workers@episec.com>
To: zsh-workers@sunsite.dk
Subject: libzsh overhead, minus the benefits
Date: Fri, 25 Jun 2004 08:34:31 -0400	[thread overview]
Message-ID: <20040625123431.GR96475@episec.com> (raw)

The only potential reason that i see for having all zsh functionality in
libzsh.so, while keeping the zsh binary more or less a stub into the
library, is the reuse of shared memory mappings.  However, and correct
me if i'm wrong, the zsh shell is the only program that is meant to use
this library.  The idea seems to be that multiple instances of the
binary will run with a minimal amount of redundant code, saving memory
when many zsh processes are running simultaneously.

There is an error in this reasoning.  Modern systems offer shared
executable code mappings, so that if multiple instances of a binary are
running simultaneously, the majority of the code in memory will be
shared between processes.  Due to dynamic loader and function relocation
(indirection) overhead, using libzsh.so actually causes each running zsh
process to consume _more_ memory than if the code were compiled into the
original binary.  The indirection will also cause a slight increase in
processing time, as loading the library will cause a slight increase in
execution time.  In these cases, using a dynamic library only helps when
multiple, different executables require use of the same family of
functions.

Perhaps the use of libzsh.so should be reconsidered?

ari


             reply	other threads:[~2004-06-26 11:12 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-06-25 12:34 ari [this message]
2004-06-26 11:57 ` Geoff Wing
2004-06-26 18:09 ` Bart Schaefer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20040625123431.GR96475@episec.com \
    --to=edelkind-zsh-workers@episec.com \
    --cc=zsh-workers@sunsite.dk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).