11 ms·
Response from the BioJulia developers: https://biojulia.net/post/seq-lang/ https://biojulia.net/post/seq-lang/. High-level points: * they were able reproduce t
by StefanKarpinski 7y ago
Response from the BioJulia developers: https://biojulia.net/post/seq-lang/ https://biojulia.net/post/seq-lang/. High-level points:
* they were able reproduce the performance comparison between Seq and BioJulia
* BioJulia spends most of its time on these benchmarks validating and transcoding data into a more compact, efficient representation of gene sequences
* Seq, on the other hand, operates on the raw ASCII input data and does no validation
* BioJulia devs implemented Julia types that representing gene sequences the same way as Seq does in less than 100 lines of Julia code [1]
* when using the same representation in as Seq, BioJulia was significantly faster than Seq
* BioJulia devs were able to further optimize transcoding of gene sequences to get a 10x performance improvement [2]
* with these improvements BioJulia reaches similar performance to Seq while still doing validation and using less memory
The full post is well worth reading. For me the main takeaway is that there's no real need for a domain-specific language at least not based on these results. Julia is already a great language for this kind of work and you get C-like speed and JIT compilation for free.
[1] https://github.com/jakobnissen/SeqLangBenchmarks/blob/master/SeqJL.jl https://github.com/jakobnissen/SeqLangBenchmarks/blob/master...
[2] https://github.com/BioJulia/BioSequences.jl/issues/86 https://github.com/BioJulia/BioSequences.jl/issues/86