kortschak
4c3f5109eb
Separate db.Open and db.Load
...
Updates #82 .
2014-08-08 09:52:35 +09:30
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
7cd740aa7b
Merge pull request #93 from kortschak/nexter
...
Simplify the Nexter interface
2014-08-06 23:48:46 -04:00
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
b52f9726ea
update readme
2014-08-06 17:18:12 -04:00
b74cb142f0
Key/Keyer
2014-08-06 16:59:46 -04:00
408103b406
Merge branch 'materializer_iterator'
2014-08-06 15:59:24 -04:00
2b43185117
rename Hashable/Hasher
2014-08-06 15:58:37 -04:00
272829f3e9
Merge pull request #103 from barakmich/materializer_iterator
...
Fix Materializer iterator
2014-08-06 15:52:36 -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
7e7371c3c8
Merge pull request #101 from barakmich/materializer_iterator
...
Add Materialize Iterator
2014-08-06 14:44:22 -04:00
2bec255b52
Copy refs and comment on Value
2014-08-06 14:37:37 -04:00
cedaa9cdfa
Merge branch 'master' into materializer_iterator
2014-08-06 14:31:10 -04:00
9fceb9d4b0
Merge pull request #100 from barakmich/fix_integration
...
Fix the integration test from crashing
2014-08-06 14:18:36 -04:00
11891f02a9
remove lead-in parsing test
2014-08-06 05:19:46 -04:00
8a08b59cc2
Merge branch 'fix_integration' into materializer_iterator
2014-08-06 05:06:10 -04:00
0c3e0381f3
Fix the integration test from crashing
...
Sessions are expected to only have one running query (perhaps this is a
bug). So we need to make a new session for each of the benchmark runs,
timing only the running part.
2014-08-06 05:03:20 -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
f441fc4bbf
Merge pull request #99 from kortschak/concrete
...
Use concrete value for quad.Quad use
2014-08-06 01:38:00 -04:00
a43531b4ce
Merge pull request #98 from iaincollins/master
...
Fixed typo in quick setup command
2014-08-05 16:05:08 -04:00
Iain Collins
6d676094ee
Fixed typo in quick setup command
2014-08-05 17:08:09 +01: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
kortschak
1ae81e6d00
Fix typos missed
2014-08-05 22:37:08 +09:30
9944f0b574
Merge pull request #96 from kortschak/gremlin
...
Gremlin related changes
2014-08-04 00:36:10 -04:00
kortschak
6513685520
Fix lock contention
2014-08-04 12:32:43 +09:30
kortschak
ffb52af00b
Rename GremlinTimeout -> Timeout
...
Given that there may be other Turing complete query interfaces
(particularly a Go query API), the timeout config should not be
specifically tied to gremlin.
2014-08-02 23:28:24 +09:30
kortschak
0fedecd392
Use time.Duration according to the time docs
...
Having a time.Duration measuring seconds is likely to cause problems at
a later stage. This change retains configuration compatibility while
adding idiomatic duration use.
2014-08-02 23:16:17 +09:30
kortschak
2d884f92e9
Name reduction
2014-08-02 22:58:53 +09:30
kortschak
bf3ac2be9e
Destutter gremlin.GremlinResult
2014-08-02 22:58:33 +09:30
kortschak
15a45ef0d4
Clean up style
2014-08-02 22:45:19 +09:30
kortschak
8ccf842518
Improve error handling
...
Export the timeout kill error and use error instead of string in result
struct.
2014-08-02 22:14:24 +09:30
kortschak
fe9ca5ffcc
Fix data race in gremlin timeout handling
...
Fixes issue #95 .
2014-08-02 22:01: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
d54cd6a3d3
Merge pull request #90 from kortschak/stringer
...
Remove terminal newline from quad.Quad stringer
2014-07-31 16:38:57 -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
a81005ba21
Merge pull request #88 from kortschak/benchmarks
...
Add basic integration benchmarks
2014-07-30 20:17:50 -04:00
kortschak
d48d133cf1
Only run short tests on travis
...
Long tests are potentially very long, and may timeout internally. So
don't run them.
2014-07-31 09:42:56 +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
38f7b79761
Allow short tests
2014-07-31 08:45:45 +09:30