Skip to content

Conversation

@jf-tech
Copy link
Owner

@jf-tech jf-tech commented Oct 9, 2020

As a result, adding Release(*idr.Node) to FormatReader so that Ingester will free up *idr.Node allocations for recycling

Updated all benchmarks.

No degradation so far. The reason the json sample bench mark didn't improve much is because there isn't much nodes allocated per read. However typically in the CSV parsing/transform scenarios, files are usually very long and node allocation caching saving would start to show significantly.

resolves #83

jf-tech added 3 commits October 9, 2020 18:10
The key diff/improvement is now we add xpath to the csv reader so that we can perform both
positive row selection as well as negative row skipping. Much more powerful than the old
row skipping thingy.

Next PR will bring the FileFormat implementation in, which will complete the csv fileformat.
As a result, adding `Release(*idr.Node)` to `FormatReader` so that `Ingester` will free up `*idr.Node` allocations for recycling

Updated all benchmarks.

No degradation so far. The reason the json sample bench mark didn't improve much is because there isn't
much nodes allocated per read. However typically in the CSV parsing/transform scenarios, files are usually
very long and node allocation caching saving would start to show significantly.
@codecov
Copy link

codecov bot commented Oct 9, 2020

Codecov Report

Merging #84 into master will decrease coverage by 0.37%.
The diff coverage is 88.46%.

Impacted file tree graph

@@             Coverage Diff             @@
##            master      #84      +/-   ##
===========================================
- Coverage   100.00%   99.62%   -0.38%     
===========================================
  Files           35       35              
  Lines         1552     1587      +35     
===========================================
+ Hits          1552     1581      +29     
- Misses           0        6       +6     
Impacted Files Coverage Δ
idr/jsonreader.go 97.39% <40.00%> (-2.61%) ⬇️
idr/xmlreader.go 96.51% <40.00%> (-3.49%) ⬇️
customfuncs/javascript.go 100.00% <100.00%> (ø)
handlers/omni/v2/fileformat/csv/reader.go 100.00% <100.00%> (ø)
handlers/omni/v2/fileformat/json/reader.go 100.00% <100.00%> (ø)
handlers/omni/v2/fileformat/xml/reader.go 100.00% <100.00%> (ø)
handlers/omni/v2/ingester.go 100.00% <100.00%> (ø)
handlers/omni/v2/transform/parse.go 100.00% <100.00%> (ø)
idr/node.go 100.00% <100.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update d44a0be...7feffd4. Read the comment docs.

@jf-tech
Copy link
Owner Author

jf-tech commented Oct 9, 2020

somehow the last commit

commit 601656371a3abd8e8810c56d1ca64fbde284439e (HEAD -> nodecache, origin/nodecache)
Author: jf-tech <jf.tech.llc@gmail.com>
Date:   Sat Oct 10 10:38:09 2020 +1300

    fix cov

refuses to show up.

seems github sync issue. will close and recreate the PR.

@jf-tech jf-tech closed this Oct 9, 2020
@jf-tech jf-tech deleted the nodecache branch October 9, 2020 22:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add idr.Node pool and recycling to save repeated allocation

1 participant