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

Re: [Condor-users] difference between dynamic and static version of condor?

On Sat, Jan 30, 2010 at 4:57 PM, Genie Jhang <geniejhang@xxxxxxxxxxx> wrote:
> Hello. It's Genie.
> I'm finding the difference between dynamic and static version of condor in
> the condor homepage.
> But, I can't find it.
> Where the earth can I find the explanation about them?

Did you ever get an answer to this? Statically linking binaries pull
in all the libraries they need at linking time and bundle them into
the binary code that makes up the executable. This makes for a big
executable, but it also means the executable can run on a just about
any compatible platform without having to worry about whether that
platform has the exact right versions of the libraries it needs to
run. It also means no sharing: if you've got 10 running programs that
all use library A, they've all got their own copies of library A
loaded into memory at the same time which is a waste.

Dynamic linking doesn't pull the libraries into the binary. Instead it
looks on the machine at run time and uses the libraries that are
deployed on the machine for any library calls. You get to ship smaller
binaries and because you're loading the libraries you need at runtime
your OS can do smart things like load libraries on demand and such so
that startup time is faster and memory use is lower. In some operating
systems libraries can even be shared among running programs so you
only have one copy of the library loaded in memory, which can be a
huge memory saving technique.

See: http://en.wikipedia.org/wiki/Library_%28computing%29

- Ian