cPickle vs. pickle - ???
Странно...
Читаю докстринг к cPickle и вижу дословно: "C implementation and optimization of the Python pickle module."
И в докстринге к pickle: "See module cPickle for a (much) faster implementation."
И решил я замерить, как всегда, стандартными питоновскими средствами, "сопсна чо каво?!"
Результаты:
1.py - cPickle
2.py - pickle
_______________________
Pover Saving:
1.py -> cmd -> Execute time: 5.890000
1.py -> IDLE -> Execute time: 10.281000
2.py -> cmd -> Execute time: 4.531000
2.py -> IDLE -> Execute time: 9.047000
Super Performance:
1.py -> cmd -> Execute time: 4.000000
1.py -> IDLE -> Execute time: 6.328000
2.py -> cmd -> Execute time: 2.875000
2.py -> IDLE -> Execute time: 6.047000
_______________________
Машинка у меня - Asus Eee PC 1000H
Не помню, сколько частоты шины и проца в Power Saving и Super Performance, но это, грубо говоря, софтовый разгон "сильнее-слабее".
cmd - это запуск через батник, для каждого теста отдельный:
----------------
@echo off
cmd /K "1.py"
----------------
Сам код теста примерно такой:
================= 1.py ==========================
# -*- coding: utf-8 -*-
from time import time
def timer(f):
def tmp(*args, **kwargs):
t = time()
res = f(*args, **kwargs)
print "Execute time: %f" % (time()-t)
return res
return tmp
@timer
def cPick():
from cPickle import load as l
posts = l(file('SUMMARY.DAT'))
cPick()
========================================
Во втором файле, соответственно, для pickle. Файл SUMMARY.DAT весит 13.9 Мб и содержит в себе список из кучи строк "на русском".
Засим, возникает вопрос. Почему так странно "выходит.. то есть.. входит"?!
