-
-
Notifications
You must be signed in to change notification settings - Fork 58
feat: Adding series mapElements #417
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
base: main
Are you sure you want to change the base?
Conversation
universalmind303
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
so this 100% needs to be done on the rust side of things via threadsafe-function. napi-v2 threadsafe functions don't really work the way we need to, so i think we'd need to upgrade to napi v3 first.
the current implementation in this PR is going to be painfully slow for any non toy examples
We are already using Napi v3.5 I have tested this simple example on 1M rows and it takes 0.5 sec on my laptop using the current JS implementation. Would you consider that slow? |
|
Rust implementation of |
so primitive types will generally be much faster as they are backed by zero copy data types on the js side. complex and nested types however are not. I'd also want to see what the perf is when running on node.js. Bun has a highly optimized napi implementation that's way faster than node.js. I'd suspect node.js to be magnitudes slower. For a rust based |
The same test example using NodeJs 25, runs in 0.4 sec. |
This Rust implementation is actual slower vs JS by 20-40 ms on 1M int32 element series. When using more complex series with 1M rows: Rust implementation is slower by 200 ms, Rust: 2,210 ms vs JS: 2,007 ms |
Adding series mapElements to close #46
This feature will allow for DF column map thru series, for example: