Temp

7805 bookmarks
Custom sorting
Go技术日报(2021-06-16)——详解Redis的架构演化之路 - 每日新闻 - Go 夜读
Go技术日报(2021-06-16)——详解Redis的架构演化之路 - 每日新闻 - Go 夜读
每日一谚: Please don’t log in your libraries . go中文网每日资讯–2021-06-16 一、Go语言中文网 Go:字符串以及转换优化 Go问题实战:时钟源为什么会影响性能 二、亚军进化史 Go技术日报(2021-06-15)——图解 Go 逃逸分析 三、Go夜读 【本周四】第 116 期理论结合实践详解 LSM 树存储引擎(bitcask、moss、leveldb 等) 四、腾讯云原生 一篇文章带你搞懂 etcd 3.5 的核心特性 五、腾讯技术工程 一文带你理解云原生 六、CloudNativeCommunity 知名图片分享平台 Pinterest 如何有把握地扩展 Kubernetes 七、k8s技术圈 使用 kube-vip 搭建高可用 Kubernetes 集群 八、董泽润的技术笔记 Rust 居然允许变量 shadowing 深度剖析 Go 的 nil 九、网管叨bi叨 详解Redis的架构演化之路(附16张图解) 十、Go招聘 厉害了我的Go!...
·talkgo.org·
Go技术日报(2021-06-16)——详解Redis的架构演化之路 - 每日新闻 - Go 夜读
Go 程序员面试笔试宝典
Go 程序员面试笔试宝典
Go 程序员面试笔试宝典 # 作者: 饶全成, 欧长坤, 楚秦 等编著 ISBN: 978-7-111-70242-9 出版社:机械工业出版社 购买链接 # 京东 当当 天猫 关于本站 # 这个站点包含了纸质版图书中的部分内容、对纸质版图书内容的部分更新以及勘误, 我们推荐读者购买实体书籍配合本站共同使用。 致读者 # 因为 Go 语言在服务端的开发效率、服务性能有着不俗的表现,最近几年,Go 的热度越来越高。国内外很多大公司都在大规模地使用 Go。Google 就不用说了,它是 Go 语言诞生的地方,其他公司 如 Meta(Facebook)、uber、腾讯、字节跳动、知乎、脉脉等都在拥抱和转向 Go。用 Go 语言开发的著名开源项目也非常多,如 k8s、docker、etcd、consul,每个名字都是如雷贯耳。 随着市场对 Go 语言人才需求的不断增长,很多开发人员都从其他语言,如 PHP、C++、Java 等 转投 Go 语言的怀抱。因为 Go 语言自身的特点和优势,这些转型的开发人员也能写出性能不错的代码。但是,由于没有深入系统地学习 Go 的底层原理,在某些场景下,因为不懂底层原理,无法快速定位问题、无法进行性能优化。 有些人说,语言并不重要,架构、技术选型这些才是根本。笔者觉得这个说法不完全对,架构、技术选型固然重要,但语言其实是开发人员每天都要打交道的东西,会用是远远不够的,只有用好、知其所以然才能更全面地发挥其威力。 近一两年,笔者在中文世界论坛里发表了很多篇与 Go 源码阅读相关的文章,也是在写作本书的过程中做的功课。我通过看源码、做实验、请教大牛,对 Go 的“理解”逐渐加深。再去看很多文章就会感觉非常简单,为什么这些我都能掌握? 因为我研究过,我知道原理是什么,所以也知道你想要说什么。 最后,无论你是面试官,还是求职者,这本书都能让你有所收获。另外,本书内容不仅仅是对面试有帮助,所有写 Go 的程序员都能从本书中有所收获,能让你的 Go 水平真正上升一个台阶。 致谢 # 在写作本书的过程中,我和本书的二作欧长坤有很多交流讨论,他对 Go 的理解非常深,他同时也是 Go Contributor,我们的交流和讨论让我对很多问题有了更深入的理解,非常感谢。我从 Go 夜读社区 的分享中学到了很多东西。并且我本人也担任讲师, 分享了多期 Go 相关的内容,很多观众都表示很有帮助。教是最好的学,我本人的收获是最多的。感谢 Go 夜读社区的发起者杨文及 SIG 小组成员煎鱼和傲飞。另外,我和 “Go 圈” 的很多博客作者也有很多交流,比如曹大、Draven 大神收获良多,在此一并感谢。这两年,我在 “码农桃花源” 发表了很多文章,得到了很多读者的肯定,这也是我能不断写作的动力,感谢你们。
·golang.design·
Go 程序员面试笔试宝典
垃圾回收的优化问题
垃圾回收的优化问题
GC 的优化问题 # 13. GC 关注的指标有哪些? # Go 的 GC 被设计为成比例触发、大部分工作与赋值器并发、不分代、无内存移动且会主动向操作系统归还申请的内存。因此最主要关注的、能够影响赋值器的性能指标有: CPU 利用率:回收算法会在多大程度上拖慢程序?有时候,这个是通过回收占用的 CPU 时间与其它 CPU 时间的百分比来描述的。 GC 停顿时间:回收器会造成多长时间的停顿?目前的 GC 中需要考虑 STW 和 Mark Assist 两个部分可能造成的停顿。 GC 停顿频率:回收器造成的停顿频率是怎样的?目前的 GC 中需要考虑 STW 和 Mark Assist 两个部分可能造成的停顿。 GC 可扩展性:当堆内存变大时,垃圾回收器的性能如何?但大部分的程序可能并不一定关心这个问题。 14. Go 的 GC 如何调优? # Go 的 GC 被设计为极致简洁,与较为成熟的 Java GC 的数十个可控参数相比,严格意义上来讲,Go 可供用户调整的参数只有 GOGC 环境变量。当我们谈论 GC 调优时,通常是指减少用户代码对 GC 产生的压力,这一方面包含了减少用户代码分配内存的数量(即对程序的代码行为进行调优),另一方面包含了最小化 Go 的 GC 对 CPU 的使用率(即调整 GOGC)。 GC 的调优是在特定场景下产生的,并非所有程序都需要针对 GC 进行调优。只有那些对执行延迟非常敏感、 当 GC 的开销成为程序性能瓶颈的程序,才需要针对 GC 进行性能调优,几乎不存在于实际开发中 99% 的情况。 除此之外,Go 的 GC 也仍然有一定的可改进的空间,也有部分 GC 造成的问题,目前仍属于 Open Problem。
·golang.design·
垃圾回收的优化问题
GitHub - golang-design/go-questions: 📖 Go 程序员面试笔试宝典 | 从问题切入,串连 Go 语言相关的所有知识,融会贯通。 https://golang.design/go-questions
GitHub - golang-design/go-questions: 📖 Go 程序员面试笔试宝典 | 从问题切入,串连 Go 语言相关的所有知识,融会贯通。 https://golang.design/go-questions
📖 Go 程序员面试笔试宝典 | 从问题切入,串连 Go 语言相关的所有知识,融会贯通。 https://golang.design/go-questions - golang-design/go-questions: 📖 Go 程序员面试笔试宝典 | 从问题切入,串连 Go 语言相关的所有知识,融会贯通。 https://golang.design/go-questions
·github.com·
GitHub - golang-design/go-questions: 📖 Go 程序员面试笔试宝典 | 从问题切入,串连 Go 语言相关的所有知识,融会贯通。 https://golang.design/go-questions
刨根问底——记一次 OOM 试验造成的电脑雪崩引发的思考 | HeapDump性能社区
刨根问底——记一次 OOM 试验造成的电脑雪崩引发的思考 | HeapDump性能社区
此性能文章由HeapDump性能专家 geekoftaste 更新于 2021年08月10日17时48分,问题初现----电脑雪崩在写「垃圾回收-实战篇」时,按书中的一个例子做了一次实验,我觉得涉及的知识点挺多的,所以单独拎出来与大家共享一下,相信大家看完肯定有收获。 画外音:尽信书不如无书,对每一个例子
·heapdump.cn·
刨根问底——记一次 OOM 试验造成的电脑雪崩引发的思考 | HeapDump性能社区
垃圾回收-实战篇 | HeapDump性能社区
垃圾回收-实战篇 | HeapDump性能社区
此性能文章由HeapDump性能专家 geekoftaste 更新于 2022年04月12日17时48分,JVM 参数简介在开始实践之前我们有必要先简单了解一下 JVM 参数配置,因为本文之后的实验中提到的 JVM 中的栈,堆大小,使用的垃圾收集器等都需要通过 JVM 参数来设置先来看下如何运行一个 Ja
·heapdump.cn·
垃圾回收-实战篇 | HeapDump性能社区
深度 | 从Go高性能日志库zap看如何实现高性能Go组件 · Issue #781 · yangwenmai/learning-growth
深度 | 从Go高性能日志库zap看如何实现高性能Go组件 · Issue #781 · yangwenmai/learning-growth
深度 | 从Go高性能日志库zap看如何实现高性能Go组件 导语:zap是uber开源的Go高性能日志库。本文作者深入分析了zap的架构设计和具体实现,揭示了zap高效的原因。并且对如何构建高性能Go语言库给出自己的建议。 作者简介:李子昂,美图公司架构平台系统研发工程师,从事长连接服务和分布式存储组件的研发和支持。 摘要… August 15, 2018 at 09:39AM via In...
·github.com·
深度 | 从Go高性能日志库zap看如何实现高性能Go组件 · Issue #781 · yangwenmai/learning-growth
项目介绍 - 《Go 语言问题集(Go Questions)》 - 书栈网 · BookStack
项目介绍 - 《Go 语言问题集(Go Questions)》 - 书栈网 · BookStack
项目介绍项目目录深度博客收录学习交流 从问题切入,串连 Go 语言相关的所有知识,融会贯通。Go 语言学习入门和进阶知识。以 Go 语言为突破口,从问题切入,掌握 Go 语言、后端相关的各种硬核知识。希望本项目能在职场表现、项目实战上助你一臂之力!
·bookstack.cn·
项目介绍 - 《Go 语言问题集(Go Questions)》 - 书栈网 · BookStack
在高并发的情况下任何东西的生成和销毁都会影响到最终的性能,由于 Go 使用了 GC 的方式进行内存管理,用过的对象会被销毁掉。为了能够重用对象,Go 为我们提供了 sync.Pool 这个工具。
在高并发的情况下任何东西的生成和销毁都会影响到最终的性能,由于 Go 使用了 GC 的方式进行内存管理,用过的对象会被销毁掉。为了能够重用对象,Go 为我们提供了 sync.Pool 这个工具。
上边这段代码比较简单的说明了 sync.Pool 怎么使用,我们只需要构造一个 sync.Pool 结构体,并且把 New 这一项赋值。我在最后一部分增加了一次 runtime.GC(),多数情况下你就能看到如下的输出 也就是说我们 put 进去的 instance 被销毁了,是调用我们定义 Pool 时的 New 方法重新产生的。在平时我们不用调用 runtime.GC(),go 的 GC…
·medium.com·
在高并发的情况下任何东西的生成和销毁都会影响到最终的性能,由于 Go 使用了 GC 的方式进行内存管理,用过的对象会被销毁掉。为了能够重用对象,Go 为我们提供了 sync.Pool 这个工具。
LearnGolang/LearnGolang: 《Golang学习资源大全-只有Go语言才能改变世界》Only Golang Can Change The World.
LearnGolang/LearnGolang: 《Golang学习资源大全-只有Go语言才能改变世界》Only Golang Can Change The World.
《Golang学习资源大全-只有Go语言才能改变世界》Only Golang Can Change The World. - LearnGolang/LearnGolang: 《Golang学习资源大全-只有Go语言才能改变世界》Only Golang Can Change The World.
·github.com·
LearnGolang/LearnGolang: 《Golang学习资源大全-只有Go语言才能改变世界》Only Golang Can Change The World.