原文:深度解密Go语言之 pprof

toc 相信很多人都听过 雷神 关于性能优化的故事。在一个 D 游戏引擎的源码里,John Carmack 将 sqrt x 这个函数的执行效率优化到了极致。 一般我们使用二分法,或者牛顿迭代法计算一个浮点数的平方根。但在这个函数里,作者使用了一个 魔数 ,根本没有迭代,两步就直接算出了平方根。令人叹为观止 因为它是最底层的函数,而游戏里涉及到大量的这种运算,使得在运算资源极其紧张的 DOS 时 ...

2019-11-11 08:16 3 2577 推荐指数:

查看详情

深度解密Go语言之 scheduler

目录 前置知识 os scheduler 线程切换 函数调用过程分析 goroutine 是怎么工作的 什么是 go ...

Tue Sep 03 03:16:00 CST 2019 6 2776
深度解密Go语言之map

目录 什么是 map 为什么要用 map map 的底层如何实现 map 内存模型 创建 map 哈希函数 key 定位过程 ...

Wed May 22 17:02:00 CST 2019 2 8053
深度解密Go语言之context

目录 什么是 context 为什么有 context context 底层实现原理 整体概览 接口 Context ...

Wed Jun 12 16:46:00 CST 2019 2 4786
深度解密Go语言之反射

目录 什么是反射 为什么要用反射 反射是如何实现的 types 和 interface 反射的基本函数 反射的三大定律 反射 ...

Tue May 07 06:36:00 CST 2019 1 3290
深度解密Go语言之Slice

Go 语言的 slice 很好用,不过也有一些坑。slice 是 Go 语言一个很重要的数据结构。网上已经有很多文章写过了,似乎没必要再写。但是每个人看问题的视角不同,写出来的东西自然也不一样。我这篇会从更底层的汇编语言去解读它。而且在我写这篇文章的过程中,发现绝大部分文章都存在一些问题,文章里 ...

Tue Apr 02 06:23:00 CST 2019 2 4436
深度解密Go语言之unsafe

目录 指针类型 什么是 unsafe 为什么有 unsafe unsafe 实现原理 unsafe 如何使用 获取 slice 长度 获 ...

Mon Jun 03 17:07:00 CST 2019 0 2805
深度解密Go语言之channel

目录 并发模型 并发与并行 什么是 CSP 什么是 channel channel 实现 CSP 为什么要 ch ...

Mon Jul 22 06:06:00 CST 2019 0 2411
深度解密Go语言之关于 interface 的10个问题

目录 1. Go 语言与鸭子类型的关系 2. 值接收者和指针接收者的区别 方法 值接收者和指针接收者 两者分别在何时使用 3. iface 和 eface 的区别是什么 4. 接口的动态类型和动态值 5. 编译器 ...

Thu Apr 25 14:23:00 CST 2019 4 5786
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM