ada-url / goada

Fast WHATWG spec compliant URL library written in Go
Apache License 2.0
28 stars 3 forks source link

Proposal to Implement Versioning Using GitHub Releases #9

Open plusiv opened 7 months ago

plusiv commented 7 months ago

Hi maintainers!

I wanted to raise this issue regarding to the version management in this great project. I've noticed that it does not use GitHub's releases or tags to manage different versions of the package and the upstream project. While this approach can work for quick iterations, it might pose challenges as the project scales and the user base grows.

If there's interest in this approach, I'd be delighted to contribute to the setup of a versioning and release process based on GitHub's features. This could include updating upstream project dependency, tagging specific commits as releases, drafting initial release notes, and setting up a cycle for future releases.

I am also open and willing to assist in any other areas where you might need support, whether it’s further development, testing, or documentation.

anonrig commented 7 months ago

We are more than interested to use GitHub releases and reduce human intervention. Contributions are welcome :-)

lemire commented 7 months ago

Thanks. The library is currently in pre-release and it does not have, to my knowledge, any user. Testing is minimal and the current design has a performance issue: it can be 10x slower than the Go standard library.

Please run:

go test -bench Benchmark -run -

The fairly long delay is not due to the ada library itself, but to the wrapper which is currently highly inefficient.

The Go standard library is not standard compliant so using goada could be warranted, I'd very much like to solve the performance issue as it seems unacceptable to me.

The problem derives from runtime.SetFinalizer. I could not find a way to avoid this anti-pattern.

plusiv commented 6 months ago

Hello again!

Thanks for your replies!

Regarding to @anonrig

We are more than interested to use GitHub releases and reduce human intervention. Contributions are welcome :-)

I think I could contrib to automate the updates of Ada upstream and releases.

Concerning to @lemire

The fairly long delay is not due to the ada library itself, but to the wrapper which is currently highly inefficient.

The Go standard library is not standard compliant so using goada could be warranted, I'd very much like to solve the > performance issue as it seems unacceptable to me.

The problem derives from runtime.SetFinalizer. I could not find a way to avoid this anti-pattern.

I was looking for alternatives, but I had no luck with that. Apparently it will be a built-in drawback for the package that will be the price to pay for using CGO.