-
-
Notifications
You must be signed in to change notification settings - Fork 20
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Consider despecializing AbstractFormattedIOs #91
Comments
I think this is related. I was doing some work on XAM last year following @jonathanBieler PR to improve index handling, in that work I too found myself questioning the In the case of Similarly, for the As an aside, I think the parametrisation that is useful at the |
@jakobnissen, could you give us/lay out a few quick structs to show/confirm the implementation you have in mind? |
I'll need to look through the BioJulia stack to figure out where this change is suitable. Maybe in Automa - maybe in BioGenerics - or maybe in the individual parser packages, like FASTX. When I get some free time I'll look at it. |
With Julia 1.9, package image caching significantly reduces latency, as entire function can now be completely cached.
FASTX's readers and writers are parameterized by the underlying IO type. This means different underlying IO types causes the entire Automa-generated code to be recompiled, needlessly. This takes about half a second.
We might consider somehow despecializing the readers and writers (AbstractFormattedIOs, AFIOs) on their underlying IO. This will cause a dynamic dispatch whenever the AFIOs run out of buffer and need to query their underlying IOs, but these operations are already slow, so I suspect impact would be minimal (earlier tests of mine showed insignificant slowdown when removing the type parameter of FASTAReader completely). This will make the code type unstable, but allow precompilation.
The text was updated successfully, but these errors were encountered: