e849da9402
graph: make quadstore init functions idempotent
2015-11-25 15:06:47 -05:00
102b3d7ef5
fix NewAnd taking quadstore in tests
2015-04-19 15:18:11 -04:00
cf3e286d15
Rewrite keys into concrete types, remove key package
2015-02-21 16:19:51 -05:00
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
bf6412b55d
Run go vet
...
Bugs found.
2014-08-28 12:22:37 +09:30
kortschak
443a091b72
Rename triple entities were relevant
2014-08-27 21:27:01 +09:30
3770190db5
test clean
2014-08-10 20:10:00 -04:00
a1e5a53dd5
Merge with new Next() interface
2014-08-10 17:59:09 -04:00
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
d4e5eead32
convert leveldb to log-structure
2014-08-05 14:17:38 -04:00
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
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
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
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
Jeremy Jay
a6dc5c9532
fix tests for new method names
2014-07-18 14:09:57 -04:00
kortschak
e39063e3ec
Rename some methods and funcs since we are here
...
Very probably some of these can be made private.
2014-07-07 12:23:32 +09:30
kortschak
1c181429da
Purge goconvey and mock
...
These packages really impact on test readability with crazy action at a
distance. In addition to this removal of goconvey reduced the test run
time for leveldb on average by about 40-50%.
2014-07-05 22:00:46 +09:30
kortschak
cd46452b63
Enumerate iterator types
2014-07-03 09:57:31 +09:30
kortschak
447a835b93
Rename AddValue
2014-07-02 12:17:33 +09:30
kortschak
d87e227ff3
Rename TSVal
2014-07-02 12:13:15 +09:30
kortschak
a1453da84e
Don't indirect map values
...
We already have reference behaviour, so this is not necessary.
This change highlighted fairly baroque architecture in mql that deserves
some attention; the use of channels is somewhat confusing.
Also rename LastResult to Result.
2014-07-02 12:08:49 +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
5c92e925fe
Re-add leveldb and fix over-exhuberant .gitignore
2014-06-26 09:49:20 +09:30