Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2010-12-13 | * Update some comments. | Eelco Dolstra | 2 | -4/+3 | |
2010-12-13 | * When doing a query (e.g. `nix-store -r --dry-run'), don't make a lot | Eelco Dolstra | 1 | -4/+12 | |
of expensive calls to `nix-store --check-validity'. | |||||
2010-12-10 | * Use SQLite 3.7.4. | Eelco Dolstra | 2 | -6/+6 | |
2010-12-08 | * Ignore the result of sqlite3_reset(). | Eelco Dolstra | 1 | -3/+4 | |
2010-12-07 | * Bad things happen when a filehandle has the same name as a module. | Eelco Dolstra | 1 | -2/+2 | |
2010-12-06 | * `nix-store --verify --check-contents': don't hold the global GC lock | Eelco Dolstra | 2 | -11/+49 | |
while checking the contents, since this operation can take a very long time to finish. Also, fill in missing narSize fields in the DB while doing this. | |||||
2010-12-05 | * Retry a transaction if SQLite returns SQLITE_BUSY. This can happen | Eelco Dolstra | 1 | -61/+83 | |
even with a very long busy timeout, because SQLITE_BUSY is also returned to resolve deadlocks. This should get rid of random "database is locked" errors. This is kind of hard to test though. * Fix a horrible bug in deleteFromStore(): deletePathWrapped() should be called after committing the transaction, not before, because the commit might not succeed. | |||||
2010-12-05 | * Use CamelCase for the Perl modules. | Eelco Dolstra | 12 | -19/+18 | |
2010-12-05 | * Add a script `nix-generate-patches'. | Eelco Dolstra | 4 | -7/+52 | |
* Fix the binary patching test. | |||||
2010-11-29 | * Quick hack around one of the pathological cases in bsdiff | Eelco Dolstra | 1 | -0/+1 | |
(namely, when there is a long region of 0s). On one 86 MiB case, this cut patch generation time from 44m to 2m. | |||||
2010-11-29 | * Move the patch generator into a module. | Eelco Dolstra | 4 | -437/+345 | |
2010-11-29 | * Don't generate patches if the system type differs. | Eelco Dolstra | 2 | -2/+13 | |
2010-11-29 | * Impose a configurable time limit on patch generation. This is | Eelco Dolstra | 1 | -6/+12 | |
necessary because bsdiff has some pathological worst-case behaviour, e.g. O(n^2) on files consisting only of 0s. | |||||
2010-11-25 | * Sync with the trunk. | Eelco Dolstra | 1 | -0/+4 | |
2010-11-25 | * DrvInfo contains pointers to expressions, so DrvInfos should be | Eelco Dolstra | 1 | -0/+4 | |
traced by the garbage collector. Otherwise "nix-env -u" can crash randomly. | |||||
2010-11-17 | * Test whether sequences of patches work. | Eelco Dolstra | 2 | -15/+37 | |
2010-11-17 | * Oops. | Eelco Dolstra | 1 | -1/+1 | |
2010-11-17 | * When checking whether a patch is applicable, for efficiency, use | Eelco Dolstra | 1 | -3/+7 | |
`nix-store -q --hash' to get the hash of the base path rather than `nix-hash'. However, only do this for estimating the size of a download, not for the actual substitution, because sometimes the contents of store paths are modified (which they shouldn't, of course). | |||||
2010-11-17 | * In the download size indication, take binary patches into account. | Eelco Dolstra | 3 | -145/+168 | |
Hopefully this doesn't slow things down too much. | |||||
2010-11-17 | (no commit message) | Eelco Dolstra | 1 | -0/+1 | |
2010-11-17 | * Finally, a test for the binary patch functionality. | Eelco Dolstra | 5 | -3/+56 | |
2010-11-17 | * Test that download sizes are shown correctly. | Eelco Dolstra | 2 | -2/+4 | |
2010-11-17 | * Fix the test. | Eelco Dolstra | 2 | -0/+2 | |
2010-11-17 | * Before a build, show the disk space that the downloaded store paths | Eelco Dolstra | 11 | -29/+36 | |
will approximately require. | |||||
2010-11-17 | * Store the NAR size in the manifest. | Eelco Dolstra | 2 | -1/+7 | |
2010-11-17 | * nix-push: no need to compute the NAR hash, since the Nix database | Eelco Dolstra | 2 | -9/+5 | |
already has it (`nix-store -q --hash'). | |||||
2010-11-17 | * Add an operation `nix-store -q --size'. | Eelco Dolstra | 5 | -10/+40 | |
2010-11-17 | * Implement RemoteStore::queryPathInfo(). | Eelco Dolstra | 3 | -1/+27 | |
2010-11-16 | * Store the size of a store path in the database (to be precise, the | Eelco Dolstra | 16 | -91/+144 | |
size of the NAR serialisation of the path, i.e., `nix-store --dump PATH'). This is useful for Hydra. | |||||
2010-11-16 | * Sync with the trunk. | Eelco Dolstra | 37 | -444/+722 | |
2010-10-29 | * Merge the GC branch. | Eelco Dolstra | 30 | -413/+678 | |
2010-10-29 | * Document Boehm GC support. | Eelco Dolstra | 4 | -1/+40 | |
2010-10-29 | * Use pkgconfig to locate the Boehm GC (as suggested by Ludo), if | Eelco Dolstra | 2 | -10/+10 | |
--enable-gc is given. | |||||
2010-10-29 | * Set libgc's initial heap size to 384 MiB to prevent garbage | Eelco Dolstra | 1 | -0/+12 | |
collection in most cases (and therefore its performance overhead). | |||||
2010-10-28 | * new(UseGC) is inexplicably slower than GC_MALLOC, so prefer the | Eelco Dolstra | 1 | -4/+4 | |
latter. | |||||
2010-10-28 | * Handle out of memory condition. | Eelco Dolstra | 5 | -10/+28 | |
2010-10-26 | * Install config.h. | Eelco Dolstra | 1 | -0/+2 | |
2010-10-24 | * We need Bison 2.4 now. | Eelco Dolstra | 1 | -1/+2 | |
2010-10-24 | * When allocating an attribute set, reserve enough space for all | Eelco Dolstra | 4 | -28/+21 | |
elements. This prevents the vector from having to resize itself. | |||||
2010-10-24 | * Keep attribute sets in sorted order to speed up attribute lookups. | Eelco Dolstra | 12 | -147/+185 | |
* Simplify the representation of attributes in the AST. * Change the behaviour of listToAttrs() in case of duplicate names. | |||||
2010-10-24 | * Don't create thunks for variable lookups (if possible). This | Eelco Dolstra | 3 | -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-black | Eelco Dolstra | 7 | -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 Dolstra | 1 | -10/+8 | |
* Fix the stats. | |||||
2010-10-23 | * Regression test for listToAttr's behaviour if an attribute name | Eelco Dolstra | 2 | -2/+3 | |
occurs multiple times. | |||||
2010-10-23 | * Optimise string constants by putting them in the symbol table. | Eelco Dolstra | 4 | -39/+55 | |
2010-10-23 | * Make Value smaller by not storing redundant PrimOp info. | Eelco Dolstra | 2 | -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 Dolstra | 4 | -36/+14 | |
2010-10-22 | * In environments, store pointers to values rather than values. This | Eelco Dolstra | 2 | -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 Dolstra | 2 | -0/+10 | |
2010-10-22 | * Store Value nodes outside of attribute sets. I.e., Attr now stores | Eelco Dolstra | 15 | -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. |