Commit graph

168 commits

Author SHA1 Message Date
327b6aac49 Merge pull request #203 from kortschak/defensive
Make graph.Delta zero state invalid for use
2015-02-03 18:53:17 -05:00
kortschak
46f987ca51 Make graph.Delta zero state invalid for use
Previously, an incorrectly initialised Delta (omission of Action) would
result in an Add operation. Make that detectable and return an error.
2015-01-27 08:39:50 +10:30
Varadharajan Mukundan
98d5f3b8d7 In LevelDB's createKeyFor method we allocate size for 3 hashes but append 4 hashes. Eventhough append handles it intelligently, the code is misleading 2015-01-05 18:21:20 +05:30
9088fe376b Merge pull request #186 from panamafrancis/primarykeys
Implementation of the PrimaryKey type
2014-12-28 14:05:58 -08:00
kortschak
844e811f0f Fix leveldb change skew
Make leveldb match the changes in syndtr/leveldb API due to breakages at
syndtr/goleveldb@63c9e64.
2014-12-12 08:24:38 +10:30
panamafrancis
abda6cbbb0 Refactoring of Delta.IDs & horizon functionality with a PrimaryKey type, needed for implementing UUID based primary keys for backends such as the appengine datastore \n Tests: at top level and if available per backend, if not then just visual 2014-12-01 23:00:06 +01:00
kortschak
887c23e640 Ensure we don't examine empty token
Fixes issue #163.
2014-09-24 08:52:00 +09:30
kortschak
e2eea6c283 Convert Type fields to use graph.Type
Add text encoding methods to replace string storage.
2014-09-05 09:49:15 +09:30
kortschak
62013d3dfc Replace DebugString with Describe
This change makes tree description completely open to mechanical
analysis and ensures consistency between description formats for each of
the iterator types.

Renamed StatsContainer.(Kind -> Type) for consistency.
2014-09-05 09:32:09 +09:30
kortschak
bf6412b55d Run go vet
Bugs found.
2014-08-28 12:22:37 +09:30
kortschak
8118c8d3cc Quieten deadcode 2014-08-28 12:04:45 +09:30
kortschak
484bf145a8 Remove non-documentation lint
Because of extensive nature of changes, tested all three non-memstore
backends - passed.
2014-08-28 11:51:39 +09:30
kortschak
a22eb42482 Make hashOf a function 2014-08-27 23:25:50 +09:30
kortschak
dccf38cba6 Simplify godoc 2014-08-27 21:40:56 +09:30
kortschak
5e9da0347c Simplify method name 2014-08-27 21:40:36 +09:30
kortschak
443a091b72 Rename triple entities were relevant 2014-08-27 21:27:01 +09:30
kortschak
12859a69a5 Rename triple* -> quad* files 2014-08-27 19:20:35 +09:30
kortschak
ca90da43f4 Generate cznic/b code as described in Makefile 2014-08-24 11:45:00 +09:30
kortschak
59ce5e5a58 Add generate help for memstore/b generation 2014-08-24 11:44:35 +09:30
d0fcdf4299 Documentation and tests 2014-08-23 18:05:04 -04:00
e2debf5f04 Merge branch 'master' into boltdb 2014-08-23 17:23:16 -04:00
e11dfeb50f Optionalize the sync parameter 2014-08-23 17:19:14 -04:00
6d82c78b45 Cleanup based on comments 2014-08-22 16:31:50 -04:00
cce0f88803 Merge pull request #135 from kortschak/mongo
Quieten go vet in mongo
2014-08-21 13:27:27 -04:00
kortschak
93c9814147 Quieten go vet in mongo 2014-08-21 19:33:00 +09:30
kortschak
08e47b4a9e Do tagger copying with less iteration
This makes minimal difference to the benchmarks in cayley_test.go (a
variable ±5% on the bigger cases).
2014-08-21 15:34:50 +09:30
255746ea12 Merge branch 'master' into boltdb 2014-08-20 13:35:05 -04:00
f4f0af4f53 improve cost of bolt iterator 2014-08-16 07:16:50 -04:00
a371155cd2 Fix linksto and zero-costs 2014-08-16 06:30:27 -04:00
e453385d5e explain logging and weight fixing 2014-08-16 05:19:16 -04:00
3b0110b226 concrete deltas 2014-08-16 03:50:45 -04:00
d74cd3e93e Merge branch 'master' into boltdb 2014-08-16 03:32:46 -04:00
3b83845584 Merge pull request #1 from kortschak/b
Use cznic/b B+tree implementation in place of GoLLRB for memstore
2014-08-14 21:39:42 -04:00
8720e17d87 Merge hash pool in from master
Conflicts:
	graph/leveldb/triplestore.go
	graph/mongo/triplestore.go
2014-08-14 21:03:36 -04:00
de882b9f93 port hasher pool to leveldb 2014-08-14 20:47:55 -04:00
kortschak
c618e556f4 Merge branch 'log_database' into b
Comparison of b against GoLLRB (as at d5f020).

$ benchcmp gollrb.bench b-gen.bench
benchmark                                   old ns/op       new ns/op	delta
BenchmarkNamePredicate                      1631932         1409531	-13.63%
BenchmarkLargeSetsNoIntersection            190792654       63748682	-66.59%
BenchmarkVeryLargeSetsSmallIntersection     896154437       373475843	-58.32%
BenchmarkHelplessContainsChecker            20719182678     14078301640	-32.05%
BenchmarkNetAndSpeed                        32519019        20188665	-37.92%
BenchmarkKeanuAndNet                        18319247        15224988	-16.89%
BenchmarkKeanuAndSpeed                      30849568        18744134	-39.24%
BenchmarkKeanuOther                         105552525       107620648	+1.96%
BenchmarkKeanuBullockOther                  295395338       115193002	-61.00%

benchmark                                   old allocs     new allocs	delta
BenchmarkNamePredicate                      1339           1341	+0.15%
BenchmarkLargeSetsNoIntersection            22585          23632	+4.64%
BenchmarkVeryLargeSetsSmallIntersection     65776          69396	+5.50%
BenchmarkHelplessContainsChecker            1713541        2036316	+18.84%
BenchmarkNetAndSpeed                        17104          17240	+0.80%
BenchmarkKeanuAndNet                        15816          15855	+0.25%
BenchmarkKeanuAndSpeed                      16368          16493	+0.76%
BenchmarkKeanuOther                         30134          30634	+1.66%
BenchmarkKeanuBullockOther                  35510          36454	+2.66%

benchmark                                   old bytes     new bytes	delta
BenchmarkNamePredicate                      96162         96294	+0.14%
BenchmarkLargeSetsNoIntersection            1172356       1249872	+6.61%
BenchmarkVeryLargeSetsSmallIntersection     2810080       2992409	+6.49%
BenchmarkHelplessContainsChecker            89233264      104999088	+17.67%
BenchmarkNetAndSpeed                        1388793       1428110	+2.83%
BenchmarkKeanuAndNet                        1263145       1250079	-1.03%
BenchmarkKeanuAndSpeed                      1246956       1281546	+2.77%
BenchmarkKeanuOther                         2021312       2024727	+0.17%
BenchmarkKeanuBullockOther                  2671448       2742968	+2.68%

Conflicts:
	graph/memstore/triplestore.go
2014-08-15 10:17:52 +09:30
kortschak
737037a894 Experiment with sync.Pool 2014-08-14 19:03:55 +09:30
d2026ea271 fix mongo indexing name mismatch 2014-08-14 01:57:03 -04:00
f967b36f84 comments and concretized deltas 2014-08-14 01:24:39 -04:00
c94cd2a53a store less duplicate data in the indices 2014-08-14 00:37:20 -04:00
69e4f087f8 Merge branch 'log_database' into boltdb 2014-08-13 23:04:24 -04:00
fe0569c9d4 merge with master 2014-08-13 23:03:07 -04:00
c1550e347f 117 patched in 2014-08-13 21:28:45 -04:00
736e6fccf2 Merge branch 'master' into bolt_json 2014-08-13 17:14:52 -04:00
fc1648340d slight improvement by appending deltas first 2014-08-13 17:14:39 -04:00
6b02f1a997 port 117 fix to bolt 2014-08-13 17:14:31 -04:00
cfca7db47c Go style
My C++ programmer's disease was acting up.
2014-08-13 14:54:36 -04:00
03798bc4fa fix mongo hasher 2014-08-13 13:29:08 -04:00
104e7d110d fix leveldb (and speed up hasa) 2014-08-13 13:08:50 -04:00
kortschak
4a92ae9758 Merge branch 'log_database' into b
Conflicts:
	graph/memstore/iterator.go
	graph/memstore/triplestore.go
2014-08-13 17:15:11 +09:30