5 ms·
I would be curious to know what would be the elapsed time on the same machine (and problem) using more "enterprisey" languages like Java, C#, ...
by qualsiasi 8y ago
I would be curious to know what would be the elapsed time on the same machine (and problem) using more "enterprisey" languages like Java, C#, ...
- noobermin 8y agoTbh, I just don't see any usage of Java or C# on HPC systems. Python is used a bit but in embarrassingly parallel mode. Part of it might just be cultural/biases but it just isn't used, especially since there isn't much of a need to create and manage a complex software architecture that enterprise systems leverage.
- KenoFischer 8y agoI'm not sure what the state of AVX-512 codegen was in the CLR/JVM back in early 2017, but given that LLVM's was still in buggy early stages, I would guess that it was a WIP at best so performance was probably not ideal (we had to work quite hard to get decent quality code generation). On KNL, you're either running AVX512 all the time or you're pretty much dead in terms of performance.
- jabl 8y agoI work in HPC, and, well, Java and C# are more or less irrelevant in that space. Well, there is a little bit of Java, some people are using things like Hadoop or Spark, but otherwise, no. "Hard-core" computing is almost all C/C++/Fortran (and of course CUDA for GPU's etc.). Python and R are fairly popular, but in those cases (hopefully) most of the heavy lifting is done by library code (again, C/C++/Fortran, or increasingly CUDA via ML libraries such as tensorflow) rather than the interpreter. Julia is very promising in this space, as it offers a solution to the "two-language" problem. I'm hopeful for Julia to make more of an impact, but it's of course a slow process. (There is a (tiny) bit of ASM, but that's more or less exclusively done for widely used performance-critical libraries like BLAS, or FFT, not for application code.)
- antpls 8y agoIs Julia a JIT compiler? How is Julia different than Pypy or even the JVM? There is also the new GraalVM in the landscape. I don't see the plus value in Julia compared to Python or Java. It will still be slower than C/C++, probably less portable, and all the legacy libraries have to be rewritten in Julia. If Julia is only a new syntax, to me Python is already very simple. If Julia is a JIT compiler, why not participate to already available compilers? Julia is still there, so I guess it adds value, but I don't know where to place that effort in the grand scheme of things.
- myopicgoat 8y agoThsee questions pop up every time Julia comes on HN and have been answered time and again for example by Chris Rackauckas [1], at the end of the day there will always be pros and cons and people unwilling to change from languages they’re proficient at. Personally I’ve been using Julia for scientific computing for 4 years and I’m hooked. [1] https://thewinnower.com/papers/9323-i-like-julia-because-it-scales-and-is-productive-some-insights-from-a-julia-developer https://thewinnower.com/papers/9323-i-like-julia-because-it-...
- ethelward 8y ago> How is Julia different than Pypy Well, no GIL for a start, which is a pretty strong selling point when running on several dozen of cores at once. > I don't see the plus value in Julia compared to Python or Java I don't see how you can put Python and Java in the same bag. > It will still be slower than C/C++ Not that much https://news.ycombinator.com/item?id=17204750 https://news.ycombinator.com/item?id=17204750 > probably less portable Who cares? 99.99% of HPC are Linux clusters anyway. And Julia runs on macOS and Linux, that cover the overwhelming majority of the concerned users. > and all the legacy libraries have to be rewritten in Julia. https://docs.julialang.org/en/v0.6.0/manual/calling-c-and-fortran-code/ https://docs.julialang.org/en/v0.6.0/manual/calling-c-and-fo... > I don't know where to place that effort in the grand scheme of things. According to you interrogations, browsing their website would be a good start. https://julialang.org https://julialang.org
- antpls 8y ago