Allenxuxu / gev

🚀Gev is a lightweight, fast non-blocking TCP network library / websocket server based on Reactor mode. Support custom protocols to quickly and easily build high-performance servers.
MIT License
1.73k stars 194 forks source link

建议 gev 加入 techempower 的性能对比测试 #37

Closed sbilly closed 3 years ago

sbilly commented 4 years ago

建议 gev 加入 techempower 的性能对比测试

相关测试的介绍地址:https://www.techempower.com/benchmarks/

Allenxuxu commented 4 years ago

第一次知道这个,感谢告知😄。 等我有时间,会安排上的。我不太了解这个 techempower ,如果你愿意的话,可以直接PR。

kiyonlin commented 4 years ago

第一次知道这个,感谢告知😄。

等我有时间,会安排上的。我不太了解这个 techempower ,如果你愿意的话,可以直接PR。

建议查看一下general-test-requirements,第一条要求就是生产级别的实现

假如只是做个简单的请求头解析,参加plaintext的测试(比如gnet,@panjf2000 你怎么看?),个人感觉没有意义,对其他框架来说,有点“作弊”的味道。

要是正儿八紧地完整实现http协议,我还是很支持的。

lesismal commented 3 years ago

非完整功能的异步网络库做这个测试没有意义 gnet已经加入了,但是只能忽悠外行。功能不完整的代码,跟人家http功能完整的框架去比性能,除了网络部分,http的部分相当于只做了别人的十分之一甚至百人之一,然后说比别人性能强,这非常不严谨、完全是自欺欺人的 除非异步网络库也加入了相对完整的功能,再去对比才有意义

异步库的优势在于极大减少高并发场景下的协程数量,并降低与其相对应的协程内存、协程调度等成本,要对比可以只对比4层数据传输的性能。gev/gnet就网络部分而言,应该对标标准库的net而不是net/http