Commit graph

26 commits

Author SHA1 Message Date
f967b36f84 comments and concretized deltas 2014-08-14 01:24:39 -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
b74cb142f0 Key/Keyer 2014-08-06 16:59:46 -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
2bec255b52 Copy refs and comment on Value 2014-08-06 14:37:37 -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
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
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
e13e65d09b single writer 2014-07-27 15:39:45 -04:00
7a8d4194bd wip 2014-07-27 15:26:57 -04:00
929b4f539b update the triplestore interface and local replication 2014-07-24 16:59:38 -04:00
kortschak
0e0e382d2b Use error returns and interface type for parsing
Fixes issue #72

This change simplifies interactions with parsing N-Quads and makes
reading datasets more robust. Changes made while here also improve
performance:

benchmark           old ns/op     new ns/op     delta
BenchmarkParser     1058          667           -36.96%

We still use string concatenation which I'm not wildly happy about, but
I think this can be left for a later change.

Initial changes towards idiomatic error handling have been made. More
significant changes are needed, but these have subtle design implication
and need to be thought about more.

30kmoviesdata.nt.gz has been altered to properly escape double quotes.
This was done mechanically and with manual curation to pick up
straglers.
2014-07-22 20:34:37 +09:30
Jeremy Jay
923679b36c comment tweaks 2014-07-18 14:54:29 -04:00
Jeremy Jay
5731ca7b42 6 of one, half-dozen of the other 2014-07-18 14:19:02 -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
Alex Peters
4d34ea50cc Fix typos and minor cleanup 2014-07-10 13:19:30 +02:00
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
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
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