Работая над оптимизацией одного веб-сайта, я обнаружил, что окончательный травление QuerySets становится узким местом в кэшировании, и каким бы умным ни был ваш код, раскладывание относительно больших QS за 1 -2secs убьет все усилия.
Кто-нибудь сталкивался с этим?Django caching - Pickle is slow
3
A
ответ
3
Если вы в настоящее время используете рассол, могу ли я рекомендовать cPickle, который предположительно должен быть в 1000 раз быстрее.
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
Смежные вопросы
- 1. Django query is slow, optimize
- 2. Slider Load is slow
- 3. Memberhip.ValidateUser is Slow
- 4. php file_get_contents is slow
- 5. PHP fsockopen is Slow
- 6. Eclipse Emulator is Slow
- 7. gevent urllib is slow
- 8. System.Drawing.Printing.PrintDocument is Slow
- 9. Itextsharp PdfReader is slow
- 10. System.arrayCopy is slow
- 11. Python inspect.stack is slow
- 12. UITableView reloadData is slow
- 13. Datagrid is slow
- 14. JQuery ajax is slow
- 15. SqlCeDataReader.Read is slow
- 16. ReactJS setState is slow
- 17. C# System.Threading.Thread.Sleep is slow
- 18. Gridster add_widget is slow
- 19. postgres truncate is slow
- 20. Windows Azure Caching (Preview) Very Slow
- 21. Комплекс MySQL Query is Slow
- 22. SQL Nested Query is slow
- 23. Git check compare is slow
- 24. MongoDB Bulk Update is slow
- 25. Memory Mapped FIle is slow
- 26. Mysql LEFT JOIN is slow
- 27. VBA File Open is slow
- 28. Android debug bridge is slow
- 29. Asp.net MVC async is slow
- 30. Grunt newer is very slow
Печаль в том, что я уже использую его :) –
В этом случае, вы могли бы рассмотреть [Маршалл] (http://docs.python.org/2/library/marshal.html), как это много быстрее, но, как говорят документы, не защищен от ошибочных или вредоносных данных. – Tadgh
@ GillBates: Если вы используете cPickle и все еще наблюдаете за этими 1-2-секундными безликими, кажется, что эти запросы должны быть довольно огромными. Насколько они большие? Вам действительно нужно кэшировать все эти данные? – liori