1
1
Fork 0
mirror of https://github.com/NixOS/nix.git synced 2025-11-16 23:42:43 +01:00
Commit graph

13 commits

Author SHA1 Message Date
Eelco Dolstra
2995f9c48f Garbage-collect strings 2019-04-29 16:27:56 +02:00
Eelco Dolstra
14f7a60755 Keep some stats 2019-04-24 13:46:34 +02:00
Eelco Dolstra
69adbf5c77 Rename 2019-04-23 22:50:01 +02:00
Eelco Dolstra
35b76b21ee Size -> size_t 2019-04-23 22:47:30 +02:00
Eelco Dolstra
ba36d43d46 Freelist improvements 2019-04-23 22:44:17 +02:00
Eelco Dolstra
f7f73cf5ae Allow disabling some GC debug checks 2019-04-23 13:56:38 +02:00
Eelco Dolstra
a38a7b495c Use Value::misc to store strings
This allows strings < 23 characters (up from 16) to be stored directly
in Value. On a NixOS 19.03 system configuration evaluation, this
allows 1060588 out of 1189295 (89%) strings to be stored in Value.
2019-04-23 12:54:12 +02:00
Eelco Dolstra
742a8046de Store short strings in Values
The vast majority of strings are < 16 bytes, and so can be stored
directly in a Value. This saves a heap allocation and an indirection.
2019-04-23 12:20:27 +02:00
Eelco Dolstra
2160258cc4 Store contexts as symbols
This provides some deduplication since most contexts are used multiple
times.

Also, store singleton contexts directly in the Value object. This
saves a 16-byte Context object. This is useful because the vast
majority of contexts are singletons, e.g. 23723 out of 26138 in a
NixOS 19.03 system configuration.
2019-04-23 11:07:47 +02:00
Eelco Dolstra
e392ff53e9 Remove a word from Env 2019-04-23 01:11:50 +02:00
Eelco Dolstra
ae5b76a5a4 Checkpoint 2019-04-23 00:39:14 +02:00
Eelco Dolstra
7c716b4c49 Checkpoint 2019-04-22 23:25:47 +02:00
Eelco Dolstra
4237414f4d Checkpoint 2019-04-15 18:40:35 +02:00