Age | Commit message (Collapse) | Author |
|
latter.
|
|
|
|
elements. This prevents the vector from having to resize itself.
|
|
* Simplify the representation of attributes in the AST.
* Change the behaviour of listToAttrs() in case of duplicate names.
|
|
significantly reduces the number of values allocated (e.g. from 8.7m
to 4.9m for the Bittorrent test).
|
|
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).
|
|
* Fix the stats.
|
|
|
|
* Clear pointers in Values after overwriting them to make sure that no
objects are kept alive unnecessarily.
|
|
|
|
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.
|
|
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.
|
|
|
|
|
|
expression evaluator.
|
|
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.
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
build-cores and --cores. They're superfluous and just complicate
the parsing.
|
|
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.
|
|
the other set.
|
|
than the first set. (That's usually the case with callPackage.)
|
|
distribution tarballs
|
|
|
|
|
|
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.
|
|
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.
|
|
prevent it from being deleted by the garbage collector.
|
|
from the old ATerm-based evaluator.
|
|
from failing on rename() on BtrFS.
|
|
|
|
|
|
* src/nix-store/Makefile.am (nix_store_SOURCES): Add `xmlgraph.cc' and
`xmlgraph.hh'.
* src/nix-store/help.txt (Operations): Document `--xml'.
* src/nix-store/nix-store.cc (opQuery): Handle `--xml'.
* src/nix-store/xmlgraph.cc, src/nix-store/xmlgraph.hh: New files.
|
|
* src/nix-store/dotgraph.cc (pathLabel): Move within #if 0 section.
|
|
|
|
|
|
fast-eval branch.
|
|
|
|
branch. Also added a test for tryEval.
|
|
|
|
|
|
|
|
|
|
|
|
errors with position info.
* For all positions, use the position of the first character of the
first token, rather than the last character of the first token plus
one.
|
|
|