多核环境下cache line的测试
admin 11年前 (2014-06-27) 4208浏览 0评论
前阵子接触到一道关于数组内部链表(多用于内存池技术)的数据结构的题, 这种数据结构能够比普通链表在cache中更容易命中, 理由很简单, 就是因为其在地址上是连续的(=.=!), 借这个机会, 就对cpu cache进行了一个研究, 今天做一个简单的...
admin 11年前 (2014-06-27) 4208浏览 0评论
前阵子接触到一道关于数组内部链表(多用于内存池技术)的数据结构的题, 这种数据结构能够比普通链表在cache中更容易命中, 理由很简单, 就是因为其在地址上是连续的(=.=!), 借这个机会, 就对cpu cache进行了一个研究, 今天做一个简单的...
admin 11年前 (2014-06-26) 3105浏览 0评论
白忙活了近2个小时,不吐不快: 一切要从今天下午5点左右说起, 调试一个扩展, 用valgrind(valgrind-3.8.1)做例行检查, 很不幸的valgrind报告invalid read: db attach上去以后, 发现报告错误的地方是...
admin 11年前 (2014-06-26) 3687浏览 0评论
Embeds a browser in cocos2d-x 在游戏中嵌入网页是很常见的需求,cocos2d-x 引擎官方并没有提供这个功能。 我在网上转了一圈,把找到的资料做了一些修改,将其集成到我们使用的 quick-cocos2d-x 引擎中。 ...
admin 11年前 (2014-04-17) 2948浏览 0评论
遇到一些无良的idc超卖严重的话分配到我们手里的内存可能并不是标配的内存,这时可以用以下脚本来检测一下。 先关闭swap,这样测出来的才是内存,或者不关闭直接测试然后去除swap值就是真实可用内存了。 关闭SWAP sudo swapoff -a 开...
admin 11年前 (2014-03-11) 3671浏览 0评论
动态的意思是这样的需求: 假设,Python本地变量中已经存在了两个变量(不一定时代码中写死的,也可以是程序自动生成的)。 a = 3 b = 4 现在,有一个写了数学表达式的字符串: 'a + b' 则,期望其能输出7。 这个需...
admin 11年前 (2013-09-23) 3433浏览 0评论
简单说,strace是可以跟踪一个程序在做什么的命令。 一 它可以监控某个要执行的命令,比如平时最常见的ls命令: [root@localhost a]# strace ls execve(“/bin/ls”, [“...
admin 12年前 (2013-07-16) 3294浏览 0评论
最近为了测试网速情况怎么样,由于部分业务服务器需要关闭icmp,这样的话采用普通的ping就无法适应我的需求,于是自己简单的写了一个基于tcp端口的ping的程序,由于c执行效率比较的不错,但是开发效率低下,而python是开发效率高,但是执行效率不...
admin 12年前 (2013-07-16) 2979浏览 0评论
最近写了一个C程序统计计算web log中的ip每个IP出现的次数,于是采用数据结构中的二叉树进行实现,具体代码如下: #include <stdio.h> #include <string.h> #include <s...
admin 12年前 (2013-06-09) 3120浏览 0评论
还有一个典型的递归例子是对已排序数组的二分查找算法。 现在有一个已经排序好的数组,要在这个数组中查找一个元素,以确定它是否在这个数组中,很一般的想法是顺序检查每个元素,看它是否与待查找元素相同。这个方法很容易想到,但它的效率不能让人满意,它的复杂度是...
admin 12年前 (2013-05-07) 3341浏览 0评论
介绍 众所周知,字典类型的实现不外乎哈希和平衡树,当然还有Google实现的B-tree版本。哈希实现是字典类型的主流,其随着键值膨胀的键冲突是这种实现的痛,目前解决的方法很多,如Redis的双哈希表然后迁移,还有BeansDB的哈希树等等。平衡树实...
admin 12年前 (2013-04-26) 3366浏览 0评论
C重构,C重构,看的已经有点郁闷了!这次打算收尾了,将几种方法的性能做个横向比较吧,近期不再研究。 相关文章: Cython快速实现Python的C重构 无须coding快速实现Python的C重构 老一套的python源码: def sheepBo...
admin 12年前 (2013-04-26) 3433浏览 0评论
正如之前说的,很多情况下我们需要对代码中的部分甚至于全部进行基于C语言的重构以大幅提升性能。对于很多团队来说,由于C语言过于复杂,很难像Python,PHP或者其他高级语言那样快速上手。本文就着重介绍如何通过现有的资源,快速的将python转成C而尽...
admin 12年前 (2013-04-26) 4353浏览 0评论
说起Python,首先想到的他是一种“胶水语言”。作为一种合格的胶水语言,比起开发的难易程度或者开发效率来讲,语言的适应性和可扩充性同样很重要。python的一大特色是有许多方便灵活的扩展模块。 对于上次我们曾经说过ctypes的方式可能对于已经存在...
admin 12年前 (2013-04-24) 3080浏览 0评论
相对于Window下的设置,Linux要简单的很多。 1. 示例程序 #include <stdio.h> #include "mysql/mysql.h" int main(){ MYSQL mysql; mysql...
admin 12年前 (2013-04-16) 6357浏览 0评论
本菜鸟写了一个server,经长时间激烈的测试以后,终于要在测试环境供外部使用了。经过一天激烈的打包,一枚rpm终于诞生了。上传到公司的yum包仓库,当PE同学部署时遇到了问题。程序在启动过程中莫名地core掉了,屡试不爽。使用gdb查看core文件...
admin 12年前 (2013-04-16) 2880浏览 0评论
如今,Web内容多是动态生成的,通常是由Web服务器的调用脚本生成。有很多常用的服务端脚本,PHP,ASP,Perl,Python,不一而足。然而,很久以前,很流行的生成动态内容的方法就是CGI。CGI(Common Gateway Interfac...
admin 12年前 (2013-04-16) 2926浏览 0评论
场景是这样的。我在写一个Nginx模块,该模块使用了MySQL的C客户端接口库libmysqlclient,当然mysqlclient还引用了其他的库,比如libm, libz, libcrypto等等。对于使用mysqlclient的代码来说,...
admin 12年前 (2013-04-16) 2817浏览 0评论
由于毕业设计开发的平台是Linux, 为了在Linux进行,Makefile的编写是必不可少的,为偷懒,我想使用autotools来进行Makefile的自动生成,在阅读大量的资料后,在理解的基础之上,做了一个小实验,过程记录得非常详细! 我的平台是...