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
f967b36f84
comments and concretized deltas
2014-08-14 01:24:39 -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
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
a1e5a53dd5
Merge with new Next() interface
2014-08-10 17:59:09 -04:00
kortschak
2d4c07b56d
Make db name-literal agnostic
...
Move the persistence characteristic of the store into the graph registry
and provide an API hook to get that information.
Add error return for init on a non-persistent store.
Updates #35 .
2014-08-08 08:36:49 +09:30
kortschak
62785d25c2
Merge branch 'master' into nexter
...
Conflicts:
graph/leveldb/all_iterator.go
graph/leveldb/iterator.go
graph/memstore/triplestore.go
query/gremlin/finals.go
2014-08-07 06:57:45 +09:30
c64acabee0
merge to master
2014-08-06 16:21:57 -04:00
kortschak
2c6f0f7345
Clean up residual changes
...
Remove done TODOs and unnecessary helpers.
2014-08-05 23:27:13 +09:30
kortschak
6acfdcc5d6
Use concrete value for quad.Quad
...
Comparison of -short benchmarks in cayley.
$ benchcmp pointer.bench concrete.bench
benchmark old ns/op new ns/op delta
BenchmarkNamePredicate 1673276 1655093 -1.09%
BenchmarkLargeSetsNoIntersection 318985907 261499984 -18.02%
BenchmarkNetAndSpeed 104403743 41516981 -60.23%
BenchmarkKeanuAndNet 17309258 16857513 -2.61%
BenchmarkKeanuAndSpeed 20159161 19282833 -4.35%
Comparison of pathological cases are not so happy.
benchmark old ns/op new ns/op delta
BenchmarkVeryLargeSetsSmallIntersection 55269775527 246084606672 +345.24%
BenchmarkHelplessContainsChecker 23436501319 24308906949 +3.72%
Profiling the worst case:
Pointer:
Total: 6121 samples
1973 32.2% 32.2% 1973 32.2% runtime.findfunc
773 12.6% 44.9% 773 12.6% readvarint
510 8.3% 53.2% 511 8.3% step
409 6.7% 59.9% 410 6.7% runtime.gentraceback
390 6.4% 66.2% 391 6.4% pcvalue
215 3.5% 69.8% 215 3.5% runtime.funcdata
181 3.0% 72.7% 181 3.0% checkframecopy
118 1.9% 74.6% 119 1.9% runtime.funcspdelta
96 1.6% 76.2% 96 1.6% runtime.topofstack
76 1.2% 77.5% 76 1.2% scanblock
Concrete:
Total: 25027 samples
9437 37.7% 37.7% 9437 37.7% runtime.findfunc
3853 15.4% 53.1% 3853 15.4% readvarint
2366 9.5% 62.6% 2366 9.5% step
2186 8.7% 71.3% 2186 8.7% runtime.gentraceback
1816 7.3% 78.5% 1816 7.3% pcvalue
1016 4.1% 82.6% 1016 4.1% runtime.funcdata
859 3.4% 86.0% 859 3.4% checkframecopy
506 2.0% 88.1% 506 2.0% runtime.funcspdelta
410 1.6% 89.7% 410 1.6% runtime.topofstack
303 1.2% 90.9% 303 1.2% runtime.newstack
2014-08-05 23:25:02 +09:30
dcb495d145
Make Memstore work with the QuadWriter
2014-08-04 01:56:49 -04:00
kortschak
b1a70d99aa
Simplify Nexter interface
...
This change allows a Nexter to be used in the same manner as a scanner
using a for graph.Next(it) {} construction.
It is important that graph.Next(it) and any associated it.Result() calls
operate on the same iterator.
2014-08-01 09:15:02 +09:30
kortschak
b17334ea36
Remove terminal newline from quad.Quad stringer
...
This is the conventional implementation of a fmt.Stringer.
Also went through and fixed up some lint.
2014-07-31 11:43:20 +09:30
kortschak
274d9ef57e
Rename Provenance -> Label
...
's/Provenance/Label/g' 's/provenance/label/g' with human vetting.
2014-07-29 08:44:39 +09:30
kortschak
401c58426f
Create quads hierarchy
...
* Move nquads into quad.
* Create cquads simplified parser in quad.
* Move Triple (renamed Quad) to quad.
Also made sure mongo actually implements BulkLoader.
2014-07-28 21:36:22 +09:30
Jeremy Jay
f9c60a5f30
update names per discussion at google/cayley#38
2014-07-18 11:17:57 -04:00
Jeremy Jay
d808d9347c
move to registry interface for backends
2014-07-16 16:49:55 -04:00
kortschak
d87e227ff3
Rename TSVal
2014-07-02 12:13:15 +09:30
kortschak
b89d4f392c
Reduce TripleStore interface names
2014-07-02 11:40:33 +09:30
kortschak
1768e593a8
Move iterators into separate package
...
Also reduce API exposure and use standard library more - and fix bugs I
previously introduces in mongo.
2014-07-01 09:21:32 +09:30
kortschak
0a03cec497
Replace string type with graph.Direction
...
This conversion is not complete as there are still uses of string
directions via the Direction.String method in leveldb.
2014-06-30 12:41:03 +09:30
kortschak
40f3363cde
Destutter graph/...
2014-06-28 13:29:16 +09:30
kortschak
47c9752e5e
Destutter filenames
2014-06-28 12:31:33 +09:30