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 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


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 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 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 Nicolas Pierron
Hi,

Great News :)

On Wed, May 12, 2010 at 16:01, Eelco Dolstra  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