Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Introduce idr.Node caching and recycling #84

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
jf-tech wants to merge 5 commits into master from nodecache
Closed

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.
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.

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 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

Reviewers

@wangjia007bond wangjia007bond Awaiting requested review from wangjia007bond

@liangxibing liangxibing Awaiting requested review from liangxibing

Assignees

No one assigned

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Add idr.Node pool and recycling to save repeated allocation

1 participant

AltStyle によって変換されたページ (->オリジナル) /