Skip to content
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

thunk,Sch: Reduce invalidations and TTFX #334

Merged
merged 2 commits into from
Feb 25, 2022
Merged

Conversation

jpsamaroo
Copy link
Member

Closes #333

@jpsamaroo
Copy link
Member Author

@DrChainsaw I now get TTFX (with 6 workers):

julia> testfun(2000);
  2.424907 seconds (1.48 M allocations: 75.603 MiB, 0.66% gc time)
  0.061711 seconds (117.94 k allocations: 4.473 MiB)

We still see increasing TTFX as the size of the vector being splatted increases, but that will be hard to fix; and even if we do, the scheduler still does work that is approximately O(N), so that will impede scaling.

@DrChainsaw
Copy link
Contributor

Awesome! I see a sizeable improvement as well. In particular the recompilation when number of thunks change is gone now (I guess thanks to a couple of Tuple -> Vectors).

# Very first call
julia> testfun(2000);
 23.585389 seconds (21.31 M allocations: 1.153 GiB, 2.80% gc time, 47.90% compilation time)
  2.028270 seconds (1.05 M allocations: 55.230 MiB, 1.06% gc time, 43.95% compilation time)

julia> testfun(2000);
  2.978357 seconds (1.83 M allocations: 122.209 MiB, 1.81% gc time)
  0.284688 seconds (128.13 k allocations: 4.786 MiB)

julia> testfun(2001);
  2.038875 seconds (1.87 M allocations: 122.961 MiB, 1.59% gc time)
  0.218601 seconds (186.75 k allocations: 9.577 MiB, 12.06% gc time)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Starting multiple Thunks effectively
2 participants