V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  guonaihong  ›  全部回复第 8 页 / 共 23 页
回复总数  450
1 ... 4  5  6  7  8  9  10  11  12  13 ... 23  
你搜索下 dma 。不过要看网卡是否支持。
2020-06-16 16:24:25 +08:00
回复了 guonaihong 创建的主题 Go 编程语言 高性能定时器,基于 5 级时间轮实现。fast,fast,fast
@reus go1.14.4
goos: linux
goarch: amd64
pkg: benchmark
Benchmark_antlabs_Timer_AddTimer/N-1m-16 14327593 77.1 ns/op
Benchmark_antlabs_Timer_AddTimer/N-5m-16 16078015 80.0 ns/op
Benchmark_antlabs_Timer_AddTimer/N-10m-16 16101303 86.5 ns/op
Benchmark_RussellLuo_Timingwheel_AddTimer/N-1m-16 5994146 195 ns/op
Benchmark_RussellLuo_Timingwheel_AddTimer/N-5m-16 6636303 190 ns/op
Benchmark_RussellLuo_Timingwheel_AddTimer/N-10m-16 6803047 198 ns/op
Benchmark_ouqiang_Timewheel/N-1m-16 861498 1670 ns/op
Benchmark_ouqiang_Timewheel/N-5m-16 685520 1724 ns/op
Benchmark_ouqiang_Timewheel/N-10m-16 695408 1685 ns/op
Benchmark_Stdlib_AddTimer/N-1m-16 6622006 185 ns/op
Benchmark_Stdlib_AddTimer/N-5m-16 7021538 187 ns/op
Benchmark_Stdlib_AddTimer/N-10m-16 7219875 170 ns/op
PASS
ok benchmark 104.387s
2020-06-16 16:24:04 +08:00
回复了 guonaihong 创建的主题 Go 编程语言 高性能定时器,基于 5 级时间轮实现。fast,fast,fast
@reus 请看看下压测项目,有 go 1.14.4
@u823tg 哈哈。。。下次可以玩 rust 。
@johng 是的。
@prenwang 也感谢你的使用,哈哈。。。
@wysnylc 看过你的留言,哈哈,你不是用 java 的吗。。。
@lasuar 感谢支持。。。
2020-05-20 13:03:51 +08:00
回复了 fishofcat 创建的主题 Go 编程语言 刷题断断续续
按 tag 玩。
go 有指针,实在没必要所有类型都是引用。
想要引用,无非 type 加个*。指针这个大杀器已经给你,就看你怎么玩了。
2020-05-17 16:35:22 +08:00
回复了 guonaihong 创建的主题 Go 编程语言 向繁琐的赋值代码说不。deepcopy.Copy 深度拷贝来了
@Kisesy 要支持 dst, src 不对称指针拷贝,要有个好的算法解决循环引用的问题(结构体里面有环路),deepcopy 现在用的算法,是记录指针地址。并且因为 deepcopy 是深度拷贝,要取引用 struct 。如果要支持不对称指针,遇到下面的代码就 gg 了,当然现在是没问题的。coven 是指针浅拷贝,有时间不会解引用,所以不要操这份心.
type R struct {
R *R
}

r := R{}
r.R = &r
2020-05-17 16:25:07 +08:00
回复了 guonaihong 创建的主题 Go 编程语言 向繁琐的赋值代码说不。deepcopy.Copy 深度拷贝来了
@useben 和 jinzhu/copier 对比,deepcopy 快。压测结果可看附言 1.
2020-05-13 13:34:57 +08:00
回复了 guonaihong 创建的主题 程序员 在命令行里面准备起飞--解释来龙去脉
@paoqi2048 哈哈。。。
2020-05-09 13:59:14 +08:00
回复了 guonaihong 创建的主题 Go 编程语言 向繁琐的赋值代码说不。deepcopy.Copy 深度拷贝来了
@lewinlan 是的,反射包要少用,老师傅也容易写出 bug 。
2020-05-07 22:09:12 +08:00
回复了 xmge 创建的主题 程序员 一句话概括为什么学习 go 语言
@jimyan go 可以不依赖 libc,直接 env CGO_ENABLED=0 就行。
2020-05-07 15:05:46 +08:00
回复了 guonaihong 创建的主题 Go 编程语言 向繁琐的赋值代码说不。deepcopy.Copy 深度拷贝来了
@tcfenix 这是我的 test code,结果表明 copier 连两次序列化 json 的时间都比不过,性能直接垫底。。。https://github.com/antlabs/deepcopy-benchmark
2020-05-07 14:18:55 +08:00
回复了 guonaihong 创建的主题 Go 编程语言 向繁琐的赋值代码说不。deepcopy.Copy 深度拷贝来了
@tcfenix 测试错了吧,把代码贴到 V2EX 呢(我现在翻墙有问题),我测试,copier 是比较慢的,这速度有点像空跑。
2020-05-07 13:48:08 +08:00
回复了 guonaihong 创建的主题 Go 编程语言 向繁琐的赋值代码说不。deepcopy.Copy 深度拷贝来了
@blackboom ok, 我思考下。
2020-05-07 13:37:33 +08:00
回复了 guonaihong 创建的主题 Go 编程语言 向繁琐的赋值代码说不。deepcopy.Copy 深度拷贝来了
@rrfeng hi rrfeng 。不加 tag 可以直接拷贝的。所有 ->“我要是能在源结构里加 tag,直接写个 copy 方法不爽快吗??”,所以,不 tag,不需要写 copy 方法会更更爽快。。。

从 ->"我觉得一个完整的工程里很难用到 deepcopy 这种方法,更多的是用别人的数据结构,然后想复制一份出来操作避免侵入原数据,所以 tag 毫无用武之地……" ,这里说了 if 的情况,所以 else 也是有点用的,比如都是自己的包,刚好要过滤几个字段。。。
2020-05-07 11:48:26 +08:00
回复了 guonaihong 创建的主题 Go 编程语言 向繁琐的赋值代码说不。deepcopy.Copy 深度拷贝来了
@useben 好,会压测下,结果到时候通知。
1 ... 4  5  6  7  8  9  10  11  12  13 ... 23  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2758 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 23ms · UTC 11:59 · PVG 19:59 · LAX 04:59 · JFK 07:59
Developed with CodeLauncher
♥ Do have faith in what you're doing.