ExaScience / elprep

elPrep: a high-performance tool for analyzing sequence alignment/map files in sequencing pipelines.
Other
287 stars 40 forks source link

Question about the paper #21

Closed dolanor closed 5 years ago

dolanor commented 5 years ago

I read the article you published about the benchmarking with elPrep in C++, Java and Go. I'm very interested also to know how fast was each version developed.

I would have used the mailing-list/forum, but I can't send any messages on it.

pcostanza commented 5 years ago

We developed the Go version first, then the C++ version, and finally the Java version. We then iterated over the different versions to apply lessons learned from the respective other implementations. The C++ version took by far the longest development time, and was by far the hardest to implement. The Java version took the least development time and was the easiest to implement. This is primarily due to Java's support for parallel streams in its standard library. The Go version took a bit more development time, and was a bit harder to implement, but not significantly. I hope this helps.

ciplogic commented 5 years ago

Was asking for Java version, found it: https://github.com/ExaScience/elprep-bench

pcostanza commented 5 years ago

We have used Java 10 in the paper, with G1GC. I believe older Java versions (<= 9) don't compile. Newer Java versions should work.