Releases: Dubzer/Dubzer.WhatwgUrl
0.2.0
API Changes
DomUrl class now implements IEquatable<T>, GetHashCode(), Equals(obj), ==, !=
This allows you to directly compare instances of the class:
var uwu = new DomUrl("http:\\\\www.google.com\\foo");
var owo = new DomUrl("http://www.google.com/foo");
> uwu == owo
↳ truePerformance improvements
Host parsing has been significantly optimized
First of all, ASCII domains are now prioritized, and can be processed without any memory allocations except for the final result itself.
Second, the IDNA codepoint lookup algorithm has been migrated from a binary search to a series of lookup tables inspired by the implementation in Web++
The tables now reference the .data section of the assembly directly and don't need to be copied to the heap at runtime on the first call. This reduces first call memory usage by 604kb
| First call of Host processing |
|---|
| Before |
![]() |
| After |
![]() |
Processing time was reduced by 44% and memory usage was reduced by 42% on the top100.txt benchmark set
| E2E Benchmarks on x86_64 CPU |
|---|
| Before |
![]() |
| After |
![]() |
Full Changelog: 0.1.3...0.2.0
0.1.3
- Add package icon
- Fix README resources for nuget.org
WHATWG URL: commit 1c3e6ed
Unicode IDNA Compatibility Processing: version 15.1.0
0.1.2
- Removed unused dependency
- Fixed some broken links in the comments
- Fixed links for the NuGet page
WHATWG URL: commit 1c3e6ed
Unicode IDNA Compatibility Processing: version 15.1.0
0.1.1
Updated the README in the package
WHATWG URL: commit 1c3e6ed
Unicode IDNA Compatibility Processing: version 15.1.0



