首页   注册   登录
 saberlong 最近的时间轴更新
saberlong

saberlong

V2EX 第 486402 号会员,加入于 2020-04-26 22:21:45 +08:00
saberlong 最近回复了
@wysnylc 另外你可以找下百万 Go TCP, 百万 websocket 同时连接的文章。有每个连接使用 go 程,和 reactor epoll 的性能对比。
@wysnylc 现在一般普通主流计算机,直接开几万协程确实没问题。以前开发写测试时,不小心开了几十万协程,还能跑。但是线程却不行,资源占用和上下文切换决定了它不可能开启同样多的数量时还能保证可用。
你的怀疑点应该是一次性发出这么多请求。这得看理解了,如果指发出第一个数据包开始,确实可能。
假设极端情况,被访问的服务器响应很慢,导致发出数据包请求后就在 io 等待。那么协程确实能做到同时有几万个请求在等待响应。只是线程要做到同样量级,需要机器资源就更多了。
不过实际上并没有优势,现实中不会这么极端,瓶颈通常也不在这。
7 天前
回复了 lux182 创建的主题 程序员 应该使用 select * 吗?
代码上没碰到问题是因为用 orm 之类有映射功能的。原始的方式是和查询列顺序有关的。直接写*会导致这部分业务逻辑错误。写明列则只需修改需要增加列的地方。一个人了解所有项目是不可能的,允许随意使用*。那么发布时,可能就碰到惊喜。
看书效率高。但是关键是要动手
11 天前
回复了 beryl 创建的主题 程序员 开发前真的会画详细的 UML 图么
@beryl 小的迭代更新,大多不画。开发设计人员讲下方案,负责人确认下就好。新的系统设计和大版本升级,我遇到的都是给定足够宽裕的时间,设计完成后系分评审通过后才进行具体的排期。所以不适合赶工期的。赶工期的,都是临时补丁方案
11 天前
回复了 beryl 创建的主题 程序员 开发前真的会画详细的 UML 图么
类画主要的,帮助表达层次关系和依赖关系。
时序图画,帮助验证设计的细节问题。
存在复杂的状态变化时,状态机也画。
真的是网上拿来就用。刚不久前就一个同事卡在登录桌面前进入不去找我。我拿了了 u 盘进入,挂载后看日志,发现在显卡驱动库 panic 了。问干啥以后才说复制了网上的 wine 安装命令
@rikka 定时只是清理策略实现方式上的选择,不影响核心数据结构。只是将超时的判定和超过内存阀值这两个条件分开写,各管各的,实现起来更清晰,并且及时清理超时而已。合并起来也可以做清理策略。比如在触发清理时,先清理超时的,然后判定是否清理得足够多,不够再清理最少访问的就行了。然后需要在查询的地方补上超时判定。本质还是 LRU,只是根据需要做简单修改而已。我觉得你自己思考就明白了
LRU 变种啊,你是需要按时间删除和按最少访问删除。那么用 2 个链表。定时对超时部分删除。每次满的时候针对最少访问删除。
关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3681 人在线   最高记录 5168   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 62ms · UTC 04:10 · PVG 12:10 · LAX 21:10 · JFK 00:10
♥ Do have faith in what you're doing.