3 ms·
I don't know the domain you describe, but you have e.g. JuliaDB which has quite good performance from what I read. https://juliadb.org https://juliadb.org Jul
by socialdemocrat 7y ago
I don't know the domain you describe, but you have e.g. JuliaDB which has quite good performance from what I read.
https://juliadb.org https://juliadb.org
JuliaDB is about storing and retrieving Julia data end to end, although it works with e.g. CSV files etc as far as I know.
The benefit of using Julia over something like Java or C++ is that user defined function can easily be added and they are JIT compiled for maximum performance.
The main consideration with respect to using Julia is about whether your domain has problems with JIT compilation or not. Anything that is started and shut down frequently and only runs for a short time will not work well with a JIT based system like Julia.
Also places where you need fine control over latency such as computer games or real time systems may not be suitable for Julia. Then I suspect Rust or Swift would be better.
Other than that Julia is good for almost anything. I has great support for parallelism, concurrency and crunch numbers really fast.
While C++ and Rust may beat Julia in performance I think you should be able to outperform Java, because Julia is designed much more with performance in mind than Java. E.g. you have better control over memory layout, cache misses etc in Julia than in Java.
- pjmlp 7y agoIt was really a bad decision to design Java without value types, given the already existing plethora of GC enabled systems languages since the mid-70's. However that will be eventually fixed, and then we won't be able to bash Java any longer for lack of value types. In what GC languages are concerned, it would be more interesting to compare Julia's generated code against .NET Core languages, D (specially ldc), Nim.
- BubRoss 7y agoJava has been around for multiple decades but the types are just around the corner? That reminds me of static compilation, which was also coming soon for 20 years.
- pjmlp 7y agoAOT compilation has been an option to Java shops willing to buy third party commercial JVMs since around 2000. You can play around with value types experimental releases already. https://jdk.java.net/valhalla/ https://jdk.java.net/valhalla/ Adopting value types, while keeping 20+ year old jars working without any kind of changes is an engineering feat. I bet that Java will get value types before Go gets its generics, if ever.