-
Notifications
You must be signed in to change notification settings - Fork 126
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
Performance: consider Dictionaries.jl #99
Comments
There seems to be no advantage in using Dictionaries.jl, if not regression. Updated code is on branch dictionaries.jl. Benchmarks on master:
Using Dictionaries:
|
Thanks a lot for checking this. Okay, in hindsight it makes a bit of a sense. Dictionaries.jl have been heavily optimized for doing operations across the values of the dictionary, which preserve the hash table. E.g. adding some number to all values. We don't really do this kind of stuff here, and in fact never create more than one dictionary (besides the replicates/parallel thing). |
I am reopening this because someone brought this PR into my attention : andyferris/Dictionaries.jl#13 which will supposedly make Dictionaries.jl much faster than what it was. I think once this happens we should try once more. |
Side note if I'm reading that PR correctly. If we implement this here, we'll need to consider our schedulers. Since insertion will be order preserving for these dictionaries, |
This PR has been merged, so we can dig this issue up again and begin testing. |
Following the recent announcement : https://discourse.julialang.org/t/ann-dictionaries-jl-improved-productivity-and-performance-of-dictionaries-in-julia/32074
it seems to me that this is something relevant, as the central structure of Agents.jl is a dictionary. I think we should definitely benchmark a model with using the standard Julia version or this version.
The text was updated successfully, but these errors were encountered: