Skip to content

Releases: ostcar/topic

v0.7.0

23 Feb 20:25
f538392

Choose a tag to compare

What's Changed

  • Use context.Cause in topic.ReceiveSince by @ostcar in #22

Full Changelog: v0.6.0...v0.7.0

Split Receive

13 Nov 15:24
1baf34a

Choose a tag to compare

What's Changed

  • Split topic.Receive to topic.ReceiveAll and topic.ReceiveSince. by @ostcar in #21

Full Changelog: v0.5.0...v0.6.0

Long time no seen

19 Oct 16:50
72ed12f

Choose a tag to compare

Change the data structure inside the topic from a linked list to a slice.

This gives an enormous performance boost. On the old version, the
bechmark looked like this:

BenchmarkPublishWithXReceivers1-16 189544 8121 ns/op
BenchmarkPublishWithXReceivers10-16 68542 17007 ns/op
BenchmarkPublishWithXReceivers100-16 12412 112008 ns/op
BenchmarkPublishWithXReceivers1000-16 2113 831531 ns/op
BenchmarkPublishWithXReceivers10000-16 188 8549041 ns/op
BenchmarkRetrieveBigTopic1-16 6755972 168.2 ns/op
BenchmarkRetrieveBigTopic10-16 482397 2880 ns/op
BenchmarkRetrieveBigTopic100-16 47083 25480 ns/op
BenchmarkRetrieveBigTopic1000-16 3550 309143 ns/op
BenchmarkRetrieveBigTopic10000-16 381 3162213 ns/op
BenchmarkRetrieveBigTopic100000-16 55 34077880 ns/op
BenchmarkRetrieveLastBigTopic1-16 9457071 150.3 ns/op
BenchmarkRetrieveLastBigTopic10-16 9307264 148.5 ns/op
BenchmarkRetrieveLastBigTopic100-16 7967427 159.4 ns/op
BenchmarkRetrieveLastBigTopic1000-16 7454274 157.1 ns/op
BenchmarkRetrieveLastBigTopic10000-16 7685139 156.2 ns/op
BenchmarkRetrieveLastBigTopic100000-16 11034918 103.3 ns/op

With this change, the same benchmark looks like this:

BenchmarkPublishWithXReceivers1-16 190663 6490 ns/op
BenchmarkPublishWithXReceivers10-16 92685 13557 ns/op
BenchmarkPublishWithXReceivers100-16 16966 71364 ns/op
BenchmarkPublishWithXReceivers1000-16 2110 614877 ns/op
BenchmarkPublishWithXReceivers10000-16 238 4942679 ns/op
BenchmarkRetrieveBigTopic1-16 74820468 15.96 ns/op
BenchmarkRetrieveBigTopic10-16 72618871 15.91 ns/op
BenchmarkRetrieveBigTopic100-16 72100257 15.92 ns/op
BenchmarkRetrieveBigTopic1000-16 77461323 15.64 ns/op
BenchmarkRetrieveBigTopic10000-16 76357166 15.53 ns/op
BenchmarkRetrieveBigTopic100000-16 76822623 15.62 ns/op
BenchmarkRetrieveLastBigTopic1-16 72182608 15.96 ns/op
BenchmarkRetrieveLastBigTopic10-16 76935794 15.98 ns/op
BenchmarkRetrieveLastBigTopic100-16 76762269 15.92 ns/op
BenchmarkRetrieveLastBigTopic1000-16 73140235 15.49 ns/op
BenchmarkRetrieveLastBigTopic10000-16 77611089 15.81 ns/op
BenchmarkRetrieveLastBigTopic100000-16 77758965 15.57 ns/op

But this comes with a backwards incompatible change. Receive returned only unique values. Not, values that where published multiple times are also multiple times inside the returned data.

Full Changelog: v0.4.1...v0.5.0

Remove old stuff

16 Apr 06:59
99ee126

Choose a tag to compare

Remove unneeded features (#16)

The close channel is not needed. The same can be done by using the
context when calling Recieve()

The WithFirstID was a hack that is not
needed anymore.

Generic

06 Apr 07:21
e46d110

Choose a tag to compare

If there are no bugs, this will probably get the v1.0 version.

Go 1.17

17 Aug 11:50
28b0e1d

Choose a tag to compare

Remove select (#14)

It is not needed anywere

Only nil on shutdown

12 Jun 15:28
c72b3a7

Choose a tag to compare

v0.3.3

Receive no nil on empy values (#9)

Fix Release

31 May 10:33
c37bf25

Choose a tag to compare

Last release was broken

Backfix

31 May 10:27
c37bf25

Choose a tag to compare

Fix an error in the new WithMaxID option

WithStartID

31 May 08:17
91340fa

Choose a tag to compare

Adds the option WithStartID to set a specific start id