bpftrace动态追踪golang应用-函数内联问题
问题在上一篇文章的golang代码中,函数add的上一行,增加了一条注释语句://go:noinline。在bpftrace追踪时,是否可以去掉?有什么作用?现象为了说明该问题,设计一个例子。golang代码中,有两个求和函数。
golang标准库解析-slice/array
slice 和 array要说 slice,那实在是太让人熟悉了,从功能上讲 slice 支持追加,按索引引用,按索引范围生成新的 slice,自动扩容等,和 C++ 或 Java 中的 Vector 有些类似,但也有一些区别。
Go高级实践:反射3定律
反射来自元编程,指通过类型检查变量本身数据结构的方式,只有部分编程语言支持反射。类型反射构建在类型系统之上,Go是静态类型语言,每一个变量都有静态类型,在编译时就确定下来了。
在 Golang 中针对 int64 类型优化 abs()
如果你想学点新东西或试试身手,可以去一探究竟。我们可以验证一下:上边的代码中,将n先从int64转成float64,通过math.Abs取到绝对值后再转回int64,多次转换显然会造成性能开销。
并发服务器 IO多路复用之poll 与 epoll(重点)
I/O多路复用之pollpoll函数接口#include int poll(struct pollfd *fds, nfds_t nfds, int timeout);参数解释:fds是一个poll函数监听的结构列表.
golang实现原始数组向稀疏数组的转化
package mainimport “fmt”//如果原始数组中元素个数较少,那么存储的话比较浪费空间,因此可以使用稀疏数组的办法解决该问题//稀疏数组 : 用于节省存储空间type ValNode struct { row int col int