-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
See how much new version of python-benedict impacts us #6423
Comments
@skshetry Should we put an upper cap for it for now? also, for the record: this is clearly +1 to the microbenchmarks that you've proposed before. |
µbenchmarks do show a 2-4x slowdown, but it still feels theoretical. We lack benchmarks for pipelines, so it's hard to tell. |
Discussed with @efiop to get rid of the dependency, we only use it in |
May be worth revisiting #4883 |
Benedict's merge module appears to be fairly self-contained https://github.com/fabiocaccamo/python-benedict/blob/c98c471065ae84b4752a87f1bd63fe3987783663/benedict/core/merge.py . A possible stopgap could be to remove the bendict import and copy this module into the DVC codebase instead. I have done something similar for keypath parsing currently in #6521 (8d219dc4c4be678f8e12a57f766d282d13997443). |
I think I'm more inclined on working around benedict than replacing it. We should rollback this particular change that it does on import: |
@mattlbeck, we still need to unflatten those and it comes from I have not been able to work on this, and will not be able to work for few days at least |
Fixes iterative#6476, fixes iterative#6423 and closes iterative#6484.
The recent release of
python-benedict
has monkeypatchedJSONEncoder
to always use python-based encoder (instead of C-based encoder.This monkeypatching happens during import.
dvc/dvc/utils/collections.py
Line 85 in a7f01b6
As we only use it during
exp run --set-params
, we need to see how much it affects us. Also how important is the performance for theexp run
? Do we save large directories and files duringexp run
?Note: Simple benchmark shows it causes 2x-4x degradation.
The text was updated successfully, but these errors were encountered: