Commit Graph

63 Commits

Author SHA1 Message Date
Aaron Boodman 941ebae87e Merge pull request #76 from aboodman/order
Switch Map and Set from using a hashtable internally to a sorted list
2015-07-21 09:49:05 -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 5ae553db81 Set: Optimize adding multiple values at once. 2015-07-20 16:03:05 -07:00
Aaron Boodman 2bd7cd2781 Map: Optimize adding multiple values at once. 2015-07-20 11:01:48 -07:00
Chris Masone a22b9de144 Changes to xml_importer.go to allow for naive benchmarking
Introduce the 'NopStore', which is a sorta-ChunkStore that throws away
all written data. Get() can't really be called on it, as a result,
but it's useful for taking IO totally out of the equation when testing
our code for performance.

Towards issue #67
2015-07-20 10:08:00 -07:00
Aaron Boodman 636708e302 Switch Set from using a Map to a sorted set internally. 2015-07-20 09:28:53 -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 c5e754ca23 Implement Flickr importer 2015-07-16 09:23:59 -07:00
Erik Arvidsson e41f82ad76 Encoding needs to be aware of lazy-loading
Keep using futures in the encoding

Fixes #23
2015-07-16 08:55:02 -07:00
Rafael Weinstein d6819cb2ee Forward existing ChunkSource when new map is created on Set 2015-07-15 15:49:59 -07:00
aboodman d753c86ee7 Merge pull request #43 from aboodman/idiot
Idiot
2015-07-15 15:09:40 -07:00
Rafael Weinstein a470f2f89d Move call to reader.Close() to after the check for err 2015-07-15 14:37:16 -07:00
Aaron Boodman 4c521b6fa2 Rename _rungen.go to rungen.go everywhere because I'm an idiot 2015-07-15 13:55:17 -07:00
Aaron Boodman 2d5b7630aa Standardize on _rungen.go for the file to contain go:generate commands.
Fixes issue #33.
2015-07-14 16:13:26 -07:00
Rafael Weinstein 8f0a124d95 Move cached ref test to get_ref_test (EnsureRefTest) 2015-07-13 10:40:31 -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 daac3ef87f Incremental loading for sets.
Issue #11
2015-07-10 13:29:21 -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 82a87d548c Use go generate instead of custom thing for generating primitives 2015-07-10 10:39:31 -07:00
Aaron Boodman fd75f33c8c comment cleanup 2015-07-09 18:58:44 -07:00
Aaron Boodman c4537d82d6 futureEquals fast path 2015-07-09 18:38:32 -07:00
Aaron Boodman dffcf94c7d Fix typo in TODO 2015-07-09 18:13:18 -07:00
Aaron Boodman 6201833b38 Remove rest of types tests back into types package 2015-07-09 18:12:28 -07:00
Aaron Boodman 90d7042a3a fast path when comparing futures for primitives 2015-07-09 18:07:23 -07:00
Aaron Boodman 8b6c67cad2 Remove the Reffer/RefferImpl abstraction 2015-07-09 17:51:32 -07:00
Aaron Boodman 1640657030 Rename Future->future 2015-07-09 17:51:25 -07:00
Aaron Boodman ca43c9cfec Decode Lists lazily 2015-07-09 17:30:43 -07:00
Aaron Boodman d5b90dd43c Teach flatList about Futures. 2015-07-09 17:30:43 -07:00
Aaron Boodman 8662a36344 Add types.Future, which will be the basis for lazy loading. 2015-07-09 17:30:43 -07:00
Aaron Boodman 2aa809e167 Move enc/* into types/*. 2015-07-09 17:30:43 -07:00
Chris Masone cd9656cdb9 Add friendly message to Chk for Reffer != nil
Now you get told you're holding it wrong when you fail
to import the enc package and get the global definition for
Reffer.
2015-07-08 15:53:10 -07:00
Aaron Boodman b07889e24a rename flat_set_test.go to set_test.go for consistency with other files in this directory 2015-07-01 22:56:52 -07:00
Aaron Boodman e6f1f0147d Add test for Set::Any() 2015-07-01 22:56:29 -07:00
Aaron Boodman 8590bd4249 Finish first crack at generating strong Go types for noms data 2015-06-26 16:35:08 -07:00
Aaron Boodman 56c4d6d637 Add support for multiple apps. App IDs are present just arbitrary strings 2015-06-19 16:51:56 -07:00
Aaron Boodman 7412338434 Add user package an function to create an empty user set 2015-06-17 17:21:34 -07:00
Aaron Boodman 7cda3c280f Add Set::Union() and Set::Subtract() 2015-06-16 11:07:55 -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 ed62644cda Revert "Revert "Change Value::Equals() to compare by ref for big types""
This reverts commit 13efacc95d.

I had to move all the types test into their own package to avoid a circular dependency.
2015-06-12 17:35:44 -07:00
Aaron Boodman 13efacc95d Revert "Change Value::Equals() to compare by ref for big types"
This reverts commit e4924ea28d.
2015-06-12 16:54:32 -07:00
Aaron Boodman 81aac64ab4 Revert "Make new tests directory more self-explanatory"
This reverts commit 0d0965bf83.
2015-06-12 16:54:06 -07:00
Aaron Boodman 0d0965bf83 Make new tests directory more self-explanatory 2015-06-12 16:52:27 -07:00
Aaron Boodman e4924ea28d Change Value::Equals() to compare by ref for big types 2015-06-12 16:45:58 -07:00
Aaron Boodman 53003f23f2 Add Value::Ref() 2015-06-12 15:22:27 -07:00
Aaron Boodman 22eb927c4e Blob::Read()->Blob::Reader() 2015-06-12 08:45:29 -07:00
Aaron Boodman b6291f88e0 Add jsonDecode and top-level enc.ReadValue function 2015-06-10 13:35:06 -07:00
Aaron Boodman 4f8d555bf8 ByteLen()->Len() ... since String is now aggregated in Blob, don't need this weird naming. 2015-06-09 22:58:10 -07:00