cpython和python_PyPy 和 CPython 的性能比较测试

PyPy

CPython

的性能比较测试

最近我在维基百科上完成了一些数据挖掘方面的任务。

它由这些部分组成:解析

enwiki-pages-articles.xml

的维基百

科转储;把类别和页存储到

MongoDB

里面;对类别名称进

行重新分门别类。

我对

CPython 2.7.3

PyPy 2b

的实际任务

性能进行了测试。我使用的库是:

redis 2.7.2pymongo 2.4.2

此外

CPython

是由以下库支持的:

hiredispymongo

c-extensions

测试主要包含数据库解析,

所以我没预料到会从

PyPy

得到多大好处

(何况

CPython

的数据库驱动是

C

写的)

下面我会描述一些有趣的结果。

抽取维基页名

我需要在所有维基百科的类别中建立维基页名到

page.id

联接并存储重新分配好的它们。最简单的解决方案应该是导

enwiki-page.sql

(定义了一个

RDB

表)到

MySQL

里面,

然后传输数据、

进行重分配。

但我不想增加

MySQL

需求

(有

骨气!

XD

)所以我用纯

Python

写了一个简单的

SQL

插入语

句解析器,然后直接从

enwiki-page.sql

导入数据,进行重分

配。这个任务对

CPU

依赖更大,所以我再次看好

PyPy

/

timePyPy 169.00s

用户态

8.52s

系统态

90% CPUCPython

1287.13s

用户态

8.10s

系统态

96% CPU

我也给

page.id->

类别做了类似的联接(我笔记本的内存太小了,不能保存供

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值