-
Notifications
You must be signed in to change notification settings - Fork 0
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
Review benchmarks #3
Comments
Here are some other functions to benchmark, using DataFramesMeta.jl, which will compile to the same as DataFrames.jl but has nicer syntax (more in line with tidyverse)
|
Thanks! I'll review and will fix. As I said on Twitter, this package shouldn't be taken too seriously because it's more of a learning project for me. That said, appreciate the advice on wrapping inside a function for benchmarking purposes. Is the first run of the function any faster with wrapping in a function? Or only subsequent runs bc of precompilation? Have read the Julia docs on optimization so I would think first run is still same speed. I like both the DataFramesMeta and DataFrameMacros syntax. I wish there were a way to try to run a devectorized version of code first and then vectorize when required. While most times I want @rtransform, if I'm standardizing a variable, as in x - mean(x), then I need to remember to use @Transform. That's more of a Julia style thing (borrowed from Matlab) than anything specific to do with DataFrames.jl. Loving playing with Julia. Thanks again. |
Julia has no way to detect if a transformation should be done col-wise or row-wise, unfortunately. You can't |
Let me add one more comment. This is the way to write this transformation with pure DataFrames.jl that is compiler-friendly (which was the major time cost with the example in README.md):
|
Thank you so much! This is helpful for my learning, and it's very kind of you to take the time to share! |
Also as is commented on Slack using |
Following a conversation on Julia's Slack (https://julialang.slack.com/archives/C674VR0HH/p1674245762657489), it was raised that there might be caveats on how the benchmark against DataFrames.jl was conduct.
By wrapping operations into functions, it can be seen that DataFrames.jl is actually significantly outperforming tidytable.
The text was updated successfully, but these errors were encountered: