3

ある Web サイトの最適化に取り組んでいると、最終的にクエリセットのピクルがキャッシングのボトルネックになり、コードがどれほど巧妙であっても、比較的大きな QS を 1 ~ 2 秒でアンピクルすると、すべての労力が無駄になることがわかりました。
誰もこれに遭遇しましたか?

4

2 に答える 2

3

現在 pickle だけを使用している場合は、最大 1000 倍高速であると言われているcPickleをお勧めします。

于 2013-05-18T19:13:22.677 に答える
0

救助へのultrajson

In [1]: from string import letters

In [3]: import ujson

In [5]: import cPickle as pickle

In [7]: import random

In [8]: def random_string(n=10): return ''.join([random.choice(letters) for _ in xrange(n)])

In [9]: DATA = {random_string(): list(range(1000)) for _ in xrange(1000)}

In [12]: %timeit -r 3 -n 100 ujson.dumps(DATA)
100 loops, best of 3: 89.2

In [13]: %timeit -r 3 -n 100 pickle.dumps(DATA)
100 loops, best of 3: 285 ms per loop
于 2014-02-13T11:22:35.850 に答える