-
-
Notifications
You must be signed in to change notification settings - Fork 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
Implement heapq for cookie expire times #9203
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
✅ All tests successful. No failed tests found. Additional details and impacted files@@ Coverage Diff @@
## master #9203 +/- ##
========================================
Coverage 98.31% 98.32%
========================================
Files 107 107
Lines 34510 34635 +125
Branches 4100 4113 +13
========================================
+ Hits 33929 34055 +126
Misses 410 410
+ Partials 171 170 -1
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
noticed while working on #9203 TODO: show profiles
noticed while working on #9203 TODO: show profiles
Co-authored-by: Sam Bull <git@sambull.org>
Running well on production overnight 👍 |
Backport to 3.10: 💔 cherry-picking failed — conflicts found❌ Failed to cleanly apply 6e70c0a on top of patchback/backports/3.10/6e70c0ab91f383a0d28448d1506d826a9b44e53d/pr-9203 Backporting merged PR #9203 into master
🤖 @patchback |
Backport to 3.11: 💔 cherry-picking failed — conflicts found❌ Failed to cleanly apply 6e70c0a on top of patchback/backports/3.11/6e70c0ab91f383a0d28448d1506d826a9b44e53d/pr-9203 Backporting merged PR #9203 into master
🤖 @patchback |
Co-authored-by: Sam Bull <git@sambull.org> (cherry picked from commit 6e70c0a)
Co-authored-by: Sam Bull <git@sambull.org> (cherry picked from commit 6e70c0a)
What do these changes do?
Implement heapq for cookie expire times
Are there changes in behavior for the user?
no
Is it a substantial burden for the maintainers to support this?
heapq is a bit of a complex structure to maintain
Related issue number
fixes #8575
fixes #7790
benchmark script (we care about the
filter_other_domain
case for expires and that still includes the filtering time so its actually even faster): #7790 (comment)Before
filter_other_domain: 0.451234458014369
After
filter_other_domain: 0.0018771658651530743
note that profile is not exactly the same number of iterations since its using a real world use case of 60s and its hard to get it exactly the same (1644 before) / (1413 after) but its such a significant difference, its more than enough to show the performance improvement of ~96-97% less run time (adjusted ratio for the iterations):
before
after