c语言部分的开销测试

最近在写c代码时底气越来越弱,原因在于某些调用的开销,我心里并不是十分明确。写起代码来由于纠结也就变的畏畏缩缩。 今天终于抽时间测了一下,仅测试了最近常遇到的一些调用的开销。 测试环境如下: CentOS release 6.7(Final) CPU:Intel(R)Xeon(R)CPU E3-1230 V2 @ 3.30GHz 采用gcc(glibc)编译,未开任何优化。 在测试时,大部分操作cache均会命中,因此如果cache经常命中失效,还需要另外考虑。 测试结果如下:    可以看出for循环是最廉价的。 malloc是开……

lua gc的使用

主流的垃圾回收一般都是基于引用计数和标记清除算法. 从内存占用量上来讲, 引用计数无疑是有优势的, 当引用计数为0时, 直接就会将相应的对象清除, 典型的应用就是C++的智能指针. 但是基于引用计数的gc有一个坏处, 它无法解决循环引用问题. 如果A引用B会导致B的引用计数+1, B引用A也会导致A的引用计数+1, 这样A,B对象永远也不会删除. 记得在OC中似乎使用了弱引用来解决这个问题, 但总感觉这样会给代码中埋下坑. 标记清楚算法可以完美的解决循环引用问题, 其做法是从root遍历所有可达……

2015

眨眼间2015年已经过去了, 也许是我最近记忆力变差了, 总感觉好像昨天才辞职的样子。 在2015年年初辞职时, 其实我的内心非常的纠结,一方面是安逸,一方面是未知, 很难下定决定到底何去何从。 终于还是求知欲战胜了懒惰。因为我发现如果再干着同样的工作,我的技术不太可能提高太多。所以最终我还是选择了辞职,由于上一份工作的原因,相比前端程序来讲,我对于后端的兴趣更大。因此在找工作方面,我更着重于找服务器编程方面的工作。因此后来就找了一份游戏服务器工作. 现在想想……