Re: [RFC] Un-staticise the toolchain

From: Erik Cederstrand <erik_at_cederstrand.dk>
Date: Mon, 30 Apr 2012 15:41:02 +0200
Den 26/04/2012 kl. 22.30 skrev Chris Rees:

> On 26 April 2012 20:15, Matthew Seaman <m.seaman_at_infracaninophile.co.uk> wrote:
>> On 26/04/2012 20:01, Chris Rees wrote:
>>> hydra# cd /usr/ports && time make MAKE=~crees/bin/make-static index
>>> 
>>> Generating INDEX-9 - please wait.. Done.
>>> 729.770u 120.841s 7:45.10 182.8%        920+2676k 5251+116484io 7750pf+0w
>>> 
>>> hydra# time make MAKE=~crees/bin/make-dynamic index
>>> 
>>> Generating INDEX-9 - please wait.. Done.
>>> 771.320u 133.540s 8:07.83 185.4%        609+2918k 474+116484io 570pf+0w
>>> 
>>> We have a 10% slowdown (or 11% speedup, depending on your figures) when
>>> using a dynamically loaded make.
>> 
>> I don't think you can validly conclude much from just one sample of each
>> type.  Try repeating those tests enough that you can do some decent
>> statistics.
>> 
>> Oh, and you should probably either discard the first few results, or
>> else take pains to flush[*] the buffer cache between each run, so you
>> end up measuring the same thing repeatably.
> 
> Had I done the tests the other way around, I may agree with you, but
> the second test should benefit from any buffering, and it is *still*
> slower.
> 
> Look, I know it's not a perfect benchmark, it was just some food for
> thought-- a difference of 10% is pretty significant, and I don't think
> you can blame that on a solar flare.

Can anyone explain to me why the dynamically linked version is significantly slower? What are the extra steps involved compared to a statically linked binary?

Thanks,
Erik
Received on Mon Apr 30 2012 - 11:51:09 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:26 UTC