lesismal / go-websocket-benchmark

121 stars 14 forks source link

要不要给gorilla加个write chan #36

Closed lxzan closed 1 year ago

lxzan commented 1 year ago

gorilla的write不保证线程安全, 实际应用的时候都会使用chan

lesismal commented 1 year ago

gorilla系的它们好几个呢 :joy:

lesismal commented 1 year ago

而且,加 select chan default 的方案还可以避免阻塞,如果 select 不加 default 那还是会阻塞、不如用锁封装、那其实这个压测里加上一层锁也差不了太多。而且除了gws nbio,其他几个也是基于标准库Conn、我没细看是否有阻塞问题,如果有,那都得加。然后gws nbio又要开异步写、内存又涨上去了

还是算了吧

lxzan commented 1 year ago

不是避免阻塞,而是为了线程安全。不过我们也没搞多线程,还是不加debuff了吧😄

lesismal commented 1 year ago

不是避免阻塞,而是为了线程安全。不过我们也没搞多线程,还是不加debuff了吧😄

我意思是说,如果给它加了 select default,它就具备了避免阻塞的功能:joy: 所以如果咱们不开异步写就又是不对齐了,但是开了异步写内存就彪了。。。

嗯,不加了:smile: