Version 1.3.0.
|
@ -1,6 +1,22 @@
|
|||
What’s new in django-cachalot?
|
||||
==============================
|
||||
|
||||
1.3.0
|
||||
-----
|
||||
|
||||
- Adds Django 1.10 support
|
||||
- Drops Django 1.7 support
|
||||
- Drops Python 3.2 support
|
||||
- Adds a Jinja2 extension with a ``cache`` statement
|
||||
and the ``get_last_invalidation`` function.
|
||||
- Adds a ``CACHALOT_TIMEOUT`` setting after dozens
|
||||
of private & public requests, but it’s not really useful
|
||||
- Fixes a ``RuntimeError`` occurring if a ``DatabaseCache`` was used in
|
||||
a project, even if not used by django-cachalot
|
||||
- Allows bytes raw queries (except on SQLite where it’s not supposed to work)
|
||||
- Creates `a Slack team <https://django-cachalot.slack.com>`_ to discuss,
|
||||
easier than using Google Groups
|
||||
|
||||
1.2.1
|
||||
-----
|
||||
|
||||
|
|
|
@ -23,7 +23,7 @@ Caches your Django ORM queries and automatically invalidates them.
|
|||
Documentation
|
||||
-------------
|
||||
|
||||
Available `on Read The Docs <http://django-cachalot.readthedocs.org>`_.
|
||||
Available `on Read The Docs <http://django-cachalot.readthedocs.io>`_.
|
||||
|
||||
|
||||
Discussion
|
||||
|
|
Before Width: | Height: | Size: 43 KiB After Width: | Height: | Size: 41 KiB |
Before Width: | Height: | Size: 212 KiB After Width: | Height: | Size: 199 KiB |
Before Width: | Height: | Size: 212 KiB After Width: | Height: | Size: 199 KiB |
Before Width: | Height: | Size: 212 KiB After Width: | Height: | Size: 199 KiB |
Before Width: | Height: | Size: 212 KiB After Width: | Height: | Size: 199 KiB |
Before Width: | Height: | Size: 212 KiB After Width: | Height: | Size: 199 KiB |
|
@ -1,5 +1,5 @@
|
|||
- filebased is 1.1× slower then 7.5× faster
|
||||
- locmem is 1.0× slower then 7.9× faster
|
||||
- memcached is 1.1× slower then 7.1× faster
|
||||
- pylibmc is 1.1× slower then 5.7× faster
|
||||
- redis is 1.1× slower then 6.7× faster
|
||||
- filebased is 1.1× slower then 6.4× faster
|
||||
- locmem is 1.1× slower then 6.6× faster
|
||||
- memcached is 1.1× slower then 6.4× faster
|
||||
- pylibmc is 1.1× slower then 6.7× faster
|
||||
- redis is 1.1× slower then 5.7× faster
|
||||
|
|
|
@ -2,17 +2,17 @@ In this benchmark, a small database is generated, and each test is executed 20 t
|
|||
|
||||
==================== ==================================================
|
||||
CPU Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz
|
||||
RAM 20538760 kB
|
||||
RAM 20536880 kB
|
||||
Disk INTEL SSDSC2CW06
|
||||
Linux distribution Ubuntu 14.04 trusty
|
||||
Python 3.5.0
|
||||
Django 1.9.1
|
||||
cachalot 1.2.0
|
||||
sqlite 3.8.2
|
||||
PostgreSQL 9.5.0
|
||||
MySQL 5.5.46
|
||||
Redis 2.8.4
|
||||
memcached 1.4.14
|
||||
psycopg2 2.6.1
|
||||
Linux distribution Ubuntu 16.04 xenial
|
||||
Python 3.5.2
|
||||
Django 1.10.1
|
||||
cachalot 1.3.0
|
||||
sqlite 3.11.0
|
||||
PostgreSQL 9.5.4
|
||||
MySQL 5.7.13
|
||||
Redis 3.0.6
|
||||
memcached 1.4.25
|
||||
psycopg2 2.6.2
|
||||
mysqlclient 1.3.7
|
||||
==================== ==================================================
|
||||
|
|
577
benchmark/db.svg
|
@ -27,160 +27,160 @@ z
|
|||
" style="fill:#ffffff;"/>
|
||||
</g>
|
||||
<g id="patch_3">
|
||||
<path clip-path="url(#p28e5b936e4)" d="M 72 72
|
||||
L 80.628782 72
|
||||
L 80.628782 91.2
|
||||
<path clip-path="url(#pde415ec065)" d="M 72 72
|
||||
L 108.561941 72
|
||||
L 108.561941 91.2
|
||||
L 72 91.2
|
||||
z
|
||||
" style="fill:#0000ff;stroke:#000000;stroke-linejoin:miter;"/>
|
||||
</g>
|
||||
<g id="patch_4">
|
||||
<path clip-path="url(#p28e5b936e4)" d="M 72 187.2
|
||||
L 87.454181 187.2
|
||||
L 87.454181 206.4
|
||||
<path clip-path="url(#pde415ec065)" d="M 72 187.2
|
||||
L 114.250967 187.2
|
||||
L 114.250967 206.4
|
||||
L 72 206.4
|
||||
z
|
||||
" style="fill:#0000ff;stroke:#000000;stroke-linejoin:miter;"/>
|
||||
</g>
|
||||
<g id="patch_5">
|
||||
<path clip-path="url(#p28e5b936e4)" d="M 72 302.4
|
||||
L 81.015526 302.4
|
||||
L 81.015526 321.6
|
||||
<path clip-path="url(#pde415ec065)" d="M 72 302.4
|
||||
L 80.977554 302.4
|
||||
L 80.977554 321.6
|
||||
L 72 321.6
|
||||
z
|
||||
" style="fill:#0000ff;stroke:#000000;stroke-linejoin:miter;"/>
|
||||
</g>
|
||||
<g id="patch_6">
|
||||
<path clip-path="url(#p28e5b936e4)" d="M 72 91.2
|
||||
L 183.122661 91.2
|
||||
L 183.122661 110.4
|
||||
<path clip-path="url(#pde415ec065)" d="M 72 91.2
|
||||
L 156.098648 91.2
|
||||
L 156.098648 110.4
|
||||
L 72 110.4
|
||||
z
|
||||
" style="fill:#008000;stroke:#000000;stroke-linejoin:miter;"/>
|
||||
</g>
|
||||
<g id="patch_7">
|
||||
<path clip-path="url(#p28e5b936e4)" d="M 72 206.4
|
||||
L 185.27135 206.4
|
||||
L 185.27135 225.6
|
||||
<path clip-path="url(#pde415ec065)" d="M 72 206.4
|
||||
L 165.666549 206.4
|
||||
L 165.666549 225.6
|
||||
L 72 225.6
|
||||
z
|
||||
" style="fill:#008000;stroke:#000000;stroke-linejoin:miter;"/>
|
||||
</g>
|
||||
<g id="patch_8">
|
||||
<path clip-path="url(#p28e5b936e4)" d="M 72 321.6
|
||||
L 81.496214 321.6
|
||||
L 81.496214 340.8
|
||||
<path clip-path="url(#pde415ec065)" d="M 72 321.6
|
||||
L 81.406451 321.6
|
||||
L 81.406451 340.8
|
||||
L 72 340.8
|
||||
z
|
||||
" style="fill:#008000;stroke:#000000;stroke-linejoin:miter;"/>
|
||||
</g>
|
||||
<g id="patch_9">
|
||||
<path clip-path="url(#p28e5b936e4)" d="M 72 110.4
|
||||
L 137.189485 110.4
|
||||
L 137.189485 129.6
|
||||
<path clip-path="url(#pde415ec065)" d="M 72 110.4
|
||||
L 129.618239 110.4
|
||||
L 129.618239 129.6
|
||||
L 72 129.6
|
||||
z
|
||||
" style="fill:#ff0000;stroke:#000000;stroke-linejoin:miter;"/>
|
||||
</g>
|
||||
<g id="patch_10">
|
||||
<path clip-path="url(#p28e5b936e4)" d="M 72 225.6
|
||||
L 145.472157 225.6
|
||||
L 145.472157 244.8
|
||||
<path clip-path="url(#pde415ec065)" d="M 72 225.6
|
||||
L 136.970979 225.6
|
||||
L 136.970979 244.8
|
||||
L 72 244.8
|
||||
z
|
||||
" style="fill:#ff0000;stroke:#000000;stroke-linejoin:miter;"/>
|
||||
</g>
|
||||
<g id="patch_11">
|
||||
<path clip-path="url(#p28e5b936e4)" d="M 72 340.8
|
||||
L 80.361389 340.8
|
||||
L 80.361389 360
|
||||
<path clip-path="url(#pde415ec065)" d="M 72 340.8
|
||||
L 81.66573 340.8
|
||||
L 81.66573 360
|
||||
L 72 360
|
||||
z
|
||||
" style="fill:#ff0000;stroke:#000000;stroke-linejoin:miter;"/>
|
||||
</g>
|
||||
<g id="LineCollection_1">
|
||||
<path clip-path="url(#p28e5b936e4)" d="M 73.346459 81.6
|
||||
L 207.264928 81.6
|
||||
<path clip-path="url(#pde415ec065)" d="M 76.08759 81.6
|
||||
L 225.721185 81.6
|
||||
" style="fill:none;stroke:#000000;"/>
|
||||
<path clip-path="url(#p28e5b936e4)" d="M 74.53297 196.8
|
||||
L 260.550373 196.8
|
||||
<path clip-path="url(#pde415ec065)" d="M 78.921653 196.8
|
||||
L 265.387376 196.8
|
||||
" style="fill:none;stroke:#000000;"/>
|
||||
<path clip-path="url(#p28e5b936e4)" d="M 73.74136 312
|
||||
L 133.555776 312
|
||||
<path clip-path="url(#pde415ec065)" d="M 73.666027 312
|
||||
L 281.705678 312
|
||||
" style="fill:none;stroke:#000000;"/>
|
||||
</g>
|
||||
<g id="LineCollection_2">
|
||||
<path clip-path="url(#p28e5b936e4)" d="M 75.414946 100.8
|
||||
L 513.980198 100.8
|
||||
<path clip-path="url(#pde415ec065)" d="M 75.837526 100.8
|
||||
L 438.27268 100.8
|
||||
" style="fill:none;stroke:#000000;"/>
|
||||
<path clip-path="url(#p28e5b936e4)" d="M 78.086176 216
|
||||
L 424.354814 216
|
||||
<path clip-path="url(#pde415ec065)" d="M 79.368349 216
|
||||
L 513.980198 216
|
||||
" style="fill:none;stroke:#000000;"/>
|
||||
<path clip-path="url(#p28e5b936e4)" d="M 73.418752 331.2
|
||||
L 125.345086 331.2
|
||||
<path clip-path="url(#pde415ec065)" d="M 73.71946 331.2
|
||||
L 325.270308 331.2
|
||||
" style="fill:none;stroke:#000000;"/>
|
||||
</g>
|
||||
<g id="LineCollection_3">
|
||||
<path clip-path="url(#p28e5b936e4)" d="M 73.11241 120
|
||||
L 265.331659 120
|
||||
<path clip-path="url(#pde415ec065)" d="M 73.262077 120
|
||||
L 306.657612 120
|
||||
" style="fill:none;stroke:#000000;"/>
|
||||
<path clip-path="url(#p28e5b936e4)" d="M 74.852867 235.2
|
||||
L 301.322784 235.2
|
||||
<path clip-path="url(#pde415ec065)" d="M 74.681246 235.2
|
||||
L 322.874392 235.2
|
||||
" style="fill:none;stroke:#000000;"/>
|
||||
<path clip-path="url(#p28e5b936e4)" d="M 73.470261 350.4
|
||||
L 121.68344 350.4
|
||||
<path clip-path="url(#pde415ec065)" d="M 73.771824 350.4
|
||||
L 137.397172 350.4
|
||||
" style="fill:none;stroke:#000000;"/>
|
||||
</g>
|
||||
<g id="line2d_1">
|
||||
<defs>
|
||||
<path d="M 0 3
|
||||
L 0 -3
|
||||
" id="mef3588f2b8" style="stroke:#000000;stroke-width:0.5;"/>
|
||||
" id="ma7d99c87c6" style="stroke:#000000;stroke-width:0.5;"/>
|
||||
</defs>
|
||||
<g clip-path="url(#p28e5b936e4)">
|
||||
<use style="stroke:#000000;stroke-width:0.5;" x="73.3464591862" xlink:href="#mef3588f2b8" y="81.6"/>
|
||||
<use style="stroke:#000000;stroke-width:0.5;" x="74.532969865" xlink:href="#mef3588f2b8" y="196.8"/>
|
||||
<use style="stroke:#000000;stroke-width:0.5;" x="73.7413603032" xlink:href="#mef3588f2b8" y="312.0"/>
|
||||
<g clip-path="url(#pde415ec065)">
|
||||
<use style="stroke:#000000;stroke-width:0.5;" x="76.0875904161" xlink:href="#ma7d99c87c6" y="81.6"/>
|
||||
<use style="stroke:#000000;stroke-width:0.5;" x="78.9216531046" xlink:href="#ma7d99c87c6" y="196.8"/>
|
||||
<use style="stroke:#000000;stroke-width:0.5;" x="73.666027048" xlink:href="#ma7d99c87c6" y="312.0"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="line2d_2">
|
||||
<g clip-path="url(#p28e5b936e4)">
|
||||
<use style="stroke:#000000;stroke-width:0.5;" x="207.26492838" xlink:href="#mef3588f2b8" y="81.6"/>
|
||||
<use style="stroke:#000000;stroke-width:0.5;" x="260.550372925" xlink:href="#mef3588f2b8" y="196.8"/>
|
||||
<use style="stroke:#000000;stroke-width:0.5;" x="133.555776406" xlink:href="#mef3588f2b8" y="312.0"/>
|
||||
<g clip-path="url(#pde415ec065)">
|
||||
<use style="stroke:#000000;stroke-width:0.5;" x="225.721184574" xlink:href="#ma7d99c87c6" y="81.6"/>
|
||||
<use style="stroke:#000000;stroke-width:0.5;" x="265.387375702" xlink:href="#ma7d99c87c6" y="196.8"/>
|
||||
<use style="stroke:#000000;stroke-width:0.5;" x="281.705677834" xlink:href="#ma7d99c87c6" y="312.0"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="line2d_3">
|
||||
<g clip-path="url(#p28e5b936e4)">
|
||||
<use style="stroke:#000000;stroke-width:0.5;" x="75.4149458152" xlink:href="#mef3588f2b8" y="100.8"/>
|
||||
<use style="stroke:#000000;stroke-width:0.5;" x="78.0861762544" xlink:href="#mef3588f2b8" y="216.0"/>
|
||||
<use style="stroke:#000000;stroke-width:0.5;" x="73.4187522969" xlink:href="#mef3588f2b8" y="331.2"/>
|
||||
<g clip-path="url(#pde415ec065)">
|
||||
<use style="stroke:#000000;stroke-width:0.5;" x="75.8375260612" xlink:href="#ma7d99c87c6" y="100.8"/>
|
||||
<use style="stroke:#000000;stroke-width:0.5;" x="79.3683492599" xlink:href="#ma7d99c87c6" y="216.0"/>
|
||||
<use style="stroke:#000000;stroke-width:0.5;" x="73.7194596025" xlink:href="#ma7d99c87c6" y="331.2"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="line2d_4">
|
||||
<g clip-path="url(#p28e5b936e4)">
|
||||
<use style="stroke:#000000;stroke-width:0.5;" x="513.98019802" xlink:href="#mef3588f2b8" y="100.8"/>
|
||||
<use style="stroke:#000000;stroke-width:0.5;" x="424.354814069" xlink:href="#mef3588f2b8" y="216.0"/>
|
||||
<use style="stroke:#000000;stroke-width:0.5;" x="125.345086362" xlink:href="#mef3588f2b8" y="331.2"/>
|
||||
<g clip-path="url(#pde415ec065)">
|
||||
<use style="stroke:#000000;stroke-width:0.5;" x="438.272680258" xlink:href="#ma7d99c87c6" y="100.8"/>
|
||||
<use style="stroke:#000000;stroke-width:0.5;" x="513.98019802" xlink:href="#ma7d99c87c6" y="216.0"/>
|
||||
<use style="stroke:#000000;stroke-width:0.5;" x="325.270308135" xlink:href="#ma7d99c87c6" y="331.2"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="line2d_5">
|
||||
<g clip-path="url(#p28e5b936e4)">
|
||||
<use style="stroke:#000000;stroke-width:0.5;" x="73.1124102404" xlink:href="#mef3588f2b8" y="120.0"/>
|
||||
<use style="stroke:#000000;stroke-width:0.5;" x="74.8528668797" xlink:href="#mef3588f2b8" y="235.2"/>
|
||||
<use style="stroke:#000000;stroke-width:0.5;" x="73.4702611382" xlink:href="#mef3588f2b8" y="350.4"/>
|
||||
<g clip-path="url(#pde415ec065)">
|
||||
<use style="stroke:#000000;stroke-width:0.5;" x="73.2620769363" xlink:href="#ma7d99c87c6" y="120.0"/>
|
||||
<use style="stroke:#000000;stroke-width:0.5;" x="74.6812455827" xlink:href="#ma7d99c87c6" y="235.2"/>
|
||||
<use style="stroke:#000000;stroke-width:0.5;" x="73.7718235059" xlink:href="#ma7d99c87c6" y="350.4"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="line2d_6">
|
||||
<g clip-path="url(#p28e5b936e4)">
|
||||
<use style="stroke:#000000;stroke-width:0.5;" x="265.331658532" xlink:href="#mef3588f2b8" y="120.0"/>
|
||||
<use style="stroke:#000000;stroke-width:0.5;" x="301.322783678" xlink:href="#mef3588f2b8" y="235.2"/>
|
||||
<use style="stroke:#000000;stroke-width:0.5;" x="121.683440307" xlink:href="#mef3588f2b8" y="350.4"/>
|
||||
<g clip-path="url(#pde415ec065)">
|
||||
<use style="stroke:#000000;stroke-width:0.5;" x="306.657612115" xlink:href="#ma7d99c87c6" y="120.0"/>
|
||||
<use style="stroke:#000000;stroke-width:0.5;" x="322.874392393" xlink:href="#ma7d99c87c6" y="235.2"/>
|
||||
<use style="stroke:#000000;stroke-width:0.5;" x="137.397172053" xlink:href="#ma7d99c87c6" y="350.4"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="patch_12">
|
||||
<path d="M 72 388.8
|
||||
L 518.4 388.8
|
||||
L 72 43.2
|
||||
" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;"/>
|
||||
</g>
|
||||
<g id="patch_13">
|
||||
|
@ -189,19 +189,19 @@ L 518.4 43.2
|
|||
" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;"/>
|
||||
</g>
|
||||
<g id="patch_14">
|
||||
<path d="M 72 43.2
|
||||
L 518.4 43.2
|
||||
<path d="M 72 388.8
|
||||
L 518.4 388.8
|
||||
" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;"/>
|
||||
</g>
|
||||
<g id="patch_15">
|
||||
<path d="M 72 388.8
|
||||
L 72 43.2
|
||||
<path d="M 72 43.2
|
||||
L 518.4 43.2
|
||||
" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;"/>
|
||||
</g>
|
||||
<g id="matplotlib.axis_1">
|
||||
<g id="xtick_1">
|
||||
<g id="line2d_7">
|
||||
<path clip-path="url(#p28e5b936e4)" d="M 72 388.8
|
||||
<path clip-path="url(#pde415ec065)" d="M 72 388.8
|
||||
L 72 43.2
|
||||
" style="fill:none;stroke:#000000;stroke-dasharray:1.000000,3.000000;stroke-dashoffset:0.0;stroke-width:0.5;"/>
|
||||
</g>
|
||||
|
@ -209,31 +209,25 @@ L 72 43.2
|
|||
<defs>
|
||||
<path d="M 0 0
|
||||
L 0 -4
|
||||
" id="m558e4cd305" style="stroke:#000000;stroke-width:0.5;"/>
|
||||
" id="m0cafb8b0b0" style="stroke:#000000;stroke-width:0.5;"/>
|
||||
</defs>
|
||||
<g>
|
||||
<use style="stroke:#000000;stroke-width:0.5;" x="72.0" xlink:href="#m558e4cd305" y="388.8"/>
|
||||
<use style="stroke:#000000;stroke-width:0.5;" x="72.0" xlink:href="#m0cafb8b0b0" y="388.8"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="line2d_9">
|
||||
<defs>
|
||||
<path d="M 0 0
|
||||
L 0 4
|
||||
" id="m328e94a16d" style="stroke:#000000;stroke-width:0.5;"/>
|
||||
" id="m2d2a989530" style="stroke:#000000;stroke-width:0.5;"/>
|
||||
</defs>
|
||||
<g>
|
||||
<use style="stroke:#000000;stroke-width:0.5;" x="72.0" xlink:href="#m328e94a16d" y="43.2"/>
|
||||
<use style="stroke:#000000;stroke-width:0.5;" x="72.0" xlink:href="#m2d2a989530" y="43.2"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="text_1">
|
||||
<!-- 0.00 -->
|
||||
<defs>
|
||||
<path d="M 10.6875 12.40625
|
||||
L 21 12.40625
|
||||
L 21 0
|
||||
L 10.6875 0
|
||||
z
|
||||
" id="BitstreamVeraSans-Roman-2e"/>
|
||||
<path d="M 31.78125 66.40625
|
||||
Q 24.171875 66.40625 20.328125 58.90625
|
||||
Q 16.5 51.421875 16.5 36.375
|
||||
|
@ -253,6 +247,12 @@ Q 6.59375 17.96875 6.59375 36.375
|
|||
Q 6.59375 54.828125 13.0625 64.515625
|
||||
Q 19.53125 74.21875 31.78125 74.21875
|
||||
" id="BitstreamVeraSans-Roman-30"/>
|
||||
<path d="M 10.6875 12.40625
|
||||
L 21 12.40625
|
||||
L 21 0
|
||||
L 10.6875 0
|
||||
z
|
||||
" id="BitstreamVeraSans-Roman-2e"/>
|
||||
</defs>
|
||||
<g transform="translate(58.640625 401.918125)scale(0.12 -0.12)">
|
||||
<use xlink:href="#BitstreamVeraSans-Roman-30"/>
|
||||
|
@ -264,18 +264,18 @@ Q 19.53125 74.21875 31.78125 74.21875
|
|||
</g>
|
||||
<g id="xtick_2">
|
||||
<g id="line2d_10">
|
||||
<path clip-path="url(#p28e5b936e4)" d="M 147.804821 388.8
|
||||
L 147.804821 43.2
|
||||
<path clip-path="url(#pde415ec065)" d="M 161.644951 388.8
|
||||
L 161.644951 43.2
|
||||
" style="fill:none;stroke:#000000;stroke-dasharray:1.000000,3.000000;stroke-dashoffset:0.0;stroke-width:0.5;"/>
|
||||
</g>
|
||||
<g id="line2d_11">
|
||||
<g>
|
||||
<use style="stroke:#000000;stroke-width:0.5;" x="147.804820812" xlink:href="#m558e4cd305" y="388.8"/>
|
||||
<use style="stroke:#000000;stroke-width:0.5;" x="161.644950759" xlink:href="#m0cafb8b0b0" y="388.8"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="line2d_12">
|
||||
<g>
|
||||
<use style="stroke:#000000;stroke-width:0.5;" x="147.804820812" xlink:href="#m328e94a16d" y="43.2"/>
|
||||
<use style="stroke:#000000;stroke-width:0.5;" x="161.644950759" xlink:href="#m2d2a989530" y="43.2"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="text_2">
|
||||
|
@ -305,7 +305,7 @@ Q 44.1875 33.984375 37.640625 27.21875
|
|||
Q 31.109375 20.453125 19.1875 8.296875
|
||||
" id="BitstreamVeraSans-Roman-32"/>
|
||||
</defs>
|
||||
<g transform="translate(134.445445812 401.918125)scale(0.12 -0.12)">
|
||||
<g transform="translate(148.285575759 401.918125)scale(0.12 -0.12)">
|
||||
<use xlink:href="#BitstreamVeraSans-Roman-30"/>
|
||||
<use x="63.623046875" xlink:href="#BitstreamVeraSans-Roman-2e"/>
|
||||
<use x="95.41015625" xlink:href="#BitstreamVeraSans-Roman-30"/>
|
||||
|
@ -315,18 +315,18 @@ Q 31.109375 20.453125 19.1875 8.296875
|
|||
</g>
|
||||
<g id="xtick_3">
|
||||
<g id="line2d_13">
|
||||
<path clip-path="url(#p28e5b936e4)" d="M 223.609642 388.8
|
||||
L 223.609642 43.2
|
||||
<path clip-path="url(#pde415ec065)" d="M 251.289902 388.8
|
||||
L 251.289902 43.2
|
||||
" style="fill:none;stroke:#000000;stroke-dasharray:1.000000,3.000000;stroke-dashoffset:0.0;stroke-width:0.5;"/>
|
||||
</g>
|
||||
<g id="line2d_14">
|
||||
<g>
|
||||
<use style="stroke:#000000;stroke-width:0.5;" x="223.609641624" xlink:href="#m558e4cd305" y="388.8"/>
|
||||
<use style="stroke:#000000;stroke-width:0.5;" x="251.289901518" xlink:href="#m0cafb8b0b0" y="388.8"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="line2d_15">
|
||||
<g>
|
||||
<use style="stroke:#000000;stroke-width:0.5;" x="223.609641624" xlink:href="#m328e94a16d" y="43.2"/>
|
||||
<use style="stroke:#000000;stroke-width:0.5;" x="251.289901518" xlink:href="#m2d2a989530" y="43.2"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="text_3">
|
||||
|
@ -350,7 +350,7 @@ L 4.890625 26.703125
|
|||
z
|
||||
" id="BitstreamVeraSans-Roman-34"/>
|
||||
</defs>
|
||||
<g transform="translate(210.250266624 401.918125)scale(0.12 -0.12)">
|
||||
<g transform="translate(237.930526518 401.918125)scale(0.12 -0.12)">
|
||||
<use xlink:href="#BitstreamVeraSans-Roman-30"/>
|
||||
<use x="63.623046875" xlink:href="#BitstreamVeraSans-Roman-2e"/>
|
||||
<use x="95.41015625" xlink:href="#BitstreamVeraSans-Roman-30"/>
|
||||
|
@ -360,18 +360,18 @@ z
|
|||
</g>
|
||||
<g id="xtick_4">
|
||||
<g id="line2d_16">
|
||||
<path clip-path="url(#p28e5b936e4)" d="M 299.414462 388.8
|
||||
L 299.414462 43.2
|
||||
<path clip-path="url(#pde415ec065)" d="M 340.934852 388.8
|
||||
L 340.934852 43.2
|
||||
" style="fill:none;stroke:#000000;stroke-dasharray:1.000000,3.000000;stroke-dashoffset:0.0;stroke-width:0.5;"/>
|
||||
</g>
|
||||
<g id="line2d_17">
|
||||
<g>
|
||||
<use style="stroke:#000000;stroke-width:0.5;" x="299.414462436" xlink:href="#m558e4cd305" y="388.8"/>
|
||||
<use style="stroke:#000000;stroke-width:0.5;" x="340.934852277" xlink:href="#m0cafb8b0b0" y="388.8"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="line2d_18">
|
||||
<g>
|
||||
<use style="stroke:#000000;stroke-width:0.5;" x="299.414462436" xlink:href="#m328e94a16d" y="43.2"/>
|
||||
<use style="stroke:#000000;stroke-width:0.5;" x="340.934852277" xlink:href="#m2d2a989530" y="43.2"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="text_4">
|
||||
|
@ -406,7 +406,7 @@ Q 40.921875 74.21875 44.703125 73.484375
|
|||
Q 48.484375 72.75 52.59375 71.296875
|
||||
" id="BitstreamVeraSans-Roman-36"/>
|
||||
</defs>
|
||||
<g transform="translate(286.055087436 401.918125)scale(0.12 -0.12)">
|
||||
<g transform="translate(327.575477277 401.918125)scale(0.12 -0.12)">
|
||||
<use xlink:href="#BitstreamVeraSans-Roman-30"/>
|
||||
<use x="63.623046875" xlink:href="#BitstreamVeraSans-Roman-2e"/>
|
||||
<use x="95.41015625" xlink:href="#BitstreamVeraSans-Roman-30"/>
|
||||
|
@ -416,18 +416,18 @@ Q 48.484375 72.75 52.59375 71.296875
|
|||
</g>
|
||||
<g id="xtick_5">
|
||||
<g id="line2d_19">
|
||||
<path clip-path="url(#p28e5b936e4)" d="M 375.219283 388.8
|
||||
L 375.219283 43.2
|
||||
<path clip-path="url(#pde415ec065)" d="M 430.579803 388.8
|
||||
L 430.579803 43.2
|
||||
" style="fill:none;stroke:#000000;stroke-dasharray:1.000000,3.000000;stroke-dashoffset:0.0;stroke-width:0.5;"/>
|
||||
</g>
|
||||
<g id="line2d_20">
|
||||
<g>
|
||||
<use style="stroke:#000000;stroke-width:0.5;" x="375.219283248" xlink:href="#m558e4cd305" y="388.8"/>
|
||||
<use style="stroke:#000000;stroke-width:0.5;" x="430.579803035" xlink:href="#m0cafb8b0b0" y="388.8"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="line2d_21">
|
||||
<g>
|
||||
<use style="stroke:#000000;stroke-width:0.5;" x="375.219283248" xlink:href="#m328e94a16d" y="43.2"/>
|
||||
<use style="stroke:#000000;stroke-width:0.5;" x="430.579803035" xlink:href="#m2d2a989530" y="43.2"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="text_5">
|
||||
|
@ -470,7 +470,7 @@ Q 25.390625 66.40625 21.84375 63.234375
|
|||
Q 18.3125 60.0625 18.3125 54.390625
|
||||
" id="BitstreamVeraSans-Roman-38"/>
|
||||
</defs>
|
||||
<g transform="translate(361.859908248 401.918125)scale(0.12 -0.12)">
|
||||
<g transform="translate(417.220428035 401.918125)scale(0.12 -0.12)">
|
||||
<use xlink:href="#BitstreamVeraSans-Roman-30"/>
|
||||
<use x="63.623046875" xlink:href="#BitstreamVeraSans-Roman-2e"/>
|
||||
<use x="95.41015625" xlink:href="#BitstreamVeraSans-Roman-30"/>
|
||||
|
@ -478,48 +478,7 @@ Q 18.3125 60.0625 18.3125 54.390625
|
|||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g id="xtick_6">
|
||||
<g id="line2d_22">
|
||||
<path clip-path="url(#p28e5b936e4)" d="M 451.024104 388.8
|
||||
L 451.024104 43.2
|
||||
" style="fill:none;stroke:#000000;stroke-dasharray:1.000000,3.000000;stroke-dashoffset:0.0;stroke-width:0.5;"/>
|
||||
</g>
|
||||
<g id="line2d_23">
|
||||
<g>
|
||||
<use style="stroke:#000000;stroke-width:0.5;" x="451.02410406" xlink:href="#m558e4cd305" y="388.8"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="line2d_24">
|
||||
<g>
|
||||
<use style="stroke:#000000;stroke-width:0.5;" x="451.02410406" xlink:href="#m328e94a16d" y="43.2"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="text_6">
|
||||
<!-- 0.10 -->
|
||||
<defs>
|
||||
<path d="M 12.40625 8.296875
|
||||
L 28.515625 8.296875
|
||||
L 28.515625 63.921875
|
||||
L 10.984375 60.40625
|
||||
L 10.984375 69.390625
|
||||
L 28.421875 72.90625
|
||||
L 38.28125 72.90625
|
||||
L 38.28125 8.296875
|
||||
L 54.390625 8.296875
|
||||
L 54.390625 0
|
||||
L 12.40625 0
|
||||
z
|
||||
" id="BitstreamVeraSans-Roman-31"/>
|
||||
</defs>
|
||||
<g transform="translate(437.66472906 401.918125)scale(0.12 -0.12)">
|
||||
<use xlink:href="#BitstreamVeraSans-Roman-30"/>
|
||||
<use x="63.623046875" xlink:href="#BitstreamVeraSans-Roman-2e"/>
|
||||
<use x="95.41015625" xlink:href="#BitstreamVeraSans-Roman-31"/>
|
||||
<use x="159.033203125" xlink:href="#BitstreamVeraSans-Roman-30"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g id="text_7">
|
||||
<g id="text_6">
|
||||
<!-- Time (s) -->
|
||||
<defs>
|
||||
<path d="M 44.28125 53.078125
|
||||
|
@ -552,42 +511,29 @@ Q 16.75 56 26.8125 56
|
|||
Q 31.78125 56 36.171875 55.265625
|
||||
Q 40.578125 54.546875 44.28125 53.078125
|
||||
" id="BitstreamVeraSans-Roman-73"/>
|
||||
<path id="BitstreamVeraSans-Roman-20"/>
|
||||
<path d="M 9.421875 54.6875
|
||||
L 18.40625 54.6875
|
||||
L 18.40625 0
|
||||
L 9.421875 0
|
||||
<path d="M 56.203125 29.59375
|
||||
L 56.203125 25.203125
|
||||
L 14.890625 25.203125
|
||||
Q 15.484375 15.921875 20.484375 11.0625
|
||||
Q 25.484375 6.203125 34.421875 6.203125
|
||||
Q 39.59375 6.203125 44.453125 7.46875
|
||||
Q 49.3125 8.734375 54.109375 11.28125
|
||||
L 54.109375 2.78125
|
||||
Q 49.265625 0.734375 44.1875 -0.34375
|
||||
Q 39.109375 -1.421875 33.890625 -1.421875
|
||||
Q 20.796875 -1.421875 13.15625 6.1875
|
||||
Q 5.515625 13.8125 5.515625 26.8125
|
||||
Q 5.515625 40.234375 12.765625 48.109375
|
||||
Q 20.015625 56 32.328125 56
|
||||
Q 43.359375 56 49.78125 48.890625
|
||||
Q 56.203125 41.796875 56.203125 29.59375
|
||||
M 47.21875 32.234375
|
||||
Q 47.125 39.59375 43.09375 43.984375
|
||||
Q 39.0625 48.390625 32.421875 48.390625
|
||||
Q 24.90625 48.390625 20.390625 44.140625
|
||||
Q 15.875 39.890625 15.1875 32.171875
|
||||
z
|
||||
M 9.421875 75.984375
|
||||
L 18.40625 75.984375
|
||||
L 18.40625 64.59375
|
||||
L 9.421875 64.59375
|
||||
z
|
||||
" id="BitstreamVeraSans-Roman-69"/>
|
||||
<path d="M 31 75.875
|
||||
Q 24.46875 64.65625 21.28125 53.65625
|
||||
Q 18.109375 42.671875 18.109375 31.390625
|
||||
Q 18.109375 20.125 21.3125 9.0625
|
||||
Q 24.515625 -2 31 -13.1875
|
||||
L 23.1875 -13.1875
|
||||
Q 15.875 -1.703125 12.234375 9.375
|
||||
Q 8.59375 20.453125 8.59375 31.390625
|
||||
Q 8.59375 42.28125 12.203125 53.3125
|
||||
Q 15.828125 64.359375 23.1875 75.875
|
||||
z
|
||||
" id="BitstreamVeraSans-Roman-28"/>
|
||||
<path d="M 8.015625 75.875
|
||||
L 15.828125 75.875
|
||||
Q 23.140625 64.359375 26.78125 53.3125
|
||||
Q 30.421875 42.28125 30.421875 31.390625
|
||||
Q 30.421875 20.453125 26.78125 9.375
|
||||
Q 23.140625 -1.703125 15.828125 -13.1875
|
||||
L 8.015625 -13.1875
|
||||
Q 14.5 -2 17.703125 9.0625
|
||||
Q 20.90625 20.125 20.90625 31.390625
|
||||
Q 20.90625 42.671875 17.703125 53.65625
|
||||
Q 14.5 64.65625 8.015625 75.875
|
||||
" id="BitstreamVeraSans-Roman-29"/>
|
||||
" id="BitstreamVeraSans-Roman-65"/>
|
||||
<path d="M 52 44.1875
|
||||
Q 55.375 50.25 60.0625 53.125
|
||||
Q 64.75 56 71.09375 56
|
||||
|
@ -617,6 +563,30 @@ Q 29.78125 56 35.6875 56
|
|||
Q 41.65625 56 45.828125 52.96875
|
||||
Q 50 49.953125 52 44.1875
|
||||
" id="BitstreamVeraSans-Roman-6d"/>
|
||||
<path d="M 9.421875 54.6875
|
||||
L 18.40625 54.6875
|
||||
L 18.40625 0
|
||||
L 9.421875 0
|
||||
z
|
||||
M 9.421875 75.984375
|
||||
L 18.40625 75.984375
|
||||
L 18.40625 64.59375
|
||||
L 9.421875 64.59375
|
||||
z
|
||||
" id="BitstreamVeraSans-Roman-69"/>
|
||||
<path d="M 8.015625 75.875
|
||||
L 15.828125 75.875
|
||||
Q 23.140625 64.359375 26.78125 53.3125
|
||||
Q 30.421875 42.28125 30.421875 31.390625
|
||||
Q 30.421875 20.453125 26.78125 9.375
|
||||
Q 23.140625 -1.703125 15.828125 -13.1875
|
||||
L 8.015625 -13.1875
|
||||
Q 14.5 -2 17.703125 9.0625
|
||||
Q 20.90625 20.125 20.90625 31.390625
|
||||
Q 20.90625 42.671875 17.703125 53.65625
|
||||
Q 14.5 64.65625 8.015625 75.875
|
||||
" id="BitstreamVeraSans-Roman-29"/>
|
||||
<path id="BitstreamVeraSans-Roman-20"/>
|
||||
<path d="M -0.296875 72.90625
|
||||
L 61.375 72.90625
|
||||
L 61.375 64.59375
|
||||
|
@ -627,29 +597,18 @@ L 25.59375 64.59375
|
|||
L -0.296875 64.59375
|
||||
z
|
||||
" id="BitstreamVeraSans-Roman-54"/>
|
||||
<path d="M 56.203125 29.59375
|
||||
L 56.203125 25.203125
|
||||
L 14.890625 25.203125
|
||||
Q 15.484375 15.921875 20.484375 11.0625
|
||||
Q 25.484375 6.203125 34.421875 6.203125
|
||||
Q 39.59375 6.203125 44.453125 7.46875
|
||||
Q 49.3125 8.734375 54.109375 11.28125
|
||||
L 54.109375 2.78125
|
||||
Q 49.265625 0.734375 44.1875 -0.34375
|
||||
Q 39.109375 -1.421875 33.890625 -1.421875
|
||||
Q 20.796875 -1.421875 13.15625 6.1875
|
||||
Q 5.515625 13.8125 5.515625 26.8125
|
||||
Q 5.515625 40.234375 12.765625 48.109375
|
||||
Q 20.015625 56 32.328125 56
|
||||
Q 43.359375 56 49.78125 48.890625
|
||||
Q 56.203125 41.796875 56.203125 29.59375
|
||||
M 47.21875 32.234375
|
||||
Q 47.125 39.59375 43.09375 43.984375
|
||||
Q 39.0625 48.390625 32.421875 48.390625
|
||||
Q 24.90625 48.390625 20.390625 44.140625
|
||||
Q 15.875 39.890625 15.1875 32.171875
|
||||
<path d="M 31 75.875
|
||||
Q 24.46875 64.65625 21.28125 53.65625
|
||||
Q 18.109375 42.671875 18.109375 31.390625
|
||||
Q 18.109375 20.125 21.3125 9.0625
|
||||
Q 24.515625 -2 31 -13.1875
|
||||
L 23.1875 -13.1875
|
||||
Q 15.875 -1.703125 12.234375 9.375
|
||||
Q 8.59375 20.453125 8.59375 31.390625
|
||||
Q 8.59375 42.28125 12.203125 53.3125
|
||||
Q 15.828125 64.359375 23.1875 75.875
|
||||
z
|
||||
" id="BitstreamVeraSans-Roman-65"/>
|
||||
" id="BitstreamVeraSans-Roman-28"/>
|
||||
</defs>
|
||||
<g transform="translate(270.620625 418.531875)scale(0.12 -0.12)">
|
||||
<use xlink:href="#BitstreamVeraSans-Roman-54"/>
|
||||
|
@ -665,35 +624,29 @@ z
|
|||
</g>
|
||||
<g id="matplotlib.axis_2">
|
||||
<g id="ytick_1">
|
||||
<g id="line2d_25">
|
||||
<g id="line2d_22">
|
||||
<defs>
|
||||
<path d="M 0 0
|
||||
L 4 0
|
||||
" id="mb6343d7e32" style="stroke:#000000;stroke-width:0.5;"/>
|
||||
" id="me6cfda9a01" style="stroke:#000000;stroke-width:0.5;"/>
|
||||
</defs>
|
||||
<g>
|
||||
<use style="stroke:#000000;stroke-width:0.5;" x="72.0" xlink:href="#mb6343d7e32" y="100.8"/>
|
||||
<use style="stroke:#000000;stroke-width:0.5;" x="72.0" xlink:href="#me6cfda9a01" y="100.8"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="line2d_26">
|
||||
<g id="line2d_23">
|
||||
<defs>
|
||||
<path d="M 0 0
|
||||
L -4 0
|
||||
" id="m7497adebf2" style="stroke:#000000;stroke-width:0.5;"/>
|
||||
" id="m78b728f56d" style="stroke:#000000;stroke-width:0.5;"/>
|
||||
</defs>
|
||||
<g>
|
||||
<use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m7497adebf2" y="100.8"/>
|
||||
<use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m78b728f56d" y="100.8"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="text_8">
|
||||
<g id="text_7">
|
||||
<!-- Control -->
|
||||
<defs>
|
||||
<path d="M 9.421875 75.984375
|
||||
L 18.40625 75.984375
|
||||
L 18.40625 0
|
||||
L 9.421875 0
|
||||
z
|
||||
" id="BitstreamVeraSans-Roman-6c"/>
|
||||
<path d="M 30.609375 48.390625
|
||||
Q 23.390625 48.390625 19.1875 42.75
|
||||
Q 14.984375 37.109375 14.984375 27.296875
|
||||
|
@ -713,26 +666,24 @@ Q 5.515625 13.875 5.515625 27.296875
|
|||
Q 5.515625 40.765625 12.171875 48.375
|
||||
Q 18.84375 56 30.609375 56
|
||||
" id="BitstreamVeraSans-Roman-6f"/>
|
||||
<path d="M 18.3125 70.21875
|
||||
L 18.3125 54.6875
|
||||
L 36.8125 54.6875
|
||||
L 36.8125 47.703125
|
||||
L 18.3125 47.703125
|
||||
L 18.3125 18.015625
|
||||
Q 18.3125 11.328125 20.140625 9.421875
|
||||
Q 21.96875 7.515625 27.59375 7.515625
|
||||
L 36.8125 7.515625
|
||||
L 36.8125 0
|
||||
L 27.59375 0
|
||||
Q 17.1875 0 13.234375 3.875
|
||||
Q 9.28125 7.765625 9.28125 18.015625
|
||||
L 9.28125 47.703125
|
||||
L 2.6875 47.703125
|
||||
L 2.6875 54.6875
|
||||
L 9.28125 54.6875
|
||||
L 9.28125 70.21875
|
||||
z
|
||||
" id="BitstreamVeraSans-Roman-74"/>
|
||||
<path d="M 54.890625 33.015625
|
||||
L 54.890625 0
|
||||
L 45.90625 0
|
||||
L 45.90625 32.71875
|
||||
Q 45.90625 40.484375 42.875 44.328125
|
||||
Q 39.84375 48.1875 33.796875 48.1875
|
||||
Q 26.515625 48.1875 22.3125 43.546875
|
||||
Q 18.109375 38.921875 18.109375 30.90625
|
||||
L 18.109375 0
|
||||
L 9.078125 0
|
||||
L 9.078125 54.6875
|
||||
L 18.109375 54.6875
|
||||
L 18.109375 46.1875
|
||||
Q 21.34375 51.125 25.703125 53.5625
|
||||
Q 30.078125 56 35.796875 56
|
||||
Q 45.21875 56 50.046875 50.171875
|
||||
Q 54.890625 44.34375 54.890625 33.015625
|
||||
" id="BitstreamVeraSans-Roman-6e"/>
|
||||
<path d="M 64.40625 67.28125
|
||||
L 64.40625 56.890625
|
||||
Q 59.421875 61.53125 53.78125 63.8125
|
||||
|
@ -753,6 +704,12 @@ Q 24.65625 74.21875 41.21875 74.21875
|
|||
Q 47.75 74.21875 53.53125 72.484375
|
||||
Q 59.328125 70.75 64.40625 67.28125
|
||||
" id="BitstreamVeraSans-Roman-43"/>
|
||||
<path d="M 9.421875 75.984375
|
||||
L 18.40625 75.984375
|
||||
L 18.40625 0
|
||||
L 9.421875 0
|
||||
z
|
||||
" id="BitstreamVeraSans-Roman-6c"/>
|
||||
<path d="M 41.109375 46.296875
|
||||
Q 39.59375 47.171875 37.8125 47.578125
|
||||
Q 36.03125 48 33.890625 48
|
||||
|
@ -769,24 +726,26 @@ Q 37.453125 56 38.578125 55.875
|
|||
Q 39.703125 55.765625 41.0625 55.515625
|
||||
z
|
||||
" id="BitstreamVeraSans-Roman-72"/>
|
||||
<path d="M 54.890625 33.015625
|
||||
L 54.890625 0
|
||||
L 45.90625 0
|
||||
L 45.90625 32.71875
|
||||
Q 45.90625 40.484375 42.875 44.328125
|
||||
Q 39.84375 48.1875 33.796875 48.1875
|
||||
Q 26.515625 48.1875 22.3125 43.546875
|
||||
Q 18.109375 38.921875 18.109375 30.90625
|
||||
L 18.109375 0
|
||||
L 9.078125 0
|
||||
L 9.078125 54.6875
|
||||
L 18.109375 54.6875
|
||||
L 18.109375 46.1875
|
||||
Q 21.34375 51.125 25.703125 53.5625
|
||||
Q 30.078125 56 35.796875 56
|
||||
Q 45.21875 56 50.046875 50.171875
|
||||
Q 54.890625 44.34375 54.890625 33.015625
|
||||
" id="BitstreamVeraSans-Roman-6e"/>
|
||||
<path d="M 18.3125 70.21875
|
||||
L 18.3125 54.6875
|
||||
L 36.8125 54.6875
|
||||
L 36.8125 47.703125
|
||||
L 18.3125 47.703125
|
||||
L 18.3125 18.015625
|
||||
Q 18.3125 11.328125 20.140625 9.421875
|
||||
Q 21.96875 7.515625 27.59375 7.515625
|
||||
L 36.8125 7.515625
|
||||
L 36.8125 0
|
||||
L 27.59375 0
|
||||
Q 17.1875 0 13.234375 3.875
|
||||
Q 9.28125 7.765625 9.28125 18.015625
|
||||
L 9.28125 47.703125
|
||||
L 2.6875 47.703125
|
||||
L 2.6875 54.6875
|
||||
L 9.28125 54.6875
|
||||
L 9.28125 70.21875
|
||||
z
|
||||
" id="BitstreamVeraSans-Roman-74"/>
|
||||
</defs>
|
||||
<g transform="translate(24.363125 104.11125)scale(0.12 -0.12)">
|
||||
<use xlink:href="#BitstreamVeraSans-Roman-43"/>
|
||||
|
@ -800,37 +759,19 @@ Q 54.890625 44.34375 54.890625 33.015625
|
|||
</g>
|
||||
</g>
|
||||
<g id="ytick_2">
|
||||
<g id="line2d_27">
|
||||
<g id="line2d_24">
|
||||
<g>
|
||||
<use style="stroke:#000000;stroke-width:0.5;" x="72.0" xlink:href="#mb6343d7e32" y="216.0"/>
|
||||
<use style="stroke:#000000;stroke-width:0.5;" x="72.0" xlink:href="#me6cfda9a01" y="216.0"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="line2d_28">
|
||||
<g id="line2d_25">
|
||||
<g>
|
||||
<use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m7497adebf2" y="216.0"/>
|
||||
<use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m78b728f56d" y="216.0"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="text_9">
|
||||
<g id="text_8">
|
||||
<!-- Cold cache -->
|
||||
<defs>
|
||||
<path d="M 54.890625 33.015625
|
||||
L 54.890625 0
|
||||
L 45.90625 0
|
||||
L 45.90625 32.71875
|
||||
Q 45.90625 40.484375 42.875 44.328125
|
||||
Q 39.84375 48.1875 33.796875 48.1875
|
||||
Q 26.515625 48.1875 22.3125 43.546875
|
||||
Q 18.109375 38.921875 18.109375 30.90625
|
||||
L 18.109375 0
|
||||
L 9.078125 0
|
||||
L 9.078125 75.984375
|
||||
L 18.109375 75.984375
|
||||
L 18.109375 46.1875
|
||||
Q 21.34375 51.125 25.703125 53.5625
|
||||
Q 30.078125 56 35.796875 56
|
||||
Q 45.21875 56 50.046875 50.171875
|
||||
Q 54.890625 44.34375 54.890625 33.015625
|
||||
" id="BitstreamVeraSans-Roman-68"/>
|
||||
<path d="M 34.28125 27.484375
|
||||
Q 23.390625 27.484375 19.1875 25
|
||||
Q 14.984375 22.515625 14.984375 16.5
|
||||
|
@ -862,26 +803,6 @@ Q 24.21875 56 28.609375 56
|
|||
Q 40.484375 56 46.34375 49.84375
|
||||
Q 52.203125 43.703125 52.203125 31.203125
|
||||
" id="BitstreamVeraSans-Roman-61"/>
|
||||
<path d="M 48.78125 52.59375
|
||||
L 48.78125 44.1875
|
||||
Q 44.96875 46.296875 41.140625 47.34375
|
||||
Q 37.3125 48.390625 33.40625 48.390625
|
||||
Q 24.65625 48.390625 19.8125 42.84375
|
||||
Q 14.984375 37.3125 14.984375 27.296875
|
||||
Q 14.984375 17.28125 19.8125 11.734375
|
||||
Q 24.65625 6.203125 33.40625 6.203125
|
||||
Q 37.3125 6.203125 41.140625 7.25
|
||||
Q 44.96875 8.296875 48.78125 10.40625
|
||||
L 48.78125 2.09375
|
||||
Q 45.015625 0.34375 40.984375 -0.53125
|
||||
Q 36.96875 -1.421875 32.421875 -1.421875
|
||||
Q 20.0625 -1.421875 12.78125 6.34375
|
||||
Q 5.515625 14.109375 5.515625 27.296875
|
||||
Q 5.515625 40.671875 12.859375 48.328125
|
||||
Q 20.21875 56 33.015625 56
|
||||
Q 37.15625 56 41.109375 55.140625
|
||||
Q 45.0625 54.296875 48.78125 52.59375
|
||||
" id="BitstreamVeraSans-Roman-63"/>
|
||||
<path d="M 45.40625 46.390625
|
||||
L 45.40625 75.984375
|
||||
L 54.390625 75.984375
|
||||
|
@ -906,6 +827,44 @@ Q 37.203125 48.484375 30.078125 48.484375
|
|||
Q 22.953125 48.484375 18.875 42.84375
|
||||
Q 14.796875 37.203125 14.796875 27.296875
|
||||
" id="BitstreamVeraSans-Roman-64"/>
|
||||
<path d="M 48.78125 52.59375
|
||||
L 48.78125 44.1875
|
||||
Q 44.96875 46.296875 41.140625 47.34375
|
||||
Q 37.3125 48.390625 33.40625 48.390625
|
||||
Q 24.65625 48.390625 19.8125 42.84375
|
||||
Q 14.984375 37.3125 14.984375 27.296875
|
||||
Q 14.984375 17.28125 19.8125 11.734375
|
||||
Q 24.65625 6.203125 33.40625 6.203125
|
||||
Q 37.3125 6.203125 41.140625 7.25
|
||||
Q 44.96875 8.296875 48.78125 10.40625
|
||||
L 48.78125 2.09375
|
||||
Q 45.015625 0.34375 40.984375 -0.53125
|
||||
Q 36.96875 -1.421875 32.421875 -1.421875
|
||||
Q 20.0625 -1.421875 12.78125 6.34375
|
||||
Q 5.515625 14.109375 5.515625 27.296875
|
||||
Q 5.515625 40.671875 12.859375 48.328125
|
||||
Q 20.21875 56 33.015625 56
|
||||
Q 37.15625 56 41.109375 55.140625
|
||||
Q 45.0625 54.296875 48.78125 52.59375
|
||||
" id="BitstreamVeraSans-Roman-63"/>
|
||||
<path d="M 54.890625 33.015625
|
||||
L 54.890625 0
|
||||
L 45.90625 0
|
||||
L 45.90625 32.71875
|
||||
Q 45.90625 40.484375 42.875 44.328125
|
||||
Q 39.84375 48.1875 33.796875 48.1875
|
||||
Q 26.515625 48.1875 22.3125 43.546875
|
||||
Q 18.109375 38.921875 18.109375 30.90625
|
||||
L 18.109375 0
|
||||
L 9.078125 0
|
||||
L 9.078125 75.984375
|
||||
L 18.109375 75.984375
|
||||
L 18.109375 46.1875
|
||||
Q 21.34375 51.125 25.703125 53.5625
|
||||
Q 30.078125 56 35.796875 56
|
||||
Q 45.21875 56 50.046875 50.171875
|
||||
Q 54.890625 44.34375 54.890625 33.015625
|
||||
" id="BitstreamVeraSans-Roman-68"/>
|
||||
</defs>
|
||||
<g transform="translate(1.97375 219.31125)scale(0.12 -0.12)">
|
||||
<use xlink:href="#BitstreamVeraSans-Roman-43"/>
|
||||
|
@ -922,17 +881,17 @@ Q 14.796875 37.203125 14.796875 27.296875
|
|||
</g>
|
||||
</g>
|
||||
<g id="ytick_3">
|
||||
<g id="line2d_29">
|
||||
<g id="line2d_26">
|
||||
<g>
|
||||
<use style="stroke:#000000;stroke-width:0.5;" x="72.0" xlink:href="#mb6343d7e32" y="331.2"/>
|
||||
<use style="stroke:#000000;stroke-width:0.5;" x="72.0" xlink:href="#me6cfda9a01" y="331.2"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="line2d_30">
|
||||
<g id="line2d_27">
|
||||
<g>
|
||||
<use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m7497adebf2" y="331.2"/>
|
||||
<use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m78b728f56d" y="331.2"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="text_10">
|
||||
<g id="text_9">
|
||||
<!-- Hot cache -->
|
||||
<defs>
|
||||
<path d="M 9.8125 72.90625
|
||||
|
@ -973,7 +932,7 @@ L 383.69925 295.05675
|
|||
z
|
||||
" style="fill:#ffffff;stroke:#000000;stroke-linejoin:miter;"/>
|
||||
</g>
|
||||
<g id="text_11">
|
||||
<g id="text_10">
|
||||
<!-- db -->
|
||||
<defs>
|
||||
<path d="M 48.6875 27.296875
|
||||
|
@ -1014,7 +973,7 @@ L 389.45925 320.49225
|
|||
z
|
||||
" style="fill:#0000ff;stroke:#000000;stroke-linejoin:miter;"/>
|
||||
</g>
|
||||
<g id="text_12">
|
||||
<g id="text_11">
|
||||
<!-- mysql -->
|
||||
<defs>
|
||||
<path d="M 14.796875 27.296875
|
||||
|
@ -1074,7 +1033,7 @@ L 389.45925 341.62875
|
|||
z
|
||||
" style="fill:#008000;stroke:#000000;stroke-linejoin:miter;"/>
|
||||
</g>
|
||||
<g id="text_13">
|
||||
<g id="text_12">
|
||||
<!-- postgresql -->
|
||||
<defs>
|
||||
<path d="M 45.40625 27.984375
|
||||
|
@ -1155,7 +1114,7 @@ L 389.45925 362.76525
|
|||
z
|
||||
" style="fill:#ff0000;stroke:#000000;stroke-linejoin:miter;"/>
|
||||
</g>
|
||||
<g id="text_14">
|
||||
<g id="text_13">
|
||||
<!-- sqlite -->
|
||||
<g transform="translate(429.77925 372.84525)scale(0.144 -0.144)">
|
||||
<use xlink:href="#BitstreamVeraSans-Roman-73"/>
|
||||
|
@ -1170,7 +1129,7 @@ z
|
|||
</g>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="p28e5b936e4">
|
||||
<clipPath id="pde415ec065">
|
||||
<rect height="345.6" width="446.4" x="72.0" y="43.2"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
|
|
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 37 KiB |
Before Width: | Height: | Size: 212 KiB After Width: | Height: | Size: 199 KiB |
Before Width: | Height: | Size: 212 KiB After Width: | Height: | Size: 199 KiB |
|
@ -1,3 +1,3 @@
|
|||
- mysql is 1.8× slower then 1.0× faster
|
||||
- postgresql is 1.0× slower then 11.7× faster
|
||||
- sqlite is 1.1× slower then 7.8× faster
|
||||
- mysql is 1.2× slower then 4.1× faster
|
||||
- postgresql is 1.1× slower then 8.9× faster
|
||||
- sqlite is 1.1× slower then 6.0× faster
|
||||
|
|
Before Width: | Height: | Size: 212 KiB After Width: | Height: | Size: 199 KiB |
|
@ -1,4 +1,4 @@
|
|||
VERSION = (1, 2, 1)
|
||||
VERSION = (1, 3, 0)
|
||||
__version__ = '.'.join(map(str, VERSION))
|
||||
|
||||
default_app_config = 'cachalot.apps.CachalotConfig'
|
||||
|
|
|
@ -25,7 +25,7 @@ Redis
|
|||
|
||||
By default, Redis will not evict persistent cache keys (those with a ``None``
|
||||
timeout) when the maximum memory has been reached. The cache keys created
|
||||
by django-cachalot are persistent, so if Redis runs out of memory,
|
||||
by django-cachalot are persistent by default, so if Redis runs out of memory,
|
||||
django-cachalot and all other ``cache.set`` will raise
|
||||
``ResponseError: OOM command not allowed when used memory > 'maxmemory'.``
|
||||
because Redis is not allowed to delete persistent keys.
|
||||
|
@ -88,9 +88,13 @@ MySQL
|
|||
This database software already provides by default something like
|
||||
django-cachalot:
|
||||
`MySQL query cache <http://dev.mysql.com/doc/refman/5.7/en/query-cache.html>`_.
|
||||
Django-cachalot will slow down your queries if that query cache is enabled.
|
||||
If it’s not enabled, django-cachalot will make queries much faster.
|
||||
But you should probably better enable the query cache instead.
|
||||
Unfortunately, this built-in query cache has no significant effect
|
||||
since at least MySQL 5.7. However, in MySQL 5.5 it was working so well that
|
||||
django-cachalot was not improving performance.
|
||||
So depending on the MySQL version, django-cachalot may be useless.
|
||||
See the current `django-cachalot benchmark <benchmark>`_ and compare it with
|
||||
`an older run of the same benchmark <http://django-cachalot.readthedocs.io/en/1.2.0/benchmark.html>`_
|
||||
to see the clear difference: MySQL became 4 × slower since then!
|
||||
|
||||
.. _Raw SQL queries:
|
||||
|
||||
|
|
|
@ -19,7 +19,7 @@ Requirements
|
|||
|
||||
- PostgreSQL
|
||||
- SQLite
|
||||
- MySQL (but you probably don’t need django-cachalot in this case,
|
||||
- MySQL (but on older versions like 5.5, django-cachalot has no effect,
|
||||
see :ref:`MySQL limits <MySQL>`)
|
||||
|
||||
Usage
|
||||
|
|
|
@ -1,9 +1,8 @@
|
|||
What still needs to be done
|
||||
---------------------------
|
||||
What could still be done
|
||||
------------------------
|
||||
|
||||
- Cache raw queries (may not be possible due to database cursors
|
||||
being written in C)
|
||||
- Test multi-location caches if possible
|
||||
- Allow setting ``CACHALOT_CACHE`` to ``None`` in order to disable django-cachalot
|
||||
persistence. SQL queries would only be cached during transactions, so setting
|
||||
``ATOMIC_REQUESTS`` to ``True`` would cache SQL queries only during
|
||||
|
|