在优化一个网站时,我发现,QuerySets 的酸洗最终成为缓存的瓶颈,无论你的代码多么聪明,在 1-2 秒的时间内解开相对较大的 QS 都会浪费所有的努力。
有人遇到过这个吗?
问问题
974 次
2 回答
3
如果您目前只使用 pickle,我是否可以推荐cPickle,据称它的速度可以提高 1000 倍。
于 2013-05-18T19:13:22.677 回答
0
超json来救援!
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 回答