aio-libs
yarl
BlogDocsChangelog

Make `from_parts` a LRU to increase the chance we can preserve the internal cache

#1434Merged
Comparing
dry_from_parts
(
ca72808
) with
master
(
22544b1
)
CodSpeed Performance Gauge
+86%
Improvements
20
Untouched
66

Benchmarks

Improved

test_url_with_path_relative
tests/test_url_benchmarks.py
CodSpeed Performance Gauge
+86%
231.9 µs124.9 µs
test_url_with_fragment
tests/test_url_benchmarks.py
CodSpeed Performance Gauge
+58%
299 µs189.5 µs
test_url_with_scheme
tests/test_url_benchmarks.py
CodSpeed Performance Gauge
+57%
265.9 µs169.1 µs
test_url_with_path
tests/test_url_benchmarks.py
CodSpeed Performance Gauge
+52%
325.8 µs214.2 µs
test_update_query_none
tests/test_url_benchmarks.py
CodSpeed Performance Gauge
+48%
90.2 µs61.1 µs
test_update_query_empty
tests/test_url_benchmarks.py
CodSpeed Performance Gauge
+45%
94.9 µs65.3 µs
test_url_with_port
tests/test_url_benchmarks.py
CodSpeed Performance Gauge
+38%
436.5 µs316.3 µs
test_url_with_user
tests/test_url_benchmarks.py
CodSpeed Performance Gauge
+36%
438 µs320.9 µs
test_with_query_none
tests/test_url_benchmarks.py
CodSpeed Performance Gauge
+36%
107.7 µs79.2 µs
test_with_query_empty
tests/test_url_benchmarks.py
CodSpeed Performance Gauge
+35%
112.2 µs83.3 µs
test_url_with_password
tests/test_url_benchmarks.py
CodSpeed Performance Gauge
+34%
447.1 µs332.7 µs
test_url_with_host
tests/test_url_benchmarks.py
CodSpeed Performance Gauge
+32%
492.1 µs373.3 µs
test_url_with_path_parent
tests/test_url_benchmarks.py
CodSpeed Performance Gauge
+31%
438.1 µs333.1 µs
test_url_with_name
tests/test_url_benchmarks.py
CodSpeed Performance Gauge
+27%
473.2 µs372.2 µs
test_url_joinpath_encoded
tests/test_url_benchmarks.py
CodSpeed Performance Gauge
+21%
619.2 µs509.8 µs
test_url_join
tests/test_url_benchmarks.py
CodSpeed Performance Gauge
+21%
251.9 µs208.8 µs
test_url_joinpath
tests/test_url_benchmarks.py
CodSpeed Performance Gauge
+20%
657.3 µs546.9 µs
test_url_extend_query_existing_query_string
tests/test_url_benchmarks.py
CodSpeed Performance Gauge
+20%
151.8 µs126.5 µs
test_url_joinpath_with_truediv
tests/test_url_benchmarks.py
CodSpeed Performance Gauge
+17%
750.6 µs644.1 µs
test_url_joinpath_encoded_long
tests/test_url_benchmarks.py
CodSpeed Performance Gauge
+13%
962.6 µs853.9 µs

Passed

test_update_query_mapping
tests/test_url_benchmarks.py
CodSpeed Performance Gauge
+5%
890 µs846.5 µs
test_url_extend_query_simple_query_dict
tests/test_url_benchmarks.py
CodSpeed Performance Gauge
+5%
577 µs551.1 µs
test_with_query_mapping
tests/test_url_benchmarks.py
CodSpeed Performance Gauge
+5%
574.2 µs548.8 µs
test_url_extend_query_existing_query_simple_query_dict
tests/test_url_benchmarks.py
CodSpeed Performance Gauge
+4%
599.6 µs574.8 µs
test_update_query_string
tests/test_url_benchmarks.py
CodSpeed Performance Gauge
+4%
670.1 µs643 µs
test_with_query_mapping_int_values
tests/test_url_benchmarks.py
CodSpeed Performance Gauge
+3%
908.2 µs882.3 µs
test_extend_query_subclassed_str
tests/test_url_benchmarks.py
CodSpeed Performance Gauge
+3%
904.7 µs880.3 µs
test_update_query_mapping_with_existing_query
tests/test_url_benchmarks.py
CodSpeed Performance Gauge
+2%
1.1 ms1.1 ms
test_with_query_sequence_mapping
tests/test_url_benchmarks.py
CodSpeed Performance Gauge
+1%
3.2 ms3.2 ms
test_update_query_sequence_mapping
tests/test_url_benchmarks.py
CodSpeed Performance Gauge
+1%
3.5 ms3.4 ms
test_url_make_encoded_with_host_path_and_port
tests/test_url_benchmarks.py
CodSpeed Performance Gauge
0%
188.5 µs187.8 µs
test_query_string
tests/test_url_benchmarks.py
CodSpeed Performance Gauge
0%
47.5 µs47.4 µs
test_url_make_with_many_hosts
tests/test_url_benchmarks.py
CodSpeed Performance Gauge
0%
3.4 ms3.4 ms
test_url_make_with_host_and_path
tests/test_url_benchmarks.py
CodSpeed Performance Gauge
0%
139.1 µs139 µs
test_url_make_empty_password
tests/test_url_benchmarks.py
CodSpeed Performance Gauge
0%
138.6 µs138.4 µs
test_url_make_access_raw_path
tests/test_url_benchmarks.py
CodSpeed Performance Gauge
0%
167 µs166.8 µs
test_url_make_with_many_ipv4_hosts
tests/test_url_benchmarks.py
CodSpeed Performance Gauge
0%
3.4 ms3.3 ms
test_empty_query_string
tests/test_url_benchmarks.py
CodSpeed Performance Gauge
0%
47 µs47 µs
test_url_build_with_host
tests/test_url_benchmarks.py
CodSpeed Performance Gauge
0%
405.2 µs405 µs
test_is_default_port
tests/test_url_benchmarks.py
CodSpeed Performance Gauge
0%
171.4 µs171.3 µs
test_url_make_access_username_password
tests/test_url_benchmarks.py
CodSpeed Performance Gauge
0%
193.1 µs193 µs
test_url_make_access_raw_host
tests/test_url_benchmarks.py
CodSpeed Performance Gauge
0%
167.7 µs167.6 µs
test_url_make_with_ipv4_address_path_and_port
tests/test_url_benchmarks.py
CodSpeed Performance Gauge
0%
139.6 µs139.5 µs
test_url_make_with_host_path_and_port
tests/test_url_benchmarks.py
CodSpeed Performance Gauge
0%
138.6 µs138.5 µs
test_query
tests/test_url_benchmarks.py
CodSpeed Performance Gauge
0%
46.7 µs46.7 µs
test_url_make_no_netloc
tests/test_url_benchmarks.py
CodSpeed Performance Gauge
0%
138.6 µs138.6 µs
test_url_make_empty_username
tests/test_url_benchmarks.py
CodSpeed Performance Gauge
0%
139.9 µs139.9 µs
test_quote_long_path
tests/test_quoting_benchmarks.py
CodSpeed Performance Gauge
0%
1.8 ms1.8 ms
test_long_query_with_pct
tests/test_quoting_benchmarks.py
CodSpeed Performance Gauge
0%
9.7 ms9.7 ms
test_long_query
tests/test_quoting_benchmarks.py
CodSpeed Performance Gauge
0%
2.2 ms2.2 ms
test_url_build_with_simple_query
tests/test_url_benchmarks.py
CodSpeed Performance Gauge
0%
2.3 ms2.3 ms
test_url_to_string
tests/test_url_benchmarks.py
CodSpeed Performance Gauge
0%
218.7 µs218.7 µs
test_url_equality
tests/test_url_benchmarks.py
CodSpeed Performance Gauge
0%
310.6 µs310.7 µs
test_url_with_path_to_string
tests/test_url_benchmarks.py
CodSpeed Performance Gauge
0%
237.9 µs237.9 µs
test_raw_host_empty_cache
tests/test_url_benchmarks.py
CodSpeed Performance Gauge
0%
238 µs238 µs
test_url_make_with_many_ipv6_hosts
tests/test_url_benchmarks.py
CodSpeed Performance Gauge
0%
4.5 ms4.5 ms
test_quoter_quote_utf8
tests/test_quoting_benchmarks.py
CodSpeed Performance Gauge
0%
393.3 µs393.4 µs
test_url_make_access_fragment
tests/test_url_benchmarks.py
CodSpeed Performance Gauge
0%
167.3 µs167.4 µs
test_url_make_with_ipv6_address_and_path
tests/test_url_benchmarks.py
CodSpeed Performance Gauge
0%
138.5 µs138.6 µs
test_url_make_with_ipv4_address_and_path
tests/test_url_benchmarks.py
CodSpeed Performance Gauge
0%
138.5 µs138.5 µs
test_url_build_access_fragment
tests/test_url_benchmarks.py
CodSpeed Performance Gauge
0%
498.5 µs498.8 µs
test_url_make_no_netloc_relative
tests/test_url_benchmarks.py
CodSpeed Performance Gauge
0%
138.6 µs138.7 µs
test_url_origin_with_user_pass
tests/test_url_benchmarks.py
CodSpeed Performance Gauge
0%
81 µs81 µs
test_url_with_query_to_string
tests/test_url_benchmarks.py
CodSpeed Performance Gauge
0%
275.1 µs275.3 µs
test_quote_query_string
tests/test_quoting_benchmarks.py
CodSpeed Performance Gauge
0%
147.9 µs148.1 µs
test_url_make_with_ipv6_address_path_and_port
tests/test_url_benchmarks.py
CodSpeed Performance Gauge
0%
138.4 µs138.6 µs
test_url_origin
tests/test_url_benchmarks.py
CodSpeed Performance Gauge
0%
78.5 µs78.6 µs
test_quoter_pct
tests/test_quoting_benchmarks.py
CodSpeed Performance Gauge
0%
145.3 µs145.4 µs
test_empty_query
tests/test_url_benchmarks.py
CodSpeed Performance Gauge
0%
46.7 µs46.8 µs
test_unquoter_short
tests/test_quoting_benchmarks.py
CodSpeed Performance Gauge
0%
125.4 µs125.6 µs
test_url_with_path_origin
tests/test_url_benchmarks.py
CodSpeed Performance Gauge
0%
80.3 µs80.4 µs
test_url_build_no_netloc_relative
tests/test_url_benchmarks.py
CodSpeed Performance Gauge
0%
350.5 µs351.1 µs
test_url_build_access_username_password
tests/test_url_benchmarks.py
CodSpeed Performance Gauge
0%
684.7 µs685.9 µs
test_url_build_encoded_with_host_and_port
tests/test_url_benchmarks.py
CodSpeed Performance Gauge
0%
399.3 µs400 µs
test_url_build_with_host_path_and_port
tests/test_url_benchmarks.py
CodSpeed Performance Gauge
0%
529.2 µs530.4 µs
test_url_build_access_raw_host
tests/test_url_benchmarks.py
CodSpeed Performance Gauge
0%
601.8 µs603.4 µs
test_quoter_ascii
tests/test_quoting_benchmarks.py
CodSpeed Performance Gauge
0%
73.5 µs73.7 µs
test_human_repr
tests/test_url_benchmarks.py
CodSpeed Performance Gauge
0%
10.2 ms10.3 ms
test_url_hash
tests/test_url_benchmarks.py
CodSpeed Performance Gauge
0%
193.4 µs194 µs
test_url_build_no_netloc
tests/test_url_benchmarks.py
CodSpeed Performance Gauge
0%
353.7 µs355.1 µs
test_url_build_with_host_and_port
tests/test_url_benchmarks.py
CodSpeed Performance Gauge
0%
615.9 µs618.4 µs
test_url_build_with_different_hosts
tests/test_url_benchmarks.py
CodSpeed Performance Gauge
0%
1 ms1 ms
test_url_build_access_raw_path
tests/test_url_benchmarks.py
CodSpeed Performance Gauge
-1%
548.9 µs551.7 µs
test_url_host_port_subcomponent
tests/test_url_benchmarks.py
CodSpeed Performance Gauge
-1%
454.6 µs457 µs
test_unquoter_long_pct
tests/test_quoting_benchmarks.py
CodSpeed Performance Gauge
-1%
6.8 ms6.9 ms
test_unquoter_long_ascii
tests/test_quoting_benchmarks.py
CodSpeed Performance Gauge
-2%
4.2 ms4.3 ms

Commits

Click on a commit to change the comparison range
Base
master
22544b1
-23.54%
DNM: Experiment with making from_parts an LRU
0799de3
1 year ago
by bdraco
×2.1
revert changes to build
18ba56e
1 year ago
by bdraco
+0.05%
Update CHANGES/1434.misc.rst
ca72808
1 year ago
by bdraco
© 2025 CodSpeed Technology
Home Terms Privacy Docs