V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  guonaihong  ›  全部回复第 4 页 / 共 23 页
回复总数  450
1  2  3  4  5  6  7  8  9  10 ... 23  
2021-02-08 14:33:52 +08:00
回复了 Peakday 创建的主题 Go 编程语言 查找匹配文本这段代码运行起来很慢是什么原因
@Claar ok,没问题。
2021-02-08 12:00:14 +08:00
回复了 Peakday 创建的主题 Go 编程语言 查找匹配文本这段代码运行起来很慢是什么原因
@Claar 我用两种方式实现过 trie tree 。前者是标准的,后者是分裂式。benchmark 数据后者会快点。这样吧。感兴趣你可以提供 test data,我有时间写个代码 benchmark 看下。
2021-02-08 09:48:04 +08:00
回复了 Peakday 创建的主题 Go 编程语言 查找匹配文本这段代码运行起来很慢是什么原因
@Claar 把共同前缀字符串提取成一个 node 速度应该会快,就是管理 node 的分裂比较麻烦(一开始是一个 root 节点,有冲突就分裂新的 trie 节点)。就跟 httprouter 的实现一样。
@eudore 2.Parse 长,没办法,如果 go 里面有宏替换,或者手动内联优化,也不需要写这么长了。这么写只是为了减少进 stack 出 stack 的成本。

1.哪怕使用内存分配比官方库快也是很容易的。分配可以保存 http header 内存+浅引用指向 field 和 value+惰性解析。
@lesismal good 。这样有一些好的讨论别人也可以看到。
@lesismal end 打印的是空行,修改下 fmt.Printf 就可以看到。是否复制我的 example 代码,

MessageComplete: func() {
// 消息解析结束
fmt.Printf("\n")
},
@lesismal 我觉得你和我讨论技术是挺好的,这块可以放到 github issue 上面。
@lesismal 你的用法,和我的设计还不一样,我一开始的方案,是一个 Request 包解析完成之后,手动调用下 Reset()。所以不调用 Reset()。第二个 Request 包是不解析的,这时候对于解析器是 MessageDone 的状态。这块可以再优化下使用体验。

从打印你也可以看到,哪怕是粘包,第一个 Request 也是完整的拿出来了。
@lesismal 。。。? httparser 也返回了各 header 字段。以及 body or chunked body 。
我不知道你开火的焦点是?如果是数据没有返回,答:都返回了。
@lesismal 设计的时候支持分段传入,内部是一个状态机。
@shyling 标准库的 http.ReadRequest,每秒只能处理 124MB 。相比之下 httparser 可以 300MB,性能还是可以的。
2021-01-29 15:17:47 +08:00
回复了 JustLookBy 创建的主题 Go 编程语言 go build for ios 怎么弄?
加个 CGO_ENABLED=0 的环境变量试下。
2021-01-28 14:08:02 +08:00
回复了 Dongxiem 创建的主题 Go 编程语言 go 开源项目求推荐
楼上各位老魔法师推荐的都挺好,但对新手可能不现实,一些库别说是实习生,就是用了几年 go 的,通读一遍代码也要花很久。
找工作可以,先根据期望去的公司,过滤出招聘要求,再查漏补缺。
常见的 redis, mysql,go 会用,go 就是普通的编程语言,if else go chan,玩下,就随便写写就行了,这玩意太简单了。
然后准备些自己的亮点,比如我的一个亮点,具备很多 rfc 协议重零开发的能力。实例论证 https://github.com/antlabs/httparser
最后就是数据结构和算法。
工作以后,加强学习能力的锻炼,比如 8 个小时看完一本书,这样以后遇到未知的知识点,也能快速了解全局概念。
2021-01-22 15:08:24 +08:00
回复了 darknoll 创建的主题 程序员 现在还有使用引用计数的垃圾回收机制的语言吗?
python 可能是
2021-01-12 15:37:39 +08:00
回复了 junwind 创建的主题 程序员 大家平时都使用什么工具做笔记呢
以前用有道,现在用 gitpage 。插件多,笔记格式比以前好看多了。
2021-01-11 17:27:13 +08:00
回复了 hijoker 创建的主题 Go 编程语言 各位老铁,这几个面试问题怎么回答(回答的圆满不)?
如果是我回答的话。1,4
把 map 的值 copy 到 slice 。然后使用 Fisher-Yates 算法保持概率一样。

第 4 个需要问 slice 的大小。机器的 total memory 。是否使用 sync.Pool 。综合考虑多个变量。最后看增加和消费的速度,可能有两种情况。可能爆生成者 > 消费者(内存回收),可能生成者==消费者平衡(内存回收),就是不加不减。(如果不引入速度的话,这题描述的有 bug)。(还有一种概率小的情况生成者 < 消费者(内少回收) 基本不可能发生)。
2021-01-06 22:31:56 +08:00
回复了 naoh1000 创建的主题 Rust 2021 年 Go 和 Rust 哪门语言更值得学习?
我是先 go,后 rust 。直接上 rust 很容易受挫。
(当然受过 c++几年调教的人除外,可以直接上 rust)
2021-01-06 09:39:51 +08:00
回复了 shenwu35 创建的主题 程序员 工作 8 年手写不出反转链表是不是进不了 bat 了?
翻转链表,重新插入一遍就是反的。会插入逻辑就行。
2021-01-05 09:34:08 +08:00
回复了 guonaihong 创建的主题 2021 又到立 flag 的时候了, 2021 来也。。。
@raaaaaar  就是高等数学。。。
2021-01-04 13:42:00 +08:00
回复了 usboy 创建的主题 Vim 2021 年了,你还在用 Vim 吗(一份 vim 导航快捷键)
用了有些年了,最近在提升 vim 使用技巧。
1  2  3  4  5  6  7  8  9  10 ... 23  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3874 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 28ms · UTC 05:09 · PVG 13:09 · LAX 22:09 · JFK 01:09
Developed with CodeLauncher
♥ Do have faith in what you're doing.