V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  guonaihong  ›  全部回复第 3 页 / 共 24 页
回复总数  470
1  2  3  4  5  6  7  8  9  10 ... 24  
2023-09-21 11:32:08 +08:00
回复了 Dongxiem 创建的主题 Go 编程语言 go 开源项目求推荐
@iwwftlan 带有目的性看就行。比如要做一个好玩的东西,少了相关的知识点,然后看下对应的书。
我现在获取知识点的过程是 1. 做一个好玩的东西-》 2. 缺少相关知识-》 3. 边查边做。 这样注意力不容易散,可以坚持下去。如果喜欢有分享欲望,还可以加 4. 总结。

以前也适过没有目的性看书。看过 unix 环境高级编程, apue ,大而全的书,容易放弃。

可以根据自己的爱好选择适合的流程,我是特别喜欢写代码,才这么获取知识点的。喜欢就意味着不容易放弃。
2023-09-12 16:42:54 +08:00
回复了 dyllen 创建的主题 Go 编程语言 goframe 框架好吗?我感觉怪怪的。。。
gf 和 go-zero 我选后者。

上面的选择主要基于清晰度,gf 眼花缭乱的基础类型,看别人用 gf 写的代码清晰度绕来绕去不知所云。

还有一个是担心 gf 代码质量,记得看同事的代码用了.gVar , 就扫了一眼 gf 里面的 gVar 的 New 的实现。发现一个 bool 变量的语义写反了,这是一个 bug(后面和同事说了下,应该提 pr 修复了)。

最后如果 gf 作者能看到我的回答,有些建议:
1. 基础类型没必须 type 一个新类型,只会分裂认识。
2. json/xml 等等基础能力没有必须再包装下,同一。
3. 观注能提升生产力的地方,静态 MVC ,统一数据结构,然后根据这些数据结构生成一些 logic 代码。
2023-09-06 22:38:50 +08:00
回复了 csznet2023 创建的主题 程序员 如何推广自己的开源项目
楼上的真有趣。接个龙,比如这样。高性能低内存占用 websocket 库 https://github.com/antlabs/quickws
2023-09-02 13:57:48 +08:00
回复了 guonaihong 创建的主题 Go 编程语言 高性能 websocket 库 quickws 发布
@eudore 挺好的建议,可以直接 pr 。哈哈。
2023-09-02 00:16:40 +08:00
回复了 guonaihong 创建的主题 Go 编程语言 高性能 websocket 库 quickws 发布
@eudore 好了,你试下 v0.1.4 版本
2023-09-01 23:24:02 +08:00
回复了 guonaihong 创建的主题 Go 编程语言 高性能 websocket 库 quickws 发布
@eudore 感谢提的问题,我修复下。
2023-08-31 13:03:19 +08:00
回复了 guonaihong 创建的主题 Go 编程语言 高性能 websocket 库 quickws 发布
@DDDZZZFFF 是想了解业务 websocket 网关还是基础网关?前者是业务聚合数据用的,后者如 nginx 之类的.
现在一堆 ai 辅助编程的插件 感觉收益不是那么明显。copilot 一个回车解决的事情。
2023-08-29 22:15:12 +08:00
回复了 ben548 创建的主题 Go 编程语言 批量查询下,怎么利用 localcache 提高接口的性能?
你们 im 的 id 不是单调递增的吗?如果的是话 server_max - client_max 如果等于 0 ,说明没有消息更新就不需要拉。
2023-08-29 17:34:59 +08:00
回复了 guonaihong 创建的主题 Go 编程语言 高性能 websocket 库 quickws 发布
@Glauben 你说的场景要优化的不是语言,而应该先优化网络, 一次 ping 的 icmp 包是 7ms(随便 ping 个 baidu 或者 qq 的网址),一次 go 的 stw 最长在 <=1ms 。真的有这种担心 stw 的应用,应该先优化下网络 用专线,再考虑服务端的语言 gc 的问题,一个是 1/8 ,另一个是 7/8 的影响。

普通互联网应用不需要操这个心。上面我已经讲过存活时间越长的 websocket 连接,upgrade 的时间开销越接近于 0.
2023-08-29 14:56:59 +08:00
回复了 guonaihong 创建的主题 Go 编程语言 高性能 websocket 库 quickws 发布
@Glauben gobwas/ws 的作者发明的新词,指通过 websocket upgrade 不分配内存。其实没什么用的概念,只会误导用户。你看我前面的数据代入证明就明白了,zero upgrade 和不 zero upgrade 没什么影响,无论是内存整体占用还是 tps 。
2023-08-29 14:12:19 +08:00
回复了 guonaihong 创建的主题 Go 编程语言 高性能 websocket 库 quickws 发布
@hafung 你可以下载 https://github.com/guonaihong/bench-ws 自己跑下
make
./script/tps-benchmark.sh

在.bashrc 下面加上
sysctl -w fs.file-max=2000500
sysctl -w fs.nr_open=2000500
sysctl -w net.nf_conntrack_max=2000500
ulimit -n 2000500
sysctl -w net.ipv4.tcp_tw_reuse=1

历史压数数据在
https://github.com/guonaihong/bench-ws/issues/3
2023-08-29 13:54:51 +08:00
回复了 guonaihong 创建的主题 Go 编程语言 高性能 websocket 库 quickws 发布
@bv callback 主要是为了后面对接 epoll 方便点.
2023-07-19 17:42:06 +08:00
回复了 guonaihong 创建的主题 Go 编程语言 深度拷贝 pcopy,性能升级版本来了
@SingeeKing 要支持的话也很简单,拿到这个字段的指针地址,后面直接修改就行。但是 pcopy 不会支持修改私有字段的。
2023-05-21 21:59:51 +08:00
回复了 guonaihong 创建的主题 Go 编程语言 深度拷贝 pcopy,性能升级版本来了
@ToBeHacker 这么做只是为了可控性。能不停进行性能的提升。假如跳开这个库的话题,回到大家熟悉的服务端,我们可以用标准库快速一个 server 。如果要进行性能的提升,可能要进行一大量的定制开发(库作者的角度),比如 epoll+协程池+gc 优化。它背后的思路一样,开箱即用的东西,性能不好提升。
2023-05-18 21:09:25 +08:00
回复了 guonaihong 创建的主题 Go 编程语言 深度拷贝 pcopy,性能升级版本来了
@bthulu 怎么理解?
2023-05-18 21:09:09 +08:00
回复了 guonaihong 创建的主题 Go 编程语言 深度拷贝 pcopy,性能升级版本来了
@shockerli @phithon copier 从压测数据来看不太快。pcony 运行时间是 copier 的 1/16.
2023-05-18 15:53:10 +08:00
回复了 guonaihong 创建的主题 Go 编程语言 深度拷贝 pcopy,性能升级版本来了
@matrix1010 后面再提高下,影响测试覆盖度的都是用 tmpl 生成的代码。
用反射库做,看下 FieldByName 这个 api 。当然反射性能差,慎用。
2023-04-06 14:01:03 +08:00
回复了 xiaotianhu 创建的主题 程序员 用惯了 Vim 也有副作用
vim 党用 https://github.com/LunarVim/LunarVim 这个。打包了一堆插件。开发特别好用。
space + f 根据文件名找
space +s + t 根据内容找,类似于 grep
space + / 注释与解注释
gr 查找代码引用
gI 查看接口定义

也可以接入到 copilot 插件。
1  2  3  4  5  6  7  8  9  10 ... 24  
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1214 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 23ms · UTC 23:22 · PVG 07:22 · LAX 16:22 · JFK 19:22
Developed with CodeLauncher
♥ Do have faith in what you're doing.