V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  lesismal  ›  全部回复第 10 页 / 共 60 页
回复总数  1185
1 ... 6  7  8  9  10  11  12  13  14  15 ... 60  
243 天前
回复了 struggletoday 创建的主题 职场话题 应聘顺丰收派员后,混沌的一周
@f2kandlove 逢人劝了多年,劝了也白劝。唯有洁身自好,与烟酒槟郎赌毒不共戴天。

OP 文笔清晰,行云流水,略带诙谐,赞!
243 天前
回复了 NX2023 创建的主题 Go 编程语言 Go1.22: fastrand 变成 slowrand 了
kitex-benchmark 后来按默认的脚本也跑不起来,不知道现在能不能跑了,kitex 代码太复杂我表示“看不懂”,所以不玩了,还是玩我自己的吧

连同 grpc ,都挺难用的
先生千古!
244 天前
回复了 yueyuea 创建的主题 问与答 兄弟们你们怎么看程序员信风水这件事
很多人年轻的时候都觉得“我命由我不由天”,上年纪了终于懂得“苍天饶过谁”,所以才有四十而不惑,五十而知天命。。。
244 天前
回复了 yueyuea 创建的主题 问与答 兄弟们你们怎么看程序员信风水这件事
从科学的角度讲:
风水改变人的心态,心态变了处事方式就变了
能信的人,至少态度变得柔和了,懂得心存敬畏了,懂得和气生财了
所以就跟心理医生类似

从有神无神的角度讲:
顶尖科学家穷其一生最后基本都是有神论论吧,受过几年无神论教育就自信没有封建迷信了?
245 天前
回复了 HOMO114514 创建的主题 NAS 一张图展示绿联 NAS 现状
哦哦有了,之前图没刷出来只看到了文字。。
245 天前
回复了 HOMO114514 创建的主题 NAS 一张图展示绿联 NAS 现状
文不对题,我是进来看一张图的,图呢?
百度 AI ,欢乐开怀!
众里寻她千百度,请到红包领取处
@shanwu 国外非 IT 研发的不少普通工作在用 8g ,而且有不少是 5 年以上的老设备,中介、医生、会计、普通家用等等。
而且这些普通用户甚至都不关心性能、配置这些,因为他们的普通需求,确实随便够用了,不只是内存只有 8G ,甚至硬盘 128 、256 对他们很多人都够用、512G 硬盘对他们来说都是很大的空间(回想下十几年前,那时候 500 硬盘也确实算是很大了)。如果果子基础配置更高,意味着打击这部分群体的积极性。

所以如果不考虑价格因素,只聊 8G 够不够用,那苹果起步 8G 完全没问题。但可惜的是,这部分普通用户,基本没人来讨论果子配置够不够用的话题。

对苹果 8G 不够用的这种主流评价,也是类似幸存者偏差效应,因为跑到网上来这么评价的,比如 V 站主力用户、测评 UP 主们,都是属于你讲的“懂行的用户”,包括我自己,我日常 25G 起步,稍微开点东西就 30G 了。

如果考虑价格因素,果子是真贵、真黑心,我也抵制。但 8G 对于普通用户确实够用
骂苹果 8g 的多数是 it 互联网研发人员
但其实,苹果这 8g 主要是给广大非 it 互联网研发人员准备的
所以吵没用,爱用不用,要么忍要么滚一个道理
> 原来你的思路和我的不一样,设置一个堆 Heap ,每 5s 超时,取出堆顶最后的 fd ,进行 closed 吧。这种设计只有一个 timer_fd 。

用堆就不是固定 5s 超时了,而是根据堆顶的超时时间设置超时时间。
也不是只取出堆顶,因为代码可能导致延迟误差,所以是需要循环查看堆顶是否超时、超时就 close ,没超时则更新当前堆顶的超时时间为触发器的超时时间


> 而我的是每一个 accept 后,就创建一个 timer_fd 。然后被挤爆了。

这种是最浪费的方式之一,没必要拿来对比,应该用来改进


> 堆的删除只能在对顶进行,fd 接收数据后必须删除这个堆中的数据,但是没法删除堆中。

堆可以删除任意元素,up 、down fix 位置就可以

红黑树也可以用来做这个,但这个场景堆比红黑树要好
250 天前
回复了 drymonfidelia 创建的主题 English 网站前台和后台用英文怎么表示?
front desk 是指 front desk girl 吧?
合着我说的你根本就没好好看,或者看不懂:

> 我要接的不是 bind 和 listening 的一个 listen fd 连接,而是 accept(listen_fd)出来的几十万个 client_fd 连接。我也无法区分。

switch(fd) {
case listenerfd:
handle_accept()
case timerfd:
handler_timer()
default: // 除去 listener 和 timerfd 就是已经 accept 了的 socket
handle_socket()
}

再不济,你在 event 里那个 void*存储这个 fd 对应的结构体指针、或者只存一个 fd type 也是可以的

> 另外:试了在每个 socket_fd 同时绑定一个 timer_fd ,文件描述符会膨胀 2 两倍。普通使用没有感觉,但是高并发测试下性能急剧下降。

不需要每个 fd 一个 timer_fd ,一个 eventloop 只需要一个 timer_fd ,具体的你看我上一楼的回复吧


我认认真真给 OP 写了一大段,OP 连看都不好好看就来随便回复,如果这次还不看,那请 OP 不要回复我了
@lesismal #19

=》除非你对精确度要求非常低、时间轮间隔很小这种,否则真没必要用时间轮:一是不精确,越想要精确则间隔越小越可能空跑,二是小堆做优先级队列定时器这种性能已经足够强、基本是行业认可的最佳实践

虽然秒级 =》虽然毫秒级
1 ... 6  7  8  9  10  11  12  13  14  15 ... 60  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1724 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 34ms · UTC 16:45 · PVG 00:45 · LAX 08:45 · JFK 11:45
Developed with CodeLauncher
♥ Do have faith in what you're doing.