欢迎入坑我的新项目: Go 语言高性能编程

2020-12-13 19:02:51 +08:00
 gzdaijie

在实现 7days-golang 这个项目过程中,接触到了很多开源项目的源码,里面有很多优雅的实现,结合最近工作中的一些经历,启动了「 Go 语言高性能编程」这个开源电子书项目。Go 语言优秀的电子书其实蛮多的,比如 Go 语言原本,Go 语言实现与设计等,可能对大部分童鞋来说过于深奥了。「 Go 语言高性能编程」这个项目聚焦于编程实践,同时会有少量的原理分析,比较适合希望无痛进阶的初学者~

一个月利用碎片时间写了十篇文章,还顺便改造了下我的 hexo 博客模板,融合了 gitbook 的排版方式。

感兴趣的童鞋可以关注一波,这个项目也是一起兴起,比较肝,提交时间基本在凌晨了。七天用 Go 从零实现这个项目也会继续维护的,不过这个项目特别需要整块的时间,最近整块时间实在太少,新坑一直没填上。

项目地址:high-performance-go

10368 次点击
所在节点    Go 编程语言
84 条回复
gzdaijie
2020-12-13 21:53:28 +08:00
@CrazyBoyFeng 对的,动态链接是支持的,比如 cgo 编程,链接 C 库,类似于胶水。
CrazyBoyFeng
2020-12-13 22:03:54 +08:00
不过虽然动态编译 helloworld 只有 16kb,但是动态链接编译 go 标准库有 32mb 大小。如果应用少的话,可能还不如静态编译应用省空间。
http://z-rui.github.io/post/2016/07/golang-shared-library/
不知道有没有分模块编译动态库的方式,类似 python 那样。
raaaaaar
2020-12-13 22:15:14 +08:00
催一个 7 天
darksword21
2020-12-13 22:27:05 +08:00
🐎️住!
ShiningMage
2020-12-13 22:38:00 +08:00
标记一下
yixinlove
2020-12-13 23:09:15 +08:00
标记一下
jmyz0455
2020-12-13 23:57:35 +08:00
请问,go 写 web 好写吗?撸 crud 快吗?
gzdaijie
2020-12-14 00:14:57 +08:00
@jmyz0455 复杂的应用上,go 的生态比起 java 还是差挺多。简单网站区别不大。
yhzwy
2020-12-14 00:25:57 +08:00
go 一般是做什么领域的比较多 业务开发方向的
gzdaijie
2020-12-14 00:35:04 +08:00
@yhzwy 可以多关注 go 比较知名的项目,微服务,系统编程(容器,数据库,文件系统等),以及一些性能工具会比较多。
shoaly
2020-12-14 01:03:39 +08:00
@gzdaijie 感谢老哥给的 压缩方案, 之前一直在找没找到.... 美滋滋
lewinlan
2020-12-14 02:00:08 +08:00
朋友,你的代码有不止一个问题啊。
比如 for 和 range 的性能比较那一段,二者根本就是不同的代码,当然性能有差距了。
建议再好好理解一下 range 的原理
Ehco1996
2020-12-14 07:29:53 +08:00
支持 我是从 geeorm 入坑的哈哈

希望能讲讲网络相关的优化
比如 buffer poll,splice 特性之类的
Takamine
2020-12-14 08:01:57 +08:00
支持,我记得还有 Python 的坑,楼主别忘了。:doge:
gzdaijie
2020-12-14 08:29:07 +08:00
@lewinlan 哈哈,感谢你的建议。工作中的一些总结和尝试,大部分是自己的理解,错误在所难免,不过写之前也在尽可能多地参考。在讨论中慢慢完善和修正吧。早上刚合入了一个 PR 。
gzdaijie
2020-12-14 08:30:21 +08:00
@Ehco1996 嗯,网络异步 IO,多路复用这一块的确是比较某意思的。写法上接近 C 语言编程了。
gzdaijie
2020-12-14 08:31:23 +08:00
@Takamine 啊,这。。。过于细心了。
gzdaijie
2020-12-14 08:33:46 +08:00
@shoaly 哈哈,有场景用上了是最大的支持了~
gzdaijie
2020-12-14 08:47:01 +08:00
这个贴的批评和建议价值都很大。期待各位大大的 issue 和 PR 。今晚打算把 upx 这部分讨论,还有把有个老哥发起的静态链接的贴的内容传送门到博客中去,留个参考。
eudore
2020-12-14 08:51:38 +08:00
建议加上 sync.Pool 和 unsafe 两篇,都是常用的性能优化方法。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/735027

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX