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
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
93c9814147
Quieten go vet in mongo
2014-08-21 19:33:00 +09:30
8720e17d87
Merge hash pool in from master
...
Conflicts:
graph/leveldb/triplestore.go
graph/mongo/triplestore.go
2014-08-14 21:03:36 -04:00
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
fe0569c9d4
merge with master
2014-08-13 23:03:07 -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
48711af1d9
Mongo log works (and bug fixed)
2014-08-10 21:05:39 -04:00
6d22037602
add iterator check for mongo
2014-08-10 19:41:22 -04:00
ff148f58f8
first swing at mongo indexing (iterator todo)
2014-08-10 19:35:26 -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
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
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
f8e28e066e
Rename NextResult -> NextPath
...
See discussion in #92 .
2014-08-01 07:27:16 +09:30
cb177aa390
Merge pull request #92 from kortschak/names
...
Rename Check-ish -> Contains-ish
2014-07-31 16:58:53 -04:00
kortschak
1606e98d9f
Rename Check-ish -> Contains-ish
...
Contains[*] indicates what the check is for.
[*] I considered Has/Have, but settled on Contains to avoid confusion
with the HasA iterator.
2014-07-31 15:29:42 +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
2dbbd17fe1
Merge branch 'declassify' into tip
...
Conflicts:
graph/iterator/hasa_iterator.go
graph/iterator/linksto_iterator.go
graph/iterator/query_shape_test.go
graph/leveldb/all_iterator.go
graph/leveldb/iterator.go
graph/leveldb/leveldb_test.go
graph/memstore/triplestore_test.go
graph/mongo/iterator.go
2014-07-30 16:40:37 +09:30
kortschak
d6f94be514
Base nexting on interface satisfaction
...
This is done unsubtlely at the moment and there is plenty of room for
optimisation of assertion location to prevent repeated reasserting as is
done now.
2014-07-30 16:06:46 +09:30
kortschak
b498a06a7b
Intermediate step in removal of Base
...
We are marking types that will be Nexters and ResultNexters (I want a
better name for this one).
2014-07-30 15:21:48 +09:30
kortschak
375d953d93
Move current result handling out of Base
...
Delete majority of Base functionality.
2014-07-30 15:03:06 +09:30
kortschak
525230206a
Move SubIterator handling out of Base
2014-07-30 12:11:14 +09:30
kortschak
01b7278c3a
Move UID handling from Base
...
Also clean up some of the value creation code.
2014-07-30 11:44:58 +09:30
kortschak
1604dca737
Move tag handling out into graph.Tagger
2014-07-30 10:25:32 +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
95a31c179b
Switch to the latest mgo path.
...
This is not only the right thing to do, as per the documentation of the
latest release (yesterday) but it should now be backed by git and not
bzr, which is a big plus and won't break our build so much.
2014-07-22 15:22:29 -04:00
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
Jeremy Jay
e780c1ceb9
Register should be RegisterIterator
2014-07-16 13:49:39 -04:00
kortschak
cd46452b63
Enumerate iterator types
2014-07-03 09:57:31 +09:30
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
8576f66d20
Reduce graph.Iterator method names
2014-07-02 11:02:09 +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
bed8d3813a
Remove uses of container/list
2014-06-29 14:38:28 +09:30
kortschak
3831aad364
Canonicalise mongo receiver names
...
Remove redundant Mongo infixes that were miseed previously.
2014-06-28 21:51:32 +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
kortschak
0c9de61413
Use Go-conventional filenaming
2014-06-26 09:10:57 +09:30
kortschak
e0df752618
Reorganize to go get will work
...
This makes almost no changes to source, but touches every almost file.
Also fixes error in gremlin test code.
2014-06-26 09:04:17 +09:30