Skip to content

[Benchmark X64] [MihaZupan] Remove unsafe code from the Uri.UnescapeString h ... #1612

@MihuBot

Description

@MihuBot

Job completed in 4 hours 56 minutes (remote runner delay: 52 seconds).

Using arguments: benchmark Perf_Uri -long -NoPRLink

System.Tests.Perf_Uri
BenchmarkDotNet v0.14.1-nightly.20250107.205, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74, 1 CPU, 8 logical and 4 physical cores
LongRun : .NET 10.0.0 (42.42.42.42424), X64 RyuJIT AVX-512F+CD+BW+DQ+VL+VBMI
Job=LongRun  IterationCount=100  LaunchCount=3
WarmupCount=15
Method Toolchain input Mean Error Ratio Allocated Alloc Ratio
ParseAbsoluteUri Main ? 168.8788 ns 0.3642 ns 1.00 304 B 1.00
ParseAbsoluteUri PR ? 171.7307 ns 0.8637 ns 1.02 304 B 1.00
DnsSafeHost Main ? 169.6281 ns 1.1870 ns 1.00 328 B 1.00
DnsSafeHost PR ? 174.9089 ns 2.1747 ns 1.03 328 B 1.00
BuilderToString Main ? 70.5073 ns 0.1169 ns 1.00 216 B 1.00
BuilderToString PR ? 71.0237 ns 0.1909 ns 1.01 216 B 1.00
UriBuilderReplacePort Main ? 68.4497 ns 0.9321 ns 1.00 216 B 1.00
UriBuilderReplacePort PR ? 66.4469 ns 0.2902 ns 0.97 216 B 1.00
GetComponents Main ? 11.0191 ns 0.0663 ns 1.00 80 B 1.00
GetComponents PR ? 10.8148 ns 0.0276 ns 0.98 80 B 1.00
PathAndQuery Main ? 0.9016 ns 0.0263 ns 1.02 - NA
PathAndQuery PR ? 0.8615 ns 0.0297 ns 0.98 - NA
EscapeDataString Main {{{{{{{{{{{{(...){{{{{{{{{{{{ [1000] 4,780.0008 ns 3.7514 ns 1.00 6024 B 1.00
EscapeDataString PR {{{{{{{{{{{{(...){{{{{{{{{{{{ [1000] 4,868.3213 ns 26.0280 ns 1.02 6024 B 1.00
CombineAbsoluteRelative Main /new/path 94.0692 ns 0.0810 ns 1.00 200 B 1.00
CombineAbsoluteRelative PR /new/path 93.6048 ns 0.0689 ns 1.00 200 B 1.00
UnescapeDataString Main %E4%BD%A0%E5%A5%BD 37.7759 ns 0.1219 ns 1.00 32 B 1.00
UnescapeDataString PR %E4%BD%A0%E5%A5%BD 38.5314 ns 0.0264 ns 1.02 32 B 1.00
EscapeDataString Main a{üa{üa{üa{ü(...)a{üa{üa{üa{ü [999] 7,426.2977 ns 8.6077 ns 1.00 6688 B 1.00
EscapeDataString PR a{üa{üa{üa{ü(...)a{üa{üa{üa{ü [999] 7,468.2152 ns 15.9446 ns 1.01 6688 B 1.00
EscapeDataString Main aaaaaaaaaaaa(...)aaaaaaaaaaaa [1000] 26.4778 ns 0.0366 ns 1.00 - NA
EscapeDataString PR aaaaaaaaaaaa(...)aaaaaaaaaaaa [1000] 26.5660 ns 0.1053 ns 1.00 - NA
UnescapeDataString Main abc%20def%20ghi%20 30.4942 ns 0.1952 ns 1.00 48 B 1.00
UnescapeDataString PR abc%20def%20ghi%20 29.7053 ns 0.0433 ns 0.98 48 B 1.00
Ctor Main http://dot.net 51.0105 ns 0.1361 ns 1.00 56 B 1.00
Ctor PR http://dot.net 50.3864 ns 0.1256 ns 0.99 56 B 1.00
CtorIdnHostPathAndQuery Main http://dot.ne(...)alue#fragment [43] 184.3427 ns 0.0881 ns 1.00 248 B 1.00
CtorIdnHostPathAndQuery PR http://dot.ne(...)alue#fragment [43] 184.0907 ns 0.1328 ns 1.00 248 B 1.00
Ctor Main http://höst.with.ünicode 229.6895 ns 0.8232 ns 1.00 256 B 1.00
Ctor PR http://höst.with.ünicode 229.2846 ns 0.2808 ns 1.00 256 B 1.00
CtorIdnHostPathAndQuery Main http://höst.w(...)alue#fragment [53] 1,070.5188 ns 1.8968 ns 1.00 936 B 1.00
CtorIdnHostPathAndQuery PR http://höst.w(...)alue#fragment [53] 1,076.0003 ns 0.9326 ns 1.01 936 B 1.00
CtorIdnHostPathAndQuery Main http://host/ 109.0419 ns 0.1038 ns 1.00 200 B 1.00
CtorIdnHostPathAndQuery PR http://host/ 110.8038 ns 0.4276 ns 1.02 200 B 1.00
CtorIdnHostPathAndQuery Main http://host/p(...)s?key=ünicode [50] 465.9716 ns 0.8591 ns 1.00 752 B 1.00
CtorIdnHostPathAndQuery PR http://host/p(...)s?key=ünicode [50] 466.3869 ns 3.0777 ns 1.00 752 B 1.00
CtorIdnHostPathAndQuery Main http://host/p(...)es?key=va lue [49] 278.8659 ns 0.3295 ns 1.00 296 B 1.00
CtorIdnHostPathAndQuery PR http://host/p(...)es?key=va lue [49] 279.3451 ns 0.8170 ns 1.00 296 B 1.00
CtorIdnHostPathAndQuery Main http://host/p(...)3&key4=value4 [64] 227.9641 ns 1.5219 ns 1.00 304 B 1.00
CtorIdnHostPathAndQuery PR http://host/p(...)3&key4=value4 [64] 228.7115 ns 0.1506 ns 1.00 304 B 1.00
CtorIdnHostPathAndQuery Main http://host/p(...)=%C3%BCnicode [61] 502.7295 ns 2.2776 ns 1.00 752 B 1.00
CtorIdnHostPathAndQuery PR http://host/p(...)=%C3%BCnicode [61] 504.6951 ns 1.2418 ns 1.00 752 B 1.00
CtorIdnHostPathAndQuery Main http://host/p(...)?key=va%20lue [57] 231.0937 ns 0.8662 ns 1.00 296 B 1.00
CtorIdnHostPathAndQuery PR http://host/p(...)?key=va%20lue [57] 232.9073 ns 0.8569 ns 1.01 296 B 1.00
Ctor Main http://xn--hs(...)n--nicode-2ya [38] 78.9117 ns 0.9117 ns 1.00 56 B 1.00
Ctor PR http://xn--hs(...)n--nicode-2ya [38] 74.7608 ns 0.3361 ns 0.95 56 B 1.00
CtorIdnHostPathAndQuery Main http://xn--hs(...)alue#fragment [67] 236.9603 ns 0.5816 ns 1.00 296 B 1.00
CtorIdnHostPathAndQuery PR http://xn--hs(...)alue#fragment [67] 234.1784 ns 1.0047 ns 0.99 296 B 1.00
Ctor Main https://a.much.longer.domain.name 86.8036 ns 0.2823 ns 1.00 56 B 1.00
Ctor PR https://a.much.longer.domain.name 87.0533 ns 0.1343 ns 1.00 56 B 1.00
CtorIdnHostPathAndQuery Main https://a.muc(...)alue#fragment [62] 241.3433 ns 1.2629 ns 1.00 280 B 1.00
CtorIdnHostPathAndQuery PR https://a.muc(...)alue#fragment [62] 237.6678 ns 0.7350 ns 0.99 280 B 1.00
Ctor Main https://contoso.com 50.1001 ns 0.0927 ns 1.00 56 B 1.00
Ctor PR https://contoso.com 50.3400 ns 0.1502 ns 1.00 56 B 1.00
Ctor Main https://CONTOSO.com 50.6522 ns 0.0367 ns 1.00 56 B 1.00
Ctor PR https://CONTOSO.com 50.8762 ns 0.0510 ns 1.00 56 B 1.00
CtorIdnHostPathAndQuery Main https://conto(...)alue#fragment [48] 192.9743 ns 0.4712 ns 1.00 256 B 1.00
CtorIdnHostPathAndQuery PR https://conto(...)alue#fragment [48] 187.9704 ns 0.5051 ns 0.97 256 B 1.00
CtorIdnHostPathAndQuery Main https://CONTO(...)alue#fragment [48] 188.5373 ns 0.4361 ns 1.00 256 B 1.00
CtorIdnHostPathAndQuery PR https://CONTO(...)alue#fragment [48] 187.8830 ns 0.5943 ns 1.00 256 B 1.00
EscapeDataString Main üüüüüüüüüüüü(...)üüüüüüüüüüüü [1000] 8,828.2649 ns 7.9699 ns 1.00 12024 B 1.00
EscapeDataString PR üüüüüüüüüüüü(...)üüüüüüüüüüüü [1000] 8,827.9207 ns 7.5105 ns 1.00 12024 B 1.00

Artifacts:

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions