Re:Rustgo: Calling Rust from Go with near-zero overhead (2017)
by galangalalgol on Saturday August 03, 2019 @01:58PM
(#20601701)
I've been considering using Julia and rust in this way. anyone tried that?
[ Parent
| on HN ]
Re:Rustgo: Calling Rust from Go with near-zero overhead (2017)
by blindseer on Saturday August 03, 2019 @02:42PM
(#20601912)
I've used it. Julia's ccall is so nice to work with once you have wrapped it in other functions. The hardest part was creating, finding, downloading and using the right library with it's dependencies during Julia's build step for a package.
Re:Rustgo: Calling Rust from Go with near-zero overhead (2017)
by superdimwit on Saturday August 03, 2019 @03:13PM
(#20602060)
Out of curiosity, what sort of code aren't you able to write in Julia that you can in Rust?
Re:Rustgo: Calling Rust from Go with near-zero overhead (2017)
by galangalalgol on Saturday August 03, 2019 @04:27PM
(#20602477)
the idea was more to get that extra bit of speed for profiled bottlenecks. not a need, more a want. benchmark game currently puts Julia on par with go, not rust. also it seems to forgo simd except for obvious cases with large arrays.
Re:Rustgo: Calling Rust from Go with near-zero overhead (2017)
by superdimwit on Saturday August 03, 2019 @05:00PM
(#20602648)
Yeah. I think the benchmark game entries for Julia are unfortunately poor / stylised - IIRC there was a fork that delivered actually fast implementations (at the cost of some prettiness), but I don't think it ever got merged in.
I do agree that there a few cases where Julia in theory could do what you wanted, but it's a bit awkward to get the guarantee from the compiler that it will do so (e.g. SIMD this thing, constexpr this thing..). I do hope this situation improves.
Re:Rustgo: Calling Rust from Go with near-zero overhead (2017)
by dnautics on Saturday August 03, 2019 @05:55PM
(#20602920)
It's really quite easy to guarantee the compiler uses SIMD in Julia, it just takes a bit of reading the docs and understand the Zen of Julia.
Re:Rustgo: Calling Rust from Go with near-zero overhead (2017)
by galangalalgol on Saturday August 03, 2019 @05:24PM
(#20602767)
I would like someone good at Julia to tighten up those programs. benchmark game still takes submission right?
Re:Rustgo: Calling Rust from Go with near-zero overhead (2017)
by dnautics on Saturday August 03, 2019 @05:37PM
(#20602823)
I updated the Julia n body problem to use simd. It's actually really easy to read and I'm pretty confident it's very performant, but the problem is that for the number of iterations done, the VM boot time dominates.
If you were doing a problem IRL, you would expect run times in the hours, and a 5 second vm load and program compile penalty would be peanuts.
Re:Rustgo: Calling Rust from Go with near-zero overhead (2017)
by galangalalgol on Sunday August 04, 2019 @09:38AM
(#20606442)
which implementation is that? 2 is the fastest but it doesn't use any .* or the like, an 3 which does and has "vectorised" in the comments is actually half the speed of 2