Commit graph

160 commits

Author SHA1 Message Date
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
kortschak
d98ca99974 Merge branch 'master' into b
$ benchcmp gollrb.bench b-gen.bench
benchmark                                   old ns/op       new ns/op	delta
BenchmarkNamePredicate                      1369329         1444990	+5.53%
BenchmarkLargeSetsNoIntersection            72329029        64975716	-10.17%
BenchmarkVeryLargeSetsSmallIntersection     890824761       408784476	-54.11%
BenchmarkHelplessContainsChecker            35314797618     30673240485	-13.14%
BenchmarkNetAndSpeed                        19694146        19486797	-1.05%
BenchmarkKeanuAndNet                        15340756        15317415	-0.15%
BenchmarkKeanuAndSpeed                      17902709        18042030	+0.78%
BenchmarkKeanuOther                         53452058        50984817	-4.62%
BenchmarkKeanuBullockOther                  90827780        86536510	-4.72%

benchmark                                   old allocs     new allocs	delta
BenchmarkNamePredicate                      1339           1339		+0.00%
BenchmarkLargeSetsNoIntersection            22603          22674	+0.31%
BenchmarkVeryLargeSetsSmallIntersection     65787          65860	+0.11%
BenchmarkHelplessContainsChecker            1713541        1713669	+0.01%
BenchmarkNetAndSpeed                        17135          17146	+0.06%
BenchmarkKeanuAndNet                        15802          15802	+0.00%
BenchmarkKeanuAndSpeed                      16397          16396	-0.01%
BenchmarkKeanuOther                         30148          30149	+0.00%
BenchmarkKeanuBullockOther                  35542          35544	+0.01%

benchmark                                   old bytes     new bytes	delta
BenchmarkNamePredicate                      96226         95842		-0.40%
BenchmarkLargeSetsNoIntersection            1165914       119725	+2.69%
BenchmarkVeryLargeSetsSmallIntersection     2760072       2777798	+0.64%
BenchmarkHelplessContainsChecker            84388448      84351168	-0.04%
BenchmarkNetAndSpeed                        1414837       1425752	+0.77%
BenchmarkKeanuAndNet                        1247249       1247453	+0.02%
BenchmarkKeanuAndSpeed                      1275522       1275243	-0.02%
BenchmarkKeanuOther                         2021107       2021497	+0.02%
BenchmarkKeanuBullockOther                  2682243       2683250	+0.04%
2014-08-13 16:01:32 +09:30
b6d966e9b5 fix and iterator, add some logging, and reenable 2014-08-12 16:38:10 -04:00
5d3a4a4a8f fix all iterator 2014-08-11 21:25:32 -04:00
kortschak
99d44e3228 Add test and make it pass 2014-08-12 10:20:26 +09:30
1099969591 save horizon with transactions 2014-08-11 17:14:51 -04:00
kortschak
2540ea8f87 Use cznic/b for index store
$ benchcmp gollrb.bench b-gen.bench
benchmark                                   old ns/op       new ns/op	delta
BenchmarkNamePredicate                      1731218         1693373		-2.19%
BenchmarkLargeSetsNoIntersection            81290360        70205277	-13.64%
BenchmarkVeryLargeSetsSmallIntersection     768135620       442906243	-42.34%
BenchmarkHelplessContainsChecker            39477086024     35260603748	-10.68%
BenchmarkNetAndSpeed                        22510637        21587975	-4.10%
BenchmarkKeanuAndNet                        18018886        17795328	-1.24%
BenchmarkKeanuAndSpeed                      20336586        20560228	+1.10%
BenchmarkKeanuOther                         85495040        80718152	-5.59%
BenchmarkKeanuBullockOther                  95457792        83868434	-12.14%

Code gen from $GOPATH/src/github.com/cznic/b:

  make generic \
| sed -e 's/KEY/int64/g' -e 's/VALUE/struct{}/g' \
> $GOPATH/src/github.com/google/cayley/graph/memstore/b/keys.go

key_test.go manually edited.
2014-08-11 20:45:55 +09:30
82e4d122fc bolt db works 2014-08-11 05:31:34 -04:00
d261e5d870 wip 2014-08-11 02:54:14 -04:00