BioJulia / FASTX.jl

Parse and process FASTA and FASTQ formatted files of biological sequences.
https://biojulia.dev
MIT License
61 stars 20 forks source link

Make writers parametric and buffered #26

Closed jakobnissen closed 3 years ago

jakobnissen commented 4 years ago

Currently, FASTX writers are abstractly typed and unbuffered, which makes them unnecessarily slow. Since the readers are neither, it's probably just an oversight, but it should be adressed.

This change makes the FASTQ writer around 4x faster on my computer, so we really shouldn't leave this performance on the table. Since the type of the writer changes, this change may be breaking.

codecov[bot] commented 4 years ago

Codecov Report

Merging #26 into master will decrease coverage by 0.13%. The diff coverage is 83.33%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master      #26      +/-   ##
==========================================
- Coverage   83.29%   83.16%   -0.14%     
==========================================
  Files          13       13              
  Lines         497      505       +8     
==========================================
+ Hits          414      420       +6     
- Misses         83       85       +2     
Flag Coverage Δ
#unittests 83.16% <83.33%> (-0.14%) :arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
src/fasta/writer.jl 95.65% <83.33%> (-4.35%) :arrow_down:
src/fastq/writer.jl 96.42% <83.33%> (-3.58%) :arrow_down:

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update db4caae...18a160b. Read the comment docs.