Commit Graph

25 Commits

Author SHA1 Message Date
Rafael Weinstein 0555d7a3c1 Remove errors from read/write/encode/decode 2015-08-18 16:37:04 -07:00
Aaron Boodman 214b37eccf Remove global imports of dbg package
Fixes #179
2015-08-08 23:57:37 -07:00
Aaron Boodman 7944c1b3af Revert "Make WriteValue return a "skinny" copy of input value" 2015-07-30 09:23:35 -07:00
Aaron Boodman a84893c0d8 Make WriteValue return a "skinny" copy of input value
Fixes #141
2015-07-29 16:06:54 -07:00
Chris Masone 4fe00d4f81 Address aa's comments
- Return factory methods to privacy
- use tighter syntax inside Chunks() methods
- Rename Futures() -> Chunks()
2015-07-23 15:32:38 -07:00
Chris Masone a560139d73 Make types.future public
This will enable us to walk the chunk graph without having to go
through weird contortions to figure out which values don't have
chunks in any chunkstore (because they were inlined).

Towards issue #82
2015-07-23 15:32:26 -07:00
cmasone-attic f229396931 Merge pull request #117 from cmasone-attic/revert
Revert Walk() and GetReachabilitySetDiff()
2015-07-23 12:40:53 -07:00
Chris Masone d12dde500d Revert Walk() and GetReachabilitySetDiff()
It turns out these functions aren't actually generally useful,
because they deal in Values and Refs, while what we actually
want is to deal in chunks. So...

Revert "Settle big/small vs to/from ONCE AND FOR ALL"

This reverts commit f51c575cd2.

Revert "Add a naive Diff() function between two Values."

This reverts commit 662bc5e3c4.
2015-07-23 11:49:55 -07:00
Aaron Boodman df1263e5d2 Merge pull request #107 from arv/codegen-map
Add Map codegen
2015-07-22 16:19:32 -07:00
Erik Arvidsson a3b3bb1090 Add Map codegen 2015-07-22 14:36:34 -07:00
Chris Masone 662bc5e3c4 Add a naive Diff() function between two Values.
Given two refs, we need to be able to determine the set of chunks
reachable from one that cannot be reached from the other. This patch
adds a naive implementation of this functionality that essentially walks
the value tree down from the values pointed to by two refs and compares them.

It also has a little command-line driver, but this may be removed.

Fixes issue #82
2015-07-22 14:35:36 -07:00
Erik Arvidsson 3fdc008f5c Codegen: Add support for noms types
This makes it possible to do a List of Bool or Map of Int32 etc
2015-07-22 12:24:27 -07:00
Aaron Boodman 470d5bb4cd Fix duplicate map inserts.
Also happened to uncover a nasty bug with Map.Remove() O_o.
2015-07-21 13:45:27 -07:00
Aaron Boodman 409fd1b076 Map and Set: Compare using future.Val() when possible.
This can be more efficient than comparing by ref for primitives.
2015-07-21 09:26:38 -07:00
Aaron Boodman 2bd7cd2781 Map: Optimize adding multiple values at once. 2015-07-20 11:01:48 -07:00
Aaron Boodman 69cef43527 Switch Map from using a hashtable to a sorted list internally. 2015-07-20 09:28:38 -07:00
Chris Masone 4632a73bc2 Performance improvements, given the xml_importer workload
1) Get rid of temp file usage in FileStore. Instead, write to a buffer and then
   dump to disk on Close().
2) Chk.Equals() uses reflection even if you call it on primitive types, which
   can be surprisingly costly. Switch to a Chk.True() in a couple of hot paths.
2015-07-17 14:14:42 -07:00
Rafael Weinstein d6819cb2ee Forward existing ChunkSource when new map is created on Set 2015-07-15 15:49:59 -07:00
Rafael Weinstein 8297baea11 Incremental loading of Map 2015-07-13 10:36:17 -07:00
Rafael Weinstein 50029d1380 Removing cachedRef inferior of func ensureRef() 2015-07-10 16:16:13 -07:00
Aaron Boodman 96f21c4a60 Remove the Foo/flatFoo abstraction in the types package.
Fixes #24.
2015-07-10 11:29:03 -07:00
Aaron Boodman 129798c006 Support any type of Value for keys of maps 2015-06-15 15:57:33 -07:00
Aaron Boodman 08a53bb48f add types.Set 2015-06-13 23:25:48 -07:00
Aaron Boodman 53003f23f2 Add Value::Ref() 2015-06-12 15:22:27 -07:00
Aaron Boodman cdfbcb4e69 Add initial Map implementation 2015-06-04 22:10:27 -07:00