poly-match
RCall.jl
poly-match | RCall.jl | |
---|---|---|
6 | 8 | |
31 | 311 | |
- | 0.6% | |
2.3 | 6.1 | |
28 days ago | 4 days ago | |
Python | Julia | |
Apache License 2.0 | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
poly-match
-
Improving Interoperability Between Rust and C++
Not my experience at all. At work we rewrote a small bit of hotspot python in Rust with no issues. This was what we primarily followed: https://ohadravid.github.io/posts/2023-03-rusty-python/
-
How to convince my boss that Rust is usable
Take at look at this example, it still uses Python as an interface to Rust code. Maybe you can do something similar to still achieve performance improvements without changing the entire codebase.
-
GDScript is fine
People are probably downvoting because it's needlessly hyperbolic and argumentative. Nobody is saying that python isn't faster to iterate with, but they're arguing that it would take months to get negligable performance gains in a lower level language, meanwhile here is a recent post from a company that increased the execution of they're python code by 100x with less than 100 lines of Rust. They also claim that nobody cares if something runs a few milliseconds faster, when we're talking about game dev, where games are frequently judged on how many milliseconds it takes to run game logic between frames.
-
Making Python 100x faster with less than 100 lines of Rust
Semi Vectorized code:
https://github.com/ohadravid/poly-match/blob/main/poly_match...
Expecting Python engineers unable to read defacto standard numpy code but meanwhile expect everyone can read Rust.....
Not to mention that the semi-vectorized code is still suboptimal. Too many for loops despite the author clearly know they can all be vectorized.
For example instead the author can just write something like:
np.argmin(
-
Blog Post: Making Python 100x faster with less than 100 lines of Rust
The article links to a full implementation, so you should be able to test this.
RCall.jl
-
Makie, a modern and fast plotting library for Julia
I don't use it personally, but RCall.jl[1] is the main R interop package in Julia. You could call libraries that have no equivalent in Julia using that and write your own analyses in Julia instead.
[1] https://github.com/JuliaInterop/RCall.jl
-
Making Python 100x faster with less than 100 lines of Rust
You can have your cake and eat it with the likes of
* PythonCall.jl - https://github.com/cjdoris/PythonCall.jl
* NodeCall.jl - https://github.com/sunoru/NodeCall.j
* RCall.jl - https://github.com/JuliaInterop/RCall.jl
I tend to use Julia for most things and then just dip into another language’s ecosystem if I can’t find something to do the job and it’s too complex to build myself
-
Interoperability in Julia
To inter-operate Julia with the R language, the RCall package is used. Run the following commands on the Julia REPL
-
Convert Random Forest from Julia to R
https://github.com/JuliaInterop/RCall.jl may help
-
I'm considering Rust, Go, or Julia for my next language and I'd like to hear your thoughts on these
If you need to bindings to your existing R packages then Julia is the way. Check out RCall.jl
-
translate R code to Julia code
I have no experience with R, but maybe this will be of use: https://github.com/JuliaInterop/RCall.jl
-
Julia 1.6: what has changed since Julia 1.0?
You can use RCall to use R from Julia: https://github.com/JuliaInterop/RCall.jl
-
Julia Update: Adoption Keeps Climbing; Is It a Python Challenger?
I worked with R and Python during the last 3 years but learning and dabbling with Julia since 0.6. Since the availability of [PyCall.jl] and [RCall.jl], the transition to Julia can already be easier for Python/R users.
I agree that most of the time data wrangling is super confortable in R due to the syntax flexibility exploited by the big packages (tidyverse/data.table/etc). At the same time, Julia and R share a bigger heritage from Lisp influence that with Python, because R is also a Lisp-ish language (see [Advanced R, Metaprogramming]). My main grip from the R ecosystem is not that most of the perfomance sensitive packages are written in C/C++/Fortran but are written so deeply interconnect with the R environment that porting them to Julia that provide also an easy and good interface to C/C++/Fortran (and more see [Julia Interop] repo) seems impossible for some of them.
I also think that Julia reach to broader scientific programming public than R, where it overlaps with Python sometimes but provides the Matlab/Octave public with an better alternative. I don't expected to see all the habits from those communities merge into Julia ecosystem. On the other side, I think that Julia bigger reach will avoid to fall into the "base" vs "tidyverse" vs "something else in-between" that R is now.
[PyCall.jl]: https://github.com/JuliaPy/PyCall.jl
[RCall.jl]: https://github.com/JuliaInterop/RCall.jl
[Julia Interop]: https://github.com/JuliaInterop
[Advanced R, Metaprogramming] by Hadley Wickham: https://adv-r.hadley.nz/metaprogramming.html
What are some alternatives?
jnumpy - Writing Python C extensions in Julia within 5 minutes.
Makie.jl - Interactive data visualizations and plotting in Julia
gopy - gopy generates a CPython extension module from a go package.
org-mode - This is a MIRROR only, do not send PR.
StaticCompiler.jl - Compiles Julia code to a standalone library (experimental)
Chain.jl - A Julia package for piping a value through a series of transformation expressions using a more convenient syntax than Julia's native piping functionality.
truffleruby - A high performance implementation of the Ruby programming language, built on GraalVM.
Revise.jl - Automatically update function definitions in a running Julia session
birthday-book-app - Rust in Anger: high-performance web applications
cmssw - CMS Offline Software
PythonCall.jl - Python and Julia in harmony.
PyCall.jl - Package to call Python functions from the Julia language