[Nix-dev] contribute patches and support of AIX platform

Olexiy Buyanskyy olexiyb at gmail.com
Wed Mar 16 13:00:44 CET 2011


Hi,
2011/3/16 Lluís Batlle i Rossell <viriketo at gmail.com>:
> On Tue, Mar 15, 2011 at 04:31:09PM -0400, Olexiy Buyanskyy wrote:
>> All,
>>
>> On Tue, Mar 15, 2011 at 9:04 AM, Olexiy Buyanskyy <olexiyb at gmail.com> wrote:
>> I found solution here
>> http://publib.boulder.ibm.com/tividd/td/ITAME/GC32-0846-00/en_US/HTML/am39_perftune11.htm
>> I had to set to complete nix-env execution without std::bad_alloc
>> export LDR_CNTRL=MAXDATA=0x2000000
>> This means nix-env requires at least 512Mb to parse all nix files
>> And I also see really bad performance
>> $ time nix-env -qaf nixpkgs '*'
>> real    2m3.254s
>> user    0m35.016s
>> sys     0m0.306s
>
> With those user/sys times, it looks like your machine is swapping a lot (using
> disk pages), or your filesystem delivers the file contents very slow. What about
> the amount of RAM dedicated to the nix-env process? Enough?
>
> What do you think that time consumption comes from?
>
> Eelco Dolstra once reported in the mailing list the evaluation times of some
> recent nix release, but I can't find it. For my system:
>
> 1st run)
> real    0m37.702s
> user    0m1.416s
> sys     0m0.515s
>
> 2nd run)  (filesystem cache playing a heavier role)
> real    0m2.093s
> user    0m1.270s
> sys     0m0.340s
>
> It may also happen that libgc or libgcc or libstdc++ (exceptions specially) are
> not very well tuned for your system.
>
> That's for linux. Maybe the nixpkgs evaluation in your system is very different,
> but I don't think so. So, an interesting problem to solve. :)
I have run under valgrind (callgrind) and see that 95% of time was
spend in cloneAttrs(). I am using the latest stable release nix-0.16
But interesting thing I do not see this function anymore in SVN trunk.
Was this performance issue already addressed?

--
Olexiy



More information about the nix-dev mailing list