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
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
82e4d122fc
bolt db works
2014-08-11 05:31:34 -04:00
d261e5d870
wip
2014-08-11 02:54:14 -04:00
664b37b9a6
Merge branch 'master' into log_database
2014-08-10 21:50:36 -04:00
aad21b0585
Fix aborted materialization
2014-08-10 21:49:57 -04:00
48711af1d9
Mongo log works (and bug fixed)
2014-08-10 21:05:39 -04:00
3770190db5
test clean
2014-08-10 20:10:00 -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
8821c1968d
add config options and graph.Handle
2014-08-10 18:17:38 -04:00
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
191244c40e
Sync iteration calls to Nexter interface changes
2014-08-07 07:07:45 +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
b74cb142f0
Key/Keyer
2014-08-06 16:59:46 -04:00
6d4738cf0c
convert to using real quads
2014-08-06 16:24:31 -04:00
c64acabee0
merge to master
2014-08-06 16:21:57 -04:00
2b43185117
rename Hashable/Hasher
2014-08-06 15:58:37 -04:00
4d9dd42dd8
comment
2014-08-06 15:51:56 -04:00
840c341274
Fix ID Lookup
2014-08-06 15:39:55 -04:00
6f1e46c2d8
Fix hashability for graph.Value
2014-08-06 15:34:30 -04:00
2bec255b52
Copy refs and comment on Value
2014-08-06 14:37:37 -04:00
76efc2fcb7
redo data structure for sensibility
2014-08-06 04:07:30 -04:00
d102394836
bounds errors
2014-08-06 03:49:55 -04:00
24f57df859
fix overshoot and optimize better
2014-08-06 03:49:55 -04:00
09244ddd38
materialize implementation and and optimization
2014-08-06 03:49:55 -04:00
c3bd1644a1
speedup and cleanup
2014-08-05 16:28:47 -04:00
d4e5eead32
convert leveldb to log-structure
2014-08-05 14:17:38 -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
81b3bf9881
rename to quads
2014-08-04 00:45:32 -04:00
cedaac35d0
update to master
2014-08-04 00:39:19 -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
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