G2 code generation used after benchmarking.
style benchmark old ns/op new ns/op delta
T0 BenchmarkParser 672 5631 +737.95%
T1 BenchmarkParser 672 5579 +730.21%
G0 BenchmarkParser 672 4049 +502.53%
G1 BenchmarkParser 672 3868 +475.60%
G2 BenchmarkParser 672 3543 +427.23%
F0 and F1 create massive Go source (6.0M) and so were not tested.
Invalid tests removed, additional tests for invalid input to be added
later.
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.