Package: django_speedboost
Django-SpeedboostReplaces select Django modules with Cython-compiled versions for great speed.RationaleCode always has bottlenecks, and Django is no exception. By selectively compiling the hot spots in Django with Cython,
we can make it go faster. Django-Speedboost is a drop-in module that when installed replaces parts of Django with its
Cython-based versions.RequirementsPython: 2.7Django: 1.8.8Django-Speedboost’s test suite runs the Django test suite after installation to verify that it doesn’t do anything
incompatible.InstallationDjango-Speedboost is currently compiled for Django 1.8.8 only. Install with:pipinstalldjango_speedboostIf you get missing header compilation errors, install your distribution’s python library development headers, for
example on Ubuntu:sudoapt-getinstalllibpython-devHow It WorksDjango-Speedboost includes a.pthfile that allows it to import itself at the point the Python interpreter loads.
It uses this to install an import hook that detects the loading of Django submodules to replace them.Currently replaced modules:django.template.contextdjango.template.context_processorsdjango.template.basedjango.template.defaulttagsResultsSetting Django with WSGI behind Apache 2, ab shows a consistent 13% reduction in load times on an Admin page with loads
of inlines and fields:(venv)ddalex@watson~/Projects/backend(T7569)$diff--side-by-sidewithout_so.txtwith_so.txtThisisApacheBench,Version2.3<$Revision:1604373$>ThisisApacheBench,Version2.3<$Revision:1604373$>Copyright1996AdamTwiss,ZeusTechnologyLtd,http://www.zeCopyright1996AdamTwiss,ZeusTechnologyLtd,http://www.zeLicensedtoTheApacheSoftwareFoundation,http://www.apacheLicensedtoTheApacheSoftwareFoundation,http://www.apacheBenchmarkingguest(bepatient).....doneBenchmarkingguest(bepatient).....doneServerSoftware:Apache/2.4.7ServerSoftware:Apache/2.4.7ServerHostname:guestServerHostname:guestServerPort:80ServerPort:80DocumentPath:/admin/model/object/57/DocumentPath:/admin/model/object/57/DocumentLength:619067bytesDocumentLength:619067bytesConcurrencyLevel:2ConcurrencyLevel:2Timetakenfortests:15.724seconds|Timetakenfortests:13.932secondsCompleterequests:20Completerequests:20Failedrequests:0Failedrequests:0Totaltransferred:12390600bytesTotaltransferred:12390600bytesHTMLtransferred:12381340bytesHTMLtransferred:12381340bytesRequestspersecond:1.27[#/sec] (mean)               | Requests per second:    1.44 [#/sec] (mean)Timeperrequest:1572.402[ms](mean)|Timeperrequest:1393.243[ms](mean)Timeperrequest:786.201[ms](mean,acrossallconcur|Timeperrequest:696.621[ms](mean,acrossallconcurTransferrate:769.54[Kbytes/sec]received|Transferrate:868.49[Kbytes/sec]receivedConnectionTimes(ms)ConnectionTimes(ms)minmean[+/-sd]medianmaxminmean[+/-sd]medianmaxConnect:000.101|Connect:000.000Processing:6241570723.520082313|Processing:5851391578.517641991Waiting:6211566722.619992311|Waiting:5721381578.217411988Total:6241570723.520082313|Total:5851391578.517641991Percentageoftherequestsservedwithinacertaintime(ms)Percentageoftherequestsservedwithinacertaintime(ms)50%2008|50%176466%2106|66%184575%2237|75%191780%2263|80%193690%2288|90%198195%2313|95%199198%2313|98%199199%2313|99%1991100%2313(longestrequest)|100%1991(longestrequest)Historyfuture1.8.8.0 (2016-01-06)First proper Django 1.8.8 version. Replaces 4 modules insidedjango.template.