跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • Golang Json 并发解析怎么做才最好?
未分類
3 9 月 2020

Golang Json 并发解析怎么做才最好?

Golang Json 并发解析怎么做才最好?

資深大佬 : PiersSoCool 17

我想问一下 golang 的协程开销到底会不会很大?

比如我开了 1W 个 go routine 并发解析 json,会不会比 for 循环连续解析 1W 个更慢,因为协程虽然轻量,但是创建还是需要时间和内存?

那如果是 10W 、100W 甚至更多呢?

或者说,这种情况下怎么做最合适?

大佬有話說 (5)

  • 資深大佬 : maemual

    解析 JSON 吃 CPU,你到 CPU 核数基本就能吃满主机 CPU 了,再往上加就白白增加 goroutine 的调度成本了吧

  • 主 資深大佬 : PiersSoCool

    @maemual 所以说还是有个度,超过这个度 goroutine 是低效的。

  • 資深大佬 : linvon

    你的 json 来源呢?如果是从网络或者文件读取那 goroutine 肯定效率提升很大啊。但如果都在内存里,那完全就是 CPU 密集操作,你开 goroutine 就是负优化

  • 主 資深大佬 : PiersSoCool

    @linvon 读的是 Redis 队列的数据,一次读 2000 条放入内存里,之后处理。也不是完全负优化,因为我开了 2000 个 goroutine 确实比顺序执行跑的快得多。但调优的时候发现 2000 条 ~ 3000 条的时候,速度就不提升了,这时候可能是负优化了。

  • 資深大佬 : linvon

    @PiersSoCool #4 涉及到 io 操作那用 goroutine 肯定有提升,速度不在一个量级上。2000 条在内存实际上很少,执行完全部数据用不了一秒。开 goroutine 本身也有开销的,当异步 IO 带来的提升已经被足够的 goroutine 利用完后,你再开就没什么作用了

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具