Skip to content

Releases: Dubzer/Dubzer.WhatwgUrl

0.2.0

18 Feb 18:13
3db91d9

Choose a tag to compare

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
↳ true

Performance 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
Before
After
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
Before
After
Before

Full Changelog: 0.1.3...0.2.0

0.1.3

20 Aug 17:04
1878823

Choose a tag to compare

  • Add package icon
  • Fix README resources for nuget.org

WHATWG URL: commit 1c3e6ed
Unicode IDNA Compatibility Processing: version 15.1.0

0.1.2

19 Aug 23:23
c968989

Choose a tag to compare

  • 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

19 Aug 18:24
70b412e

Choose a tag to compare

Updated the README in the package


WHATWG URL: commit 1c3e6ed
Unicode IDNA Compatibility Processing: version 15.1.0

0.1.0

19 Aug 18:11
3ac81d6

Choose a tag to compare

First release!


WHATWG URL: commit 1c3e6ed
Unicode IDNA Compatibility Processing: version 15.1.0