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
Alex Bramley
08c1bcf174
Fix panic when String is called on nil mode pointers. Fixes #98 .
2018-09-06 22:23:59 +01:00
Alex Bramley
47162eb0b8
Run gofmt to keep people happy!
2018-09-06 22:15:14 +01:00
Alex Bramley
4dd8bc72d5
The great state tracker privatisation 2/3: nicks.
2014-12-31 13:17:28 +00:00
StalkR
89bcd2b78c
state/nick: canonicalise the order of channels returned (map iteration is random)
2014-05-15 13:23:05 +02:00
Alex Bramley
5bb0c8278d
Minimally invasive change to put logging behind a user-replaceable interface.
...
This could probably be done better, and there are probably awful caveats
and hidden gotchas with this approach. I REGRET NOTHING.
2013-09-27 22:19:40 +01:00
Alex Bramley
ca46884c72
Remove embedded logger from state tracker. Hmmmm.
2013-01-23 22:33:01 +00:00
Alex Bee
a4028ee669
Merge pull request #16 from StalkR/bot
...
state: nick: support for Bot mode (+B)
2013-01-06 11:21:14 -08:00
StalkR
2cc4e94acb
state: nick: add Channels/ChannelsStr accessors to get channels a nick is on
2013-01-06 20:13:06 +01:00
StalkR
4962b26ca9
state: nick: support for Bot mode (+B)
2013-01-06 19:52:11 +01:00
Alex Bramley
e0a5a57fe1
Merge branch 'master' into weekly
...
Conflicts:
client/connection.go # MERGED
event/registry.go # DELETED
logging/mock_test.go # DELETED
2011-11-13 14:13:55 +00:00
Alex Bramley
4e4c4b6798
Migrate to split logging pkg.
2011-11-13 14:02:12 +00:00
Alex Bramley
81eb9ee3df
gofix weekly fixes for state.
2011-11-13 13:32:53 +00:00
Alex Bramley
47dd5b3430
We need to be able to get at ChanPrivs easily.
2011-10-27 17:03:01 +01:00
Alex Bramley
1fbd0a8b17
Switch to using and propagating logger.
2011-10-22 23:57:22 +01:00
Alex Bramley
111a23d87c
Epic refactor of the refactor.
2011-10-20 00:10:33 +01:00
Alex Bramley
2c333e0e9a
Ditch initialise() functions and just make constructors better.
2011-10-13 22:48:04 +01:00
Alex Bramley
b2ac2929d2
Break state tracker into multiple files.
2011-10-12 22:59:52 +01:00