Re: [Nix-dev] `fast-eval' branch merged

2010-05-30 Thread Marc Weber
Eelco Dolstra,

the results of your work rock!

Doing dependency analysis of hack-nix was: 17.08 total (secs)
is now: 2.8 total (secs)

Marc Weber
___
nix-dev mailing list
nix-dev@cs.uu.nl
https://mail.cs.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] `fast-eval' branch merged

2010-05-13 Thread Lluís Batlle i Rossell
Hello,

On Wed, May 12, 2010 at 04:01:08PM +0200, Eelco Dolstra wrote:
 Hi,
 
 I've merged the Nix `fast-eval' branch into the trunk.  

Is there any good reason not to update nixpkgs nixUnstable and nixSqlite to the
latest tarballs built by hydra?

I have the commits ready in git-svn; I'm about to test the speed change in the
Sheevaplug. I will report on it.
___
nix-dev mailing list
nix-dev@cs.uu.nl
https://mail.cs.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] `fast-eval' branch merged

2010-05-12 Thread Nicolas Pierron
Hi,

Great News :)

On Wed, May 12, 2010 at 16:01, Eelco Dolstra e.dols...@tudelft.nl wrote:
 Hi,

 I've merged the Nix `fast-eval' branch into the trunk.  This replaces the
 current Nix expression evaluator by a new, faster implementation.  It no 
 longer
 uses the term-rewriting based approach (described in [1]) but a more
 conventional functional language implementation based on thunk updating.  As a
 result, Nix no longer depends on the ATerm library.

 Here are some benchmark results to show the performance improvement.  The
 benchmarks are:

 - `nix-env -f /etc/nixos/nixpkgs -qa \*' on Nixpkgs r21747.
 - `nix-env -f /etc/nixos/nixpkgs -qa \* --drv-path'.
 - `nix-instantiate /etc/nixos/nixos -A system --readonly-mode' (also on r21747
 of NixOS).  This is what every `nixos-rebuild' operation does.
 - `nix-instantiate /etc/nixos/nixos/tests/ -A proxy.test --readonly-mode' 
 (which
 evaluates 4 NixOS system configurations).

 These were done on a 32-bit Linux machine (Intel Core 2 Duo T7700 @ 2.40GHz, 2
 GiB RAM) and on a 64-bit Linux machine (Intel Core i5 750 @ 2.67GHz, 6 GiB 
 RAM).
  Here are the timings in seconds:

                                         | Old   | New  | Speedup
 -+---+--+
 `nix-env -qa' (32-bit)                   |  2.96 | 0.60 | 4.9x
 `nix-env -qa' (64-bit)                   |  1.86 | 0.32 | 5.8x
 `nix-env -qa --drv-path' (32-bit)        | 12.48 | 3.96 | 3.2x
 `nix-env -qa --drv-path' (64-bit)        |  7.65 | 2.04 | 3.8x
 `nix-instantiate -A system' (32-bit)     |  6.79 | 1.32 | 5.1x
 `nix-instantiate -A system' (64-bit)     |  4.63 | 0.71 | 6.5x
 `nix-instantiate -A proxy.test' (32-bit) | 23.86 | 3.55 | 6.7x
 `nix-instantiate -A proxy.test' (64-bit) | 15.76 | 1.95 | 8.1x

 Another goal of the `fast-eval' branch was to reduce memory consumption by the
 evaluator.  The old evaluator basically never released memory due to its 
 normal
 form cache.  With the new evaluator, we can in principle reclaim garbage 
 memory.
  However, it doesn't actually have a garbage collector yet.  I intend to use 
 the
 Boehm GC for that.  Nevertheless, the new evaluator already uses less memory
 than the old one.  For instance, `nix-instantiate -A system' on 64-bit Linux
 uses 358.6 MiB with the old evaluator, but only 213.7 MiB with the new 
 evaluator
 (according to Valgrind's `massif' tool).

 [1] http://www.st.ewi.tudelft.nl/~dolstra/pubs/laziness-ldta2008-final.pdf




-- 
Nicolas Pierron
http://www.linkedin.com/in/nicolasbpierron - http://nbp.name/
___
nix-dev mailing list
nix-dev@cs.uu.nl
https://mail.cs.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] `fast-eval' branch merged

2010-05-12 Thread Marc Weber
Excerpts from Nicolas Pierron's message of Wed May 12 17:07:44 +0200 2010:
 Great News :)

I second that. hack-nix will be a nice test case as well.

/me is waiting for JIT now :)) *kidding*

Marc Weber
___
nix-dev mailing list
nix-dev@cs.uu.nl
https://mail.cs.uu.nl/mailman/listinfo/nix-dev


RE: [Nix-dev] `fast-eval' branch merged

2010-05-12 Thread Sander van der Burg - EWI
Merging the sqlite branch will give us another speed up as well (hopefully) :-)


-Original Message-
From: nix-dev-boun...@cs.uu.nl on behalf of Marc Weber
Sent: Wed 5/12/2010 5:15 PM
To: nix-dev
Subject: Re: [Nix-dev] `fast-eval' branch merged
 
Excerpts from Nicolas Pierron's message of Wed May 12 17:07:44 +0200 2010:
 Great News :)

I second that. hack-nix will be a nice test case as well.

/me is waiting for JIT now :)) *kidding*

Marc Weber
___
nix-dev mailing list
nix-dev@cs.uu.nl
https://mail.cs.uu.nl/mailman/listinfo/nix-dev

___
nix-dev mailing list
nix-dev@cs.uu.nl
https://mail.cs.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] `fast-eval' branch merged

2010-05-12 Thread Lluís Batlle i Rossell
On Wed, May 12, 2010 at 04:01:08PM +0200, Eelco Dolstra wrote:
 Hi,
 
 I've merged the Nix `fast-eval' branch into the trunk.
Fantàstic! I was waiting the merge :) Thank you.
___
nix-dev mailing list
nix-dev@cs.uu.nl
https://mail.cs.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] `fast-eval' branch merged

2010-05-12 Thread Michael Raskin
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 05/12/2010 07:15 PM, Marc Weber wrote:
 /me is waiting for JIT now :)) *kidding*

Do a Nix - something JITtable convertor then. Should be simpler..
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.12 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQEcBAEBAgAGBQJL631GAAoJEE6tnN0aWvw3WlMH/Aksg1UUggu7dexUC4kOZAoA
aS/9yv48EtPwON/pwkSTpvz3TrjebQddWO52rMSmqKZoWAm0caOSxfymqWkpRIEN
Uxyapdjke/Ey+V8xPCrEO7YJkcB37Qqvd7jzcjZTi4WgLYYjhjYmHIE3BsOuhmOo
vvtPlzCLBBTYVnGMBJ4QUdLPRPOdzRiRg8jOhmPg+sh6HRe5JkJoauO5bFhaMSP/
duj/lKflzG3cdDoTNFzRdieY7vbFkohgHa25xPEqI+0lOtq1DKJr11Ic9ocJoGBh
IsXAt1y5vhZcyCLfG3a9pCSS9uTWBQSk//AE29YzENlm3FPxItSYkj/1ksvlyy8=
=y0NG
-END PGP SIGNATURE-
___
nix-dev mailing list
nix-dev@cs.uu.nl
https://mail.cs.uu.nl/mailman/listinfo/nix-dev