4 ms·
This is one I really like https://p0nce.github.io/d-idioms/#Parallel-foreach https://p0nce.github.io/d-idioms/#Parallel-foreach I use D as a complement to R.
by bachmeier 6y ago
This is one I really like
https://p0nce.github.io/d-idioms/#Parallel-foreach https://p0nce.github.io/d-idioms/#Parallel-foreach
I use D as a complement to R. If I'm doing a simulation, it's really simple to shift to doing them in parallel. (I know other languages also provide such support, but I'm a fan of the overall D language as a replacement for C in the statistical computing realm.)
- mhh__ 6y agoD is really really nice for writing code then upping the performance as you go. We do need better scientific programming libraries, however.
- bachmeier 6y agoI agree. I have everything I need after 7-8 years, but that's not true for everyone.
- O_H_E 6y ago> ** is really really nice for writing code then upping the performance as you go. We do need better scientific programming libraries, however. This is pretty much a rephrasing to few of the main goals of Julia. You start prototyping using the dynamic python/lispy, and add some typing or some optimization to got C/Fortran performance. It is really finding it's space in scientific computing. Check out Flux.jl, DifferentialEquations.jl, and SciML.jl for a preview of the cool projects Dynamic Dispatch is enabling. Bonus points for excellent Macros: MLstyle.jl
- dunefox 6y agoYep, I often hear people say their favourite language would be great for scientific programming, it only needs scientific libraries and people to use them. Julia already has those things, they're not easy to get.
- mhh__ 6y agoWe already have a library called Mir which has laid down a lot of the hard stuff to begin with. Its very very fast even relative to the small number of people working on it.
- mhh__ 6y agoPut it this way, I am using D quite a lot for microarchitectural benchmarking because the inline asm is so easy to us, I have access to LLVM and GCC intrinsics, I can easily parameterize my code as a template at compile time etc. Julia has impressive libraries, I don't really rate the language. D gives more guarantees to the optimizer, makes it easy to give information to said optimizer and has much safer slices which prevent a lot of bugs. For example of something cool: I have a library which can run a benchmark over a template - that is, imagine a template taking a parameter N or even a type, my library can iterate through these and perform statistics on them seamlessly.
- leetrout 6y agoWe're using Go for our discrete sim as well as our optimization platform and I love it. A lot of these samples of D are really enticing and I think I'm going to have to spend some time really digging in. I hope the toolchain is nice.