-
Notifications
You must be signed in to change notification settings - Fork 143
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
reduce Images.jl dependency complexity #792
Comments
To make Images a meta package, we need to move I can think of two approaches here:
A trick to reduce dependency is to use Any ideas? |
If it's a trait I'd think |
Echoing @johnnychen94, if we move all methods to ImageAPI.jl then we should save ourselves some time and just rename Images.jl to ImageAPI.jl 😛 I see three options:
On the face of it, 1 (possibly in conjunction with 2) seems pretty reasonable. Taking the example of We didn't use Requires.jl previously because Requires.jl was a bit dicey before JuliaPackaging/Requires.jl#46. |
With #802 closed, here's the current status ( |
If there's no objection, I would take this as the general principle. Precompilation of those codes might not give a significant boost speaking of loading time. |
close this as there's no specific issue remained. |
I should have submitted this issue after I've thoroughly read source codes of all related packages, but I'd prefer throw this out and receive any possible feedback from the community.
According to my understanding,
ImageCore
is supposed to be an intermediate package betweenColor*, *Array, *View
andImage*
to hide the details. However, from the following graphs this "fact" is not so clear.If this is the case, we might need to reduce the dependency of
Image*
toColor*
,*Arrays
and*Views
to make the sense of layers clearer.If we want to ease our developing work by hiding implementation details, then a naturally we should ask ourself:
Color*
?*Arrays
and*Views
?I'll keep this open and add more thoughts when I have.
Quote from Tim #766 (comment)
How I generate this graph
The text was updated successfully, but these errors were encountered: