前情提要
可以先看下我之前在 JTalk 上分享的实践:https://www.bilibili.com/video/BV1UZ4y1g7ju
这篇文章是对于其中我最后说的“使用 SIMD 优化”部分的详细说明。
TL;DR
List<i64> 场景下提升六倍,List<i32> 提升十二倍。
青春不是桃面、丹唇、柔膝,
而是深沉的意志、恢弘的想象、
炽热的感情。"> 使用 SIMD 优化 Thrift 编码
可以先看下我之前在 JTalk 上分享的实践:https://www.bilibili.com/video/BV1UZ4y1g7ju
这篇文章是对于其中我最后说的“使用 SIMD 优化”部分的详细说明。
List<i64> 场景下提升六倍,List<i32> 提升十二倍。
https://www.bilibili.com/video/BV1UZ4y1g7ju
链接: https://pan.baidu.com/s/1w8TKFZcFbAi-ug26pzkxug 密码: vvbh
解压密码:purewhite.io
最近在研究性能优化的时候,看到了 golang runtime 包下的一个文档HACKING.md
觉得颇有意思,读完之后觉得对于 runtime 的理解更上一层,于是想着翻译一下。
本章内容会有一定深度,需要有一定基础的读者,限于篇幅在这里不可能完全展开各个细节。
这一篇文档面向的读者是 runtime 的开发者,所以有很多内容在我们普通使用中是接触不到的。
最近自己搞了一个基于 gitlab 的适用于版本发布(非持续集成)的脱胎于 git-flow 的协作规范,发布出来大家可以作为借鉴。
一直在工作中使用 Apache Thrift,但是一直对其中的一些概念一知半解,于是终于抽空学习了一下,记录下来作为学习笔记。
在go中,uintptr不能持有对象,unsafe包不安全,但是我之前一直没有时间验证,今天写了段代码验证了一下。
最近在golang的邮件列表中看到了一篇关于GC如何处理unsafe.Pointer
的讨论,觉得应当记录一下。