The updated mitos-benchmarks/MIToS benchmark shows small regression in read/write of MSA for Julia 1.0.2 and MIToS 2.3.1. Maybe, it's related to the use of length(::String): https://discourse.julialang.org/t/performance-of-length-string/12672
Also, @profile shows that most of the time is spent in cache inefficient access to the big MSA matrix: setindex! in _convert_to_matrix_residues.
Maybe https://github.com/JuliaArrays/TiledIteration.jl or using 8 bits instead of 32/64 bits for Residue can help to avoid cache related problems.
using MIToS.MSA, Profile, ProfileView
@profile read("../data/PF00089.sth", Stockholm, MultipleSequenceAlignment, deletefullgaps=false)
The updated
mitos-benchmarks/MIToS
benchmark shows small regression inread
/write
of MSA for Julia 1.0.2 and MIToS 2.3.1. Maybe, it's related to the use oflength(::String)
: https://discourse.julialang.org/t/performance-of-length-string/12672 Also,@profile
shows that most of the time is spent in cache inefficient access to the big MSA matrix:setindex!
in_convert_to_matrix_residues
. Maybe https://github.com/JuliaArrays/TiledIteration.jl or using 8 bits instead of 32/64 bits forResidue
can help to avoid cache related problems.