goirc/state
Kobe Housen 8b460bc60f Use make size hint when copying channels in Nick()
70% faster when using a high number of channels

Old performance

```
$ go test ./state -bench=.
goos: linux
goarch: amd64
pkg: github.com/fluffle/goirc/state
cpu: AMD Ryzen Threadripper PRO 3945WX 12-Cores
BenchmarkNickSingleChan-24      15465226                76.35 ns/op
BenchmarkNickManyChan-24            5738            195721 ns/op
PASS
ok      github.com/fluffle/goirc/state  2.433s
```

new performance

```
$ go test ./state -bench=.
goos: linux
goarch: amd64
pkg: github.com/fluffle/goirc/state
cpu: AMD Ryzen Threadripper PRO 3945WX 12-Cores
BenchmarkNickSingleChan-24      15022640                79.13 ns/op
BenchmarkNickManyChan-24           10000            115104 ns/op
PASS
ok      github.com/fluffle/goirc/state  2.456s
```
2023-11-17 12:58:34 +00:00
..
channel.go Fix panic when String is called on nil mode pointers. Fixes #98. 2018-09-06 22:23:59 +01:00
channel_test.go The great state tracker privatisation 1/3: channels. 2014-12-31 13:17:11 +00:00
mock_tracker.go fix gmock url 2015-06-13 10:43:59 +01:00
nick.go Use make size hint when copying channels in Nick() 2023-11-17 12:58:34 +00:00
nick_test.go Use make size hint when copying channels in Nick() 2023-11-17 12:58:34 +00:00
tracker.go Hold state tracker lock for Me(). Fixes data race panic. 2017-10-31 21:38:46 +00:00
tracker_test.go Remove race test in state tracker, go1.5 broke it. 2015-12-12 19:41:36 +00:00