about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorFilesLines
2010-10-24 * Don't create thunks for variable lookups (if possible). ThisEelco Dolstra3-23/+60
significantly reduces the number of values allocated (e.g. from 8.7m to 4.9m for the Bittorrent test).
2010-10-24 * Store attribute sets as a vector instead of a map (i.e. a red-blackEelco Dolstra7-90/+129
tree). This saves a lot of memory. The vector should be sorted so that names can be looked up using binary search, but this is not the case yet. (Surprisingly, looking up attributes using linear search doesn't have a big impact on performance.) Memory consumption for $ nix-instantiate /etc/nixos/nixos/tests -A bittorrent.test --readonly-mode on x86_64-linux with GC enabled is now 185 MiB (compared to 946 MiB on the trunk).
2010-10-23 * Fix compiling without Boehm.Eelco Dolstra1-10/+8
* Fix the stats.
2010-10-23 * Regression test for listToAttr's behaviour if an attribute nameEelco Dolstra2-2/+3
occurs multiple times.
2010-10-23 * Optimise string constants by putting them in the symbol table.Eelco Dolstra4-39/+55
2010-10-23 * Make Value smaller by not storing redundant PrimOp info.Eelco Dolstra2-25/+44
* Clear pointers in Values after overwriting them to make sure that no objects are kept alive unnecessarily.
2010-10-23 * Remove allocValues().Eelco Dolstra4-36/+14
2010-10-22 * In environments, store pointers to values rather than values. ThisEelco Dolstra2-35/+25
improves GC effectiveness a bit more (because a live value doesn't keep other values in the environment plus the parent environments alive), and removes the need for copy nodes.
2010-10-22 * Regression test for __overrides.Eelco Dolstra2-0/+10
2010-10-22 * Store Value nodes outside of attribute sets. I.e., Attr now storesEelco Dolstra15-130/+150
a pointer to a Value, rather than the Value directly. This improves the effectiveness of garbage collection a lot: if the Value is stored inside the set directly, then any live pointer to the Value causes all other attributes in the set to be live as well.
2010-10-22 * Make building against the Boehm GC a configure option.Eelco Dolstra6-14/+42
2010-10-20 * Keep some more stats.Eelco Dolstra2-0/+12
2010-10-20 * Use the Boehm garbage collector to reclaim unused memory in the NixEelco Dolstra5-15/+29
expression evaluator.
2010-10-20 * Evaluator garbage collection branch.Eelco Dolstra0-0/+0
2010-10-06 nix manual: fix 'install' -> 'uninstall' in garbage collection section of ↵Rob Vermaas1-1/+1
introduction
2010-10-04 * In the referrers test, lower the nesting depth from 2500 to 1000 toEelco Dolstra1-1/+1
prevent hitting a stack overflow bug in the garbage collector.
2010-10-04 * Make sure that config.h is included before the system headers,Eelco Dolstra12-29/+29
because it defines _FILE_OFFSET_BITS. Without this, on OpenSolaris the system headers define it to be 32, and then the 32-bit stat() ends up being called with a 64-bit "struct stat", or vice versa. This also ensures that we get 64-bit file sizes everywhere. * Remove the redundant call to stat() in parseExprFromFile(). The file cannot be a symlink because that's the exit condition of the loop before.
2010-10-04 * If std::tr1::unordered_set is unavailable, use std::set.Eelco Dolstra2-0/+16
2010-10-04 * "type -P" isn't portable.Eelco Dolstra1-1/+1
2010-10-04 * In printMsg(), ignore failing writes to stderr if we're in anEelco Dolstra1-1/+10
exception handler, otherwise throw an exception. We need to ignore write errors in exception handlers to ensure that cleanup code runs to completion if the other side of stderr has been closed unexpectedly.
2010-10-04 * Hack needed for GCC 4.3.2 on OpenSolaris.Eelco Dolstra1-1/+1
2010-09-14 * Doh. Remove debug message.Eelco Dolstra1-1/+0
2010-08-27 * Oops - "null" was displayed as "true".Eelco Dolstra1-1/+1
2010-08-24 * nix-build: pass --cores.Eelco Dolstra1-1/+1
2010-08-17 * Bump the version number.Eelco Dolstra1-1/+1
2010-08-17 * rpmBuild already includes the disk image in the output name.Eelco Dolstra1-1/+1
2010-08-17 * Update date.Eelco Dolstra1-1/+2
2010-08-17 * Document --cores in the manual.Eelco Dolstra5-5/+46
2010-08-16 * Typo.Eelco Dolstra1-1/+1
2010-08-16 * Remove the "tarball" jobset argument.Eelco Dolstra1-53/+20
2010-08-16 * Nix 0.16 release notes.Eelco Dolstra1-0/+53
2010-08-12 * Urgh, this was supposed to go in the trunk...Eelco Dolstra1-3/+0
2010-08-12 * Make --cores work when building through the Nix daemon.Eelco Dolstra3-1/+7
2010-08-04 * Remove "auto" and "guess" as synonyms for 0 in the handling ofEelco Dolstra2-20/+8
build-cores and --cores. They're superfluous and just complicate the parsing.
2010-08-04 * Set the default system filter to "*". This ensures that (forEelco Dolstra1-7/+13
instance) "nix-env -i wine" works on x86_64-linux, even though Wine is built on i686-linux. In the event that there are multiple matching derivations, prefer those built for the current system.
2010-08-02 * Optimisation in the // operator: if one of the sets is empty, returnEelco Dolstra1-6/+8
the other set.
2010-08-02 * intersectAttrs: optimise for the case where the second set is largerEelco Dolstra1-7/+7
than the first set. (That's usually the case with callPackage.)
2010-07-21 * Don't barf if the source NAR for a patch has disappeared.Eelco Dolstra1-1/+6
2010-07-15 src/bsdiff-4.3/Makefile.am: include the 'compat-include' directory in ↵Peter Simons1-0/+2
distribution tarballs
2010-06-25 tests/build-hook.hook.sh: prefer more portable `...` syntax over $(...) for ↵Peter Simons1-2/+2
running sub-shells The /bin/sh interpreter on Solaris doesn't understand $(...) syntax for running sub-shells. Consequently, this test fails on Solaris. To remedy the situation, the script either needs to be run by /bin/bash -- which is non-standard --, or it needs to use the ancient but portable `...` syntax.
2010-06-24 Revert "configure.ac: make flex and bison required programs"Peter Simons1-2/+2
This reverts commit 22405. Apparently, these programs aren't necessarily required when building from a release archive.
2010-06-24 Fix build of bsdiff-4.3 on machines that don't have <err.h>, such as Solaris.Peter Simons3-1/+17
2010-06-24 configure.ac: Incredibly enough, tr(1) on Solaris doesn't understand A-Z ↵Peter Simons1-3/+3
syntax for ranges.
2010-06-24 configure.ac: make flex and bison required programsPeter Simons1-2/+2
The build fails if these tools aren't available.
2010-06-24 src/libutil/util.cc: include <limit.h> to ensure that PATH_MAX is definedPeter Simons1-0/+1
2010-06-24 Include <cstring> to ensure that strcpy(), strlen(), and memset() are declared.Peter Simons3-0/+6
An "using namespace std" was added locally in those functions that refer to names from <cstring>. That is not pretty, but it's a very portable solution, because strcpy() and friends will be found in both the 'std' and in the global namespace.
2010-06-23 * Ignore packages that don't have a version.Eelco Dolstra1-15/+18
* Work on a manifest instead of a channel directory.
2010-06-23 Added support for passing an (impure) NIX_BUILD_CORES variable to build ↵Peter Simons5-0/+35
expressions. This patch adds the configuration file variable "build-cores" and the command line argument "--cores". These settings specify the number of CPU cores to utilize for parallel building within a job, i.e. by passing an appropriate "-j" flag to GNU Make. The default value is 1, which means that parallel building is *disabled*. If the number of build cores is specified as 0 (synonymously: "guess" or "auto"), then the actual value is supposed to be auto-detected by builders at run-time, i.e by calling the nproc(1) utility from coreutils. The environment variable $NIX_BUILD_CORES is available to builders, but the contents of that variable does *not* influence the hash that goes into the $out store path, i.e. the number of build cores to be utilized can be changed at will without requiring any re-builds.
2010-06-22 * Pass `--fallback' to the remote build to ignore failingEelco Dolstra1-2/+2
substituters.
2010-06-14 * In importPath() and exportPath(), lock the temporary directory toEelco Dolstra1-0/+4
prevent it from being deleted by the garbage collector.