* Store attribute sets as a vector instead of a map (i.e. a red-black
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).
			
			
This commit is contained in:
		
							parent
							
								
									a247d20604
								
							
						
					
					
						commit
						0b305c534f
					
				
					 7 changed files with 129 additions and 90 deletions
				
			
		|  | @ -28,6 +28,8 @@ private: | |||
|     friend class SymbolTable; | ||||
| 
 | ||||
| public: | ||||
|     Symbol() : s(0) { }; | ||||
|      | ||||
|     bool operator == (const Symbol & s2) const | ||||
|     { | ||||
|         return s == s2.s; | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue