目前选型一个类似网站荣耀这样的游戏服务端框架,想用 go,不知道有没有合适的大家推荐推荐。
1
chinagxwei 2020-11-06 19:24:47 +08:00
|
2
b00tyhunt3r 2020-11-16 12:56:46 +08:00 via iPhone
go 肯定性能不够
|
3
wmwmajie OP @b00tyhunt3r go 性能不够?不太懂,go 编译后的代码和其他编译后的语言不会有差别吧,数据库这些应该就是同样的,有其他门槛低一点的框架或语言吗?
|
4
b00tyhunt3r 2020-11-17 12:56:50 +08:00
@wmwmajie
当有有差别了 没差别的话岂不是只要是编译语言性能都一样了 性能不够就是字面意思啊哪里没懂 语言都是有 IO 速度上限的 当然你要是回合制,或者没有物理效果,或者非商业个人作品啥的 go 应该可以了 www.toptal.com/back-end/server-side-io-performance-node-php-java-go |
5
b00tyhunt3r 2020-11-17 13:01:19 +08:00
还有就是 go 有著名的 2 分钟 GC peak, 直观感受就是每两分钟卡顿一下。大型 MMO 应该很明显了
|
6
wmwmajie OP @b00tyhunt3r 所以我还是没太明白,你说的 io 上限主要就是在 io 操作上同步阻塞和异步非阻塞这块,这一块 go 肯定是做得比较好的,特别是 go 的异步能力,所以我不太理解有什么语言在异步 io 上能完全超过 go ?当然相差不大是有的,因为底层的 io 交互只要是异步非阻塞的 io 能力都会很强而且用的都是更底层的库。
有其他框架或者语言推荐吗? 我知道是有 C#,python,lua 这些,但是这些基本上也都是和 go 持平吧,只是可能框架熟练度高一点。 当然我对这块也不了解,不知道是否有通用性高一点的游戏框架? |
7
wmwmajie OP @b00tyhunt3r 我刚才看了一下 go gc 回收已经有很大改进和优化现在是异步的 gc 回收,而且时间基本都是在 10 微妙一下,高负载下也不会超过 100 毫秒。
|
8
securityCoding 2020-11-20 20:31:39 +08:00
@b00tyhunt3r go 做网络库还有性能瓶颈?
|
9
sunshinev 2020-11-30 12:39:46 +08:00
@b00tyhunt3r GC 的问题,网上搜了一下,现在已经可以压缩到 1.x 毫秒了
|
10
sunshinev 2020-11-30 12:42:07 +08:00
协议是不是很重要,之前试过 websocket+protobuf 协议的通信,后端 go 直接手写不用框架性能最高。。。
|