Skip to content

Conversation

@nrednav
Copy link

@nrednav nrednav commented Jun 19, 2023

Link to port: nrednav/cuid2

Apologies for yet another Go port of this library. I noticed the other implementations did not include a complete suite of tests and so I wanted to try my hand at recreating the full package, including collision tests.

I tried to incorporate as much as I could gather from the ongoing discussion in #33. Would greatly appreciate any feedback.

Todo / Missing

  • Add histogram.go with tests for buildHistogram

@ericelliott
Copy link
Collaborator

ericelliott commented Aug 9, 2023

I am not a go expert, but you could make the counter thread safe, right?

import "sync/atomic"

type Counter struct {
	value int64
}

func NewCounter(initialCount int64) *Counter {
	return &Counter{
		value: initialCount,
	}
}

func (c *Counter) Increment() int64 {
	return atomic.AddInt64(&c.value, 1)
}

@nrednav
Copy link
Author

nrednav commented Sep 17, 2023

@ericelliott great suggestion, thanks! made the updates in: nrednav/cuid2#1 and nrednav/cuid2#2

@nrednav
Copy link
Author

nrednav commented Oct 26, 2024

Package updated to include latest changes: nrednav/cuid2#5

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants