cornsea

2013年1月11日 #

谁说Python性能差的?-- 让python比awk快 (3)

摘要: 在(2)中,提到了python字符串慢在了split函数。那既然已经知道这个bottleneck,现在就优化下。初步思路是用C来定制一个提取第n列数的模块,然后替换我们的Python版本(1)中的split函数。下面是一个简单代码(示例下而已,不够好,:-)),用cython。目录下有两个文件,一个是tst.pyx, 一个是setup.py(cython要求的)。tst.pyx代码:from libc.stdlib cimport atolcdef long field2number(char *arr, int index): cdef int cnt cdef ... 阅读全文

posted @ 2013-01-11 11:52 cornsea 阅读(4244) 评论(0) 推荐(1) 编辑

2013年1月10日 #

谁说Python性能差(2)

摘要: 在前一篇文章中通过实验我们发现Python的split占据了大部分的时间开销,但由于数据只有3列,不能完全说明问题,本文继续添加几个数据。这次还是1000万行的文本文件,数据格式变为:a b 1990 cc dd ii tta b 1991 cc dd ii tta b 1992 cc dd ii tta b 1993 cc dd ii tta b 1994 cc dd ii tta b 1995 cc dd ii tta b 1996 cc dd ii tta b 1997 cc dd ii tta b 1998 cc dd ii tta b 1999 cc dd ii tt首先看看awk的 阅读全文

posted @ 2013-01-10 13:52 cornsea 阅读(1040) 评论(0) 推荐(0) 编辑

2013年1月9日 #

谁说Python性能差的?

摘要: [转载请注明出处]最近看到网上有人对比Python,Shell脚本, C++,主要是拿Python性能说事,个人觉得意义不大。一个语言有什么性能问题呢,是背后的实现(标准库,编译器)决定着一切,就像总有人想对比c++和c的效率一样。还有就是,Python总被人叫做是脚本语言,其实脚本更多指的是批处理命令文件,是shell命令的集合,和python完全不是一个层次。不同的工具所在层次不同,适用的问题也不同。把不同层次上的东西拉到一起做比较,什么问题也说明不了。另外,shell就知道fork,你说他还能干嘛?:-)。下面先乱侃一通,再以实例探讨下Python的性能问题。首先,Python是一门动态 阅读全文

posted @ 2013-01-09 20:36 cornsea 阅读(13288) 评论(2) 推荐(1) 编辑

2013年1月7日 #

linux RAW SOCKET加Packet af定制2层报文

摘要: 前几天做了一个feature,使用raw socket加AF_PACKET。选择了一部分,修改了下,变成一个简单的例子,分享出来。用这个只要你能接入网络,你想发什么就发什么,别干坏事就好:-)。AF_PACKET和AF_INET区别就是一个可以脱光到2层,一个只能到3层。直接把代码贴出来,希望感兴趣的人可以参考。客户端:#include <stdio.h>#include<errno.h>#include<stdlib.h>#include<unistd.h>#include<sys/types.h>#include<sys/s 阅读全文

posted @ 2013-01-07 11:29 cornsea 阅读(4452) 评论(0) 推荐(1) 编辑

2012年12月30日 #

博客迁移

摘要: 迁移到新浪博客,和微博结合方便点。blog.sina.com/cornsea 阅读全文

posted @ 2012-12-30 21:41 cornsea 阅读(187) 评论(0) 推荐(0) 编辑

2012年12月17日 #

Linux应用程序的性能分析(1)--page fault

摘要: 影响一个应用程序性能的因素有很多,这次说说page fault。1. 为什么会存在page fault问题?计算机的物理内存(看看你的内存条)有限,一般现在都是几个GB的容量了,BTW,我的笔记本有8GB,:-)。但应用程序的需求是无限的,操作系统为了解决这个矛盾,使用了虚拟内存的设计。简单的描述就是,给应用程序一个与物理内存无关的虚拟地址空间,并提供一套映射机制,将虚拟地址映射到物理内存。当然应用程序是不知道有这个映射机制存在的,他唯一需要做的就是尽情的使用自己的虚拟地址空间。操作系统提供的映射机制是运行时动态进行虚拟地址和物理地址之间的映射的,当一个虚拟地址没有对应的物理内存时候,映射机制 阅读全文

posted @ 2012-12-17 11:25 cornsea 阅读(11039) 评论(0) 推荐(1) 编辑

2012年11月21日 #

virtualbox uuid

摘要: VBoxManage internalcommands sethduuid 阅读全文

posted @ 2012-11-21 17:09 cornsea 阅读(151) 评论(0) 推荐(0) 编辑

2012年11月20日 #

Readings in Databases (转)

摘要: Readings in DatabasesA list of papers essential to understanding databases and building new data systems.BasicsThe Five-Minute Rule Ten Years Later, and Other Computer Storage Rules of Thumb: This paper (and the original one proposed 10 years earlier) illustrates a quantitative formula to calculate 阅读全文

posted @ 2012-11-20 21:40 cornsea 阅读(257) 评论(0) 推荐(0) 编辑

2012年11月12日 #

在ubuntu 12.04 (LTS)上装trac

摘要: trac介绍就不说了,直接去主页看,直接贴安装命令1. 装trac包sudo apt-get install trac trac-accountmanager trac-graphviz trac-icalviewplugin trac-mastertickets trac-wysiwyg trac-wikitablemacro trac-tags trac-customfieldadmin trac-datefieldplugin2. 装数据库,我使用sqlitesudo apt-get install sqlite3 python-sqlite3. 添加trac用户sudo adduser 阅读全文

posted @ 2012-11-12 10:39 cornsea 阅读(393) 评论(0) 推荐(0) 编辑

2012年11月11日 #

4K sector和linux

摘要: LWN: 4K-sector drives and LinuxMarch 20, 2010 | In:The IT CrowdAlmost exactly one year ago, LWNexamined the problem of 4K-sector drivesand the reasons for their existence. In short, going to 4KB physical sectors allows drive manufacturers to increase storage density, always welcome in that competiti 阅读全文

posted @ 2012-11-11 23:22 cornsea 阅读(1023) 评论(0) 推荐(0) 编辑

导航