-
Notifications
You must be signed in to change notification settings - Fork 209
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
[BUG] lazy loading regression #481
Comments
as part of the fix, maybe we add a unit test? at least '1 out of 3 cold starts should be subsecond' |
@tanmoyio could this have to do with new inits? |
@tanmoyio @dcolinmorgan can we look as part of landing cu_cat? |
I documented how I tracked it down last time: https://www.graphistry.com/blog/import-pygraphistry-from-10s-to-1s-by-python-import-lazy-loading-and-tuna |
as in lazy loading cucat? we already lazy load cudf and cuml within #486 , or at least that was the whole idea, perhaps its not working correctly as 9s seems far too long |
i mean why is |
w/ lazy loading, |
yes i see the issue now on 29.3 -- on eks where cuda is available, cudf loads in 4.7s for total g. load time of 6.7s, whereas on my mac laptop entire graphistry 29.3 loads in 0.829s. seems lazy cudf is getting initiated before user request. So the question is to front load or break loadings into pieces. re: #439 seems like there are 2 options:
from your comment above, the second option seems expected and wanted -- should not be a hard fix. I suppose i never noticed since I've always loaded cudf before graphistry |
Option 3. Lazy load Delay any cudf imports until the code using it (including "auto") is run. 'import graphistry' shouldn't need to import cudf. Can you find the path triggering the import? It looks like plotter imports embed_utils, and embed_utils is importing cudf at import time somewhere instead of when its methods are used |
ok yeah i see the issue in |
after 0.29.0 (big pyg[ai] merge), looks like import is slow again, likely some top-level imports getting triggered:
for reference, pandas is just 600ms on same box -- so we can be targeting subsecond, but aren't
step #1 is to profile again: https://www.graphistry.com/blog/import-pygraphistry-from-10s-to-1s-by-python-import-lazy-loading-and-tuna
The text was updated successfully, but these errors were encountered: