Skip to content

Is it possible to use Swift for the IDNA support? #1603

@MahdiBM

Description

@MahdiBM

This is mostly a question to see if there is such interest / need at all.

The whole thought was also triggered by this issue: #1560
(I'm not saying solving that issue will require to use this new library I'll be talking about).

I recently developed swift-idna, which is also very well tested with the help of the Unicode test suite, so I'm confident in the correctness of the code there and that the library could possibly be used in such a widely-used package as swift-foundation.

I'm not that familiar with swift-foundation, but I see there are some ICU being used for handling IDNA.
My question is, for those who are familiar with swift-foundation, that is there a possibility of moving to using swift-idna at all? What would be missing for such a move?

It's 100% fine by me if this is a no-go. I'm just asking and not trying to force using that new library 😅

The biggest issue I see is that swift-idna while having benchmarks, does not have benchmarks to benchmark itself against the current foundation implementation which uses ICU, so I'm not sure how the performance comparison will be.
Frankly, as things currently stands, I expect the current swift-foundation to be faster although I don't know for sure. But I'm confident I can make things fast enough.
For example see the swift inet_ntop/pton implementation in swift-endpoint, where I eventually noticed my implementation is actually faster than Darwin and mostly faster than Glibc C APIs (With no hidden downsides to the Swift implementation).

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions