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
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
kortschak
99d44e3228
Add test and make it pass
2014-08-12 10:20:26 +09:30
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
kortschak
09943c3eb6
Move sexp into query
2014-07-31 09:36:43 +09:30
kortschak
a6cf432313
Move query interface definitions into query
2014-07-31 08:52:24 +09:30
kortschak
1a0dd13735
Merge branch 'master' into benchmarks
2014-07-31 08:35:34 +09:30
kortschak
c4e4abbffc
Add result validation
2014-07-31 08:33:18 +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