Version 1.4.0.

This commit is contained in:
Bertrand Bordage 2016-09-29 20:28:47 +02:00
parent b6c1426168
commit 5965319688
15 changed files with 10129 additions and 10115 deletions

View File

@ -1,6 +1,20 @@
Whats new in django-cachalot?
==============================
1.4.0
-----
- Fixes a bad design: ``QuerySet.select_for_update`` was cached, but its not
correct since it does not lock data in the database once data was cached,
leading to the database lock being useless in some cases
- Stops automatically invalidating other caches than ``CACHALOT_CACHE`` for
consistency, performance, and usefulness reasons
- Fixes a minor issue: the ``post_invalidation`` signal was sent during
transactions when calling the ``invalidate`` command
- Creates `a gitter chat room <https://gitter.im/django-cachalot/Lobby>`_
- Removes the Slack team. Slack does not allow public chat, this was therefore
a bad idea
1.3.0
-----
@ -8,7 +22,7 @@ Whats new in django-cachalot?
- Drops Django 1.7 support
- Drops Python 3.2 support
- Adds a Jinja2 extension with a ``cache`` statement
and the ``get_last_invalidation`` function.
and the ``get_last_invalidation`` function
- Adds a ``CACHALOT_TIMEOUT`` setting after dozens
of private & public requests, but its not really useful
- Fixes a ``RuntimeError`` occurring if a ``DatabaseCache`` was used in

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 41 KiB

After

Width:  |  Height:  |  Size: 41 KiB

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 199 KiB

After

Width:  |  Height:  |  Size: 199 KiB

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 199 KiB

After

Width:  |  Height:  |  Size: 199 KiB

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 199 KiB

After

Width:  |  Height:  |  Size: 199 KiB

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 199 KiB

After

Width:  |  Height:  |  Size: 199 KiB

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 199 KiB

After

Width:  |  Height:  |  Size: 199 KiB

View File

@ -1,5 +1,5 @@
- 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
- filebased is 1.1× slower then 6.5× faster
- locmem is 1.1× slower then 6.7× faster
- memcached is 1.1× slower then 6.3× faster
- pylibmc is 1.1× slower then 6.6× faster
- redis is 1.1× slower then 6.0× faster

View File

@ -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 20536880 kB
RAM 20537972 kB
Disk INTEL SSDSC2CW06
Linux distribution Ubuntu 16.04 xenial
Python 3.5.2
Django 1.10.1
cachalot 1.3.0
cachalot 1.4.0
sqlite 3.11.0
PostgreSQL 9.5.4
MySQL 5.7.13
PostgreSQL 9.6.0
MySQL 5.7.15
Redis 3.0.6
memcached 1.4.25
psycopg2 2.6.2
mysqlclient 1.3.7
mysqlclient 1.3.8
==================== ==================================================

View File

@ -27,181 +27,181 @@ z
" style="fill:#ffffff;"/>
</g>
<g id="patch_3">
<path clip-path="url(#pde415ec065)" d="M 72 72
L 108.561941 72
L 108.561941 91.2
<path clip-path="url(#pa1c1b3909e)" d="M 72 72
L 115.594096 72
L 115.594096 91.2
L 72 91.2
z
" style="fill:#0000ff;stroke:#000000;stroke-linejoin:miter;"/>
</g>
<g id="patch_4">
<path clip-path="url(#pde415ec065)" d="M 72 187.2
L 114.250967 187.2
L 114.250967 206.4
<path clip-path="url(#pa1c1b3909e)" d="M 72 187.2
L 121.436475 187.2
L 121.436475 206.4
L 72 206.4
z
" style="fill:#0000ff;stroke:#000000;stroke-linejoin:miter;"/>
</g>
<g id="patch_5">
<path clip-path="url(#pde415ec065)" d="M 72 302.4
L 80.977554 302.4
L 80.977554 321.6
<path clip-path="url(#pa1c1b3909e)" d="M 72 302.4
L 82.498175 302.4
L 82.498175 321.6
L 72 321.6
z
" style="fill:#0000ff;stroke:#000000;stroke-linejoin:miter;"/>
</g>
<g id="patch_6">
<path clip-path="url(#pde415ec065)" d="M 72 91.2
L 156.098648 91.2
L 156.098648 110.4
<path clip-path="url(#pa1c1b3909e)" d="M 72 91.2
L 166.824016 91.2
L 166.824016 110.4
L 72 110.4
z
" style="fill:#008000;stroke:#000000;stroke-linejoin:miter;"/>
</g>
<g id="patch_7">
<path clip-path="url(#pde415ec065)" d="M 72 206.4
L 165.666549 206.4
L 165.666549 225.6
<path clip-path="url(#pa1c1b3909e)" d="M 72 206.4
L 176.656494 206.4
L 176.656494 225.6
L 72 225.6
z
" style="fill:#008000;stroke:#000000;stroke-linejoin:miter;"/>
</g>
<g id="patch_8">
<path clip-path="url(#pde415ec065)" d="M 72 321.6
L 81.406451 321.6
L 81.406451 340.8
<path clip-path="url(#pa1c1b3909e)" d="M 72 321.6
L 82.282822 321.6
L 82.282822 340.8
L 72 340.8
z
" style="fill:#008000;stroke:#000000;stroke-linejoin:miter;"/>
</g>
<g id="patch_9">
<path clip-path="url(#pde415ec065)" d="M 72 110.4
L 129.618239 110.4
L 129.618239 129.6
<path clip-path="url(#pa1c1b3909e)" d="M 72 110.4
L 134.279158 110.4
L 134.279158 129.6
L 72 129.6
z
" style="fill:#ff0000;stroke:#000000;stroke-linejoin:miter;"/>
</g>
<g id="patch_10">
<path clip-path="url(#pde415ec065)" d="M 72 225.6
L 136.970979 225.6
L 136.970979 244.8
<path clip-path="url(#pa1c1b3909e)" d="M 72 225.6
L 141.560205 225.6
L 141.560205 244.8
L 72 244.8
z
" style="fill:#ff0000;stroke:#000000;stroke-linejoin:miter;"/>
</g>
<g id="patch_11">
<path clip-path="url(#pde415ec065)" d="M 72 340.8
L 81.66573 340.8
L 81.66573 360
<path clip-path="url(#pa1c1b3909e)" d="M 72 340.8
L 82.476088 340.8
L 82.476088 360
L 72 360
z
" style="fill:#ff0000;stroke:#000000;stroke-linejoin:miter;"/>
</g>
<g id="LineCollection_1">
<path clip-path="url(#pde415ec065)" d="M 76.08759 81.6
L 225.721185 81.6
<path clip-path="url(#pa1c1b3909e)" d="M 76.783708 81.6
L 447.462319 81.6
" style="fill:none;stroke:#000000;"/>
<path clip-path="url(#pde415ec065)" d="M 78.921653 196.8
L 265.387376 196.8
<path clip-path="url(#pa1c1b3909e)" d="M 80.974838 196.8
L 229.147558 196.8
" style="fill:none;stroke:#000000;"/>
<path clip-path="url(#pde415ec065)" d="M 73.666027 312
L 281.705678 312
<path clip-path="url(#pa1c1b3909e)" d="M 73.845261 312
L 133.956533 312
" style="fill:none;stroke:#000000;"/>
</g>
<g id="LineCollection_2">
<path clip-path="url(#pde415ec065)" d="M 75.837526 100.8
L 438.27268 100.8
<path clip-path="url(#pa1c1b3909e)" d="M 76.500807 100.8
L 404.557961 100.8
" style="fill:none;stroke:#000000;"/>
<path clip-path="url(#pde415ec065)" d="M 79.368349 216
<path clip-path="url(#pa1c1b3909e)" d="M 80.042311 216
L 513.980198 216
" style="fill:none;stroke:#000000;"/>
<path clip-path="url(#pde415ec065)" d="M 73.71946 331.2
L 325.270308 331.2
<path clip-path="url(#pa1c1b3909e)" d="M 73.830126 331.2
L 125.346091 331.2
" style="fill:none;stroke:#000000;"/>
</g>
<g id="LineCollection_3">
<path clip-path="url(#pde415ec065)" d="M 73.262077 120
L 306.657612 120
<path clip-path="url(#pa1c1b3909e)" d="M 73.461074 120
L 282.807983 120
" style="fill:none;stroke:#000000;"/>
<path clip-path="url(#pde415ec065)" d="M 74.681246 235.2
L 322.874392 235.2
<path clip-path="url(#pa1c1b3909e)" d="M 75.561296 235.2
L 277.718089 235.2
" style="fill:none;stroke:#000000;"/>
<path clip-path="url(#pde415ec065)" d="M 73.771824 350.4
L 137.397172 350.4
<path clip-path="url(#pa1c1b3909e)" d="M 73.813828 350.4
L 136.799516 350.4
" style="fill:none;stroke:#000000;"/>
</g>
<g id="line2d_1">
<defs>
<path d="M 0 3
L 0 -3
" id="ma7d99c87c6" style="stroke:#000000;stroke-width:0.5;"/>
" id="md055852008" style="stroke:#000000;stroke-width:0.5;"/>
</defs>
<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 clip-path="url(#pa1c1b3909e)">
<use style="stroke:#000000;stroke-width:0.5;" x="76.7837084244" xlink:href="#md055852008" y="81.6"/>
<use style="stroke:#000000;stroke-width:0.5;" x="80.9748377327" xlink:href="#md055852008" y="196.8"/>
<use style="stroke:#000000;stroke-width:0.5;" x="73.8452610982" xlink:href="#md055852008" y="312.0"/>
</g>
</g>
<g id="line2d_2">
<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 clip-path="url(#pa1c1b3909e)">
<use style="stroke:#000000;stroke-width:0.5;" x="447.462319086" xlink:href="#md055852008" y="81.6"/>
<use style="stroke:#000000;stroke-width:0.5;" x="229.147557618" xlink:href="#md055852008" y="196.8"/>
<use style="stroke:#000000;stroke-width:0.5;" x="133.956533203" xlink:href="#md055852008" y="312.0"/>
</g>
</g>
<g id="line2d_3">
<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 clip-path="url(#pa1c1b3909e)">
<use style="stroke:#000000;stroke-width:0.5;" x="76.5008071961" xlink:href="#md055852008" y="100.8"/>
<use style="stroke:#000000;stroke-width:0.5;" x="80.0423114616" xlink:href="#md055852008" y="216.0"/>
<use style="stroke:#000000;stroke-width:0.5;" x="73.8301264646" xlink:href="#md055852008" y="331.2"/>
</g>
</g>
<g id="line2d_4">
<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 clip-path="url(#pa1c1b3909e)">
<use style="stroke:#000000;stroke-width:0.5;" x="404.557961198" xlink:href="#md055852008" y="100.8"/>
<use style="stroke:#000000;stroke-width:0.5;" x="513.98019802" xlink:href="#md055852008" y="216.0"/>
<use style="stroke:#000000;stroke-width:0.5;" x="125.346090879" xlink:href="#md055852008" y="331.2"/>
</g>
</g>
<g id="line2d_5">
<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 clip-path="url(#pa1c1b3909e)">
<use style="stroke:#000000;stroke-width:0.5;" x="73.461074245" xlink:href="#md055852008" y="120.0"/>
<use style="stroke:#000000;stroke-width:0.5;" x="75.5612957095" xlink:href="#md055852008" y="235.2"/>
<use style="stroke:#000000;stroke-width:0.5;" x="73.8138276284" xlink:href="#md055852008" y="350.4"/>
</g>
</g>
<g id="line2d_6">
<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 clip-path="url(#pa1c1b3909e)">
<use style="stroke:#000000;stroke-width:0.5;" x="282.807983196" xlink:href="#md055852008" y="120.0"/>
<use style="stroke:#000000;stroke-width:0.5;" x="277.718089491" xlink:href="#md055852008" y="235.2"/>
<use style="stroke:#000000;stroke-width:0.5;" x="136.799515917" xlink:href="#md055852008" y="350.4"/>
</g>
</g>
<g id="patch_12">
<path d="M 72 388.8
L 72 43.2
<path d="M 518.4 388.8
L 518.4 43.2
" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;"/>
</g>
<g id="patch_13">
<path d="M 518.4 388.8
<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="patch_14">
<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_15">
<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="matplotlib.axis_1">
<g id="xtick_1">
<g id="line2d_7">
<path clip-path="url(#pde415ec065)" d="M 72 388.8
<path clip-path="url(#pa1c1b3909e)" 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,25 +209,31 @@ L 72 43.2
<defs>
<path d="M 0 0
L 0 -4
" id="m0cafb8b0b0" style="stroke:#000000;stroke-width:0.5;"/>
" id="me0c555e16e" style="stroke:#000000;stroke-width:0.5;"/>
</defs>
<g>
<use style="stroke:#000000;stroke-width:0.5;" x="72.0" xlink:href="#m0cafb8b0b0" y="388.8"/>
<use style="stroke:#000000;stroke-width:0.5;" x="72.0" xlink:href="#me0c555e16e" y="388.8"/>
</g>
</g>
<g id="line2d_9">
<defs>
<path d="M 0 0
L 0 4
" id="m2d2a989530" style="stroke:#000000;stroke-width:0.5;"/>
" id="me0d167e405" style="stroke:#000000;stroke-width:0.5;"/>
</defs>
<g>
<use style="stroke:#000000;stroke-width:0.5;" x="72.0" xlink:href="#m2d2a989530" y="43.2"/>
<use style="stroke:#000000;stroke-width:0.5;" x="72.0" xlink:href="#me0d167e405" 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
@ -247,12 +253,6 @@ 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 @@ z
</g>
<g id="xtick_2">
<g id="line2d_10">
<path clip-path="url(#pde415ec065)" d="M 161.644951 388.8
L 161.644951 43.2
<path clip-path="url(#pa1c1b3909e)" d="M 169.660391 388.8
L 169.660391 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="161.644950759" xlink:href="#m0cafb8b0b0" y="388.8"/>
<use style="stroke:#000000;stroke-width:0.5;" x="169.660391236" xlink:href="#me0c555e16e" y="388.8"/>
</g>
</g>
<g id="line2d_12">
<g>
<use style="stroke:#000000;stroke-width:0.5;" x="161.644950759" xlink:href="#m2d2a989530" y="43.2"/>
<use style="stroke:#000000;stroke-width:0.5;" x="169.660391236" xlink:href="#me0d167e405" 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(148.285575759 401.918125)scale(0.12 -0.12)">
<g transform="translate(156.301016236 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(#pde415ec065)" d="M 251.289902 388.8
L 251.289902 43.2
<path clip-path="url(#pa1c1b3909e)" d="M 267.320782 388.8
L 267.320782 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="251.289901518" xlink:href="#m0cafb8b0b0" y="388.8"/>
<use style="stroke:#000000;stroke-width:0.5;" x="267.320782471" xlink:href="#me0c555e16e" y="388.8"/>
</g>
</g>
<g id="line2d_15">
<g>
<use style="stroke:#000000;stroke-width:0.5;" x="251.289901518" xlink:href="#m2d2a989530" y="43.2"/>
<use style="stroke:#000000;stroke-width:0.5;" x="267.320782471" xlink:href="#me0d167e405" 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(237.930526518 401.918125)scale(0.12 -0.12)">
<g transform="translate(253.961407471 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(#pde415ec065)" d="M 340.934852 388.8
L 340.934852 43.2
<path clip-path="url(#pa1c1b3909e)" d="M 364.981174 388.8
L 364.981174 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="340.934852277" xlink:href="#m0cafb8b0b0" y="388.8"/>
<use style="stroke:#000000;stroke-width:0.5;" x="364.981173707" xlink:href="#me0c555e16e" y="388.8"/>
</g>
</g>
<g id="line2d_18">
<g>
<use style="stroke:#000000;stroke-width:0.5;" x="340.934852277" xlink:href="#m2d2a989530" y="43.2"/>
<use style="stroke:#000000;stroke-width:0.5;" x="364.981173707" xlink:href="#me0d167e405" 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(327.575477277 401.918125)scale(0.12 -0.12)">
<g transform="translate(351.621798707 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(#pde415ec065)" d="M 430.579803 388.8
L 430.579803 43.2
<path clip-path="url(#pa1c1b3909e)" d="M 462.641565 388.8
L 462.641565 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="430.579803035" xlink:href="#m0cafb8b0b0" y="388.8"/>
<use style="stroke:#000000;stroke-width:0.5;" x="462.641564943" xlink:href="#me0c555e16e" y="388.8"/>
</g>
</g>
<g id="line2d_21">
<g>
<use style="stroke:#000000;stroke-width:0.5;" x="430.579803035" xlink:href="#m2d2a989530" y="43.2"/>
<use style="stroke:#000000;stroke-width:0.5;" x="462.641564943" xlink:href="#me0d167e405" 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(417.220428035 401.918125)scale(0.12 -0.12)">
<g transform="translate(449.282189943 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"/>
@ -481,6 +481,70 @@ Q 18.3125 60.0625 18.3125 54.390625
<g id="text_6">
<!-- Time (s) -->
<defs>
<path d="M 52 44.1875
Q 55.375 50.25 60.0625 53.125
Q 64.75 56 71.09375 56
Q 79.640625 56 84.28125 50.015625
Q 88.921875 44.046875 88.921875 33.015625
L 88.921875 0
L 79.890625 0
L 79.890625 32.71875
Q 79.890625 40.578125 77.09375 44.375
Q 74.3125 48.1875 68.609375 48.1875
Q 61.625 48.1875 57.5625 43.546875
Q 53.515625 38.921875 53.515625 30.90625
L 53.515625 0
L 44.484375 0
L 44.484375 32.71875
Q 44.484375 40.625 41.703125 44.40625
Q 38.921875 48.1875 33.109375 48.1875
Q 26.21875 48.1875 22.15625 43.53125
Q 18.109375 38.875 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.1875 51.21875 25.484375 53.609375
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 id="BitstreamVeraSans-Roman-20"/>
<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 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
" id="BitstreamVeraSans-Roman-65"/>
<path d="M 44.28125 53.078125
L 44.28125 44.578125
Q 40.484375 46.53125 36.375 47.5
@ -511,92 +575,6 @@ 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 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
" 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
Q 79.640625 56 84.28125 50.015625
Q 88.921875 44.046875 88.921875 33.015625
L 88.921875 0
L 79.890625 0
L 79.890625 32.71875
Q 79.890625 40.578125 77.09375 44.375
Q 74.3125 48.1875 68.609375 48.1875
Q 61.625 48.1875 57.5625 43.546875
Q 53.515625 38.921875 53.515625 30.90625
L 53.515625 0
L 44.484375 0
L 44.484375 32.71875
Q 44.484375 40.625 41.703125 44.40625
Q 38.921875 48.1875 33.109375 48.1875
Q 26.21875 48.1875 22.15625 43.53125
Q 18.109375 38.875 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.1875 51.21875 25.484375 53.609375
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
L 35.5 64.59375
L 35.5 0
L 25.59375 0
L 25.59375 64.59375
L -0.296875 64.59375
z
" id="BitstreamVeraSans-Roman-54"/>
<path d="M 31 75.875
Q 24.46875 64.65625 21.28125 53.65625
Q 18.109375 42.671875 18.109375 31.390625
@ -609,6 +587,28 @@ 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 -0.296875 72.90625
L 61.375 72.90625
L 61.375 64.59375
L 35.5 64.59375
L 35.5 0
L 25.59375 0
L 25.59375 64.59375
L -0.296875 64.59375
z
" id="BitstreamVeraSans-Roman-54"/>
<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"/>
</defs>
<g transform="translate(270.620625 418.531875)scale(0.12 -0.12)">
<use xlink:href="#BitstreamVeraSans-Roman-54"/>
@ -628,62 +628,25 @@ z
<defs>
<path d="M 0 0
L 4 0
" id="me6cfda9a01" style="stroke:#000000;stroke-width:0.5;"/>
" id="m3335cc891a" style="stroke:#000000;stroke-width:0.5;"/>
</defs>
<g>
<use style="stroke:#000000;stroke-width:0.5;" x="72.0" xlink:href="#me6cfda9a01" y="100.8"/>
<use style="stroke:#000000;stroke-width:0.5;" x="72.0" xlink:href="#m3335cc891a" y="100.8"/>
</g>
</g>
<g id="line2d_23">
<defs>
<path d="M 0 0
L -4 0
" id="m78b728f56d" style="stroke:#000000;stroke-width:0.5;"/>
" id="m3064aa3634" style="stroke:#000000;stroke-width:0.5;"/>
</defs>
<g>
<use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m78b728f56d" y="100.8"/>
<use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m3064aa3634" y="100.8"/>
</g>
</g>
<g id="text_7">
<!-- Control -->
<defs>
<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
Q 14.984375 17.484375 19.15625 11.84375
Q 23.34375 6.203125 30.609375 6.203125
Q 37.796875 6.203125 41.984375 11.859375
Q 46.1875 17.53125 46.1875 27.296875
Q 46.1875 37.015625 41.984375 42.703125
Q 37.796875 48.390625 30.609375 48.390625
M 30.609375 56
Q 42.328125 56 49.015625 48.375
Q 55.71875 40.765625 55.71875 27.296875
Q 55.71875 13.875 49.015625 6.21875
Q 42.328125 -1.421875 30.609375 -1.421875
Q 18.84375 -1.421875 12.171875 6.21875
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 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
@ -704,12 +667,49 @@ 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 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 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
Q 14.984375 17.484375 19.15625 11.84375
Q 23.34375 6.203125 30.609375 6.203125
Q 37.796875 6.203125 41.984375 11.859375
Q 46.1875 17.53125 46.1875 27.296875
Q 46.1875 37.015625 41.984375 42.703125
Q 37.796875 48.390625 30.609375 48.390625
M 30.609375 56
Q 42.328125 56 49.015625 48.375
Q 55.71875 40.765625 55.71875 27.296875
Q 55.71875 13.875 49.015625 6.21875
Q 42.328125 -1.421875 30.609375 -1.421875
Q 18.84375 -1.421875 12.171875 6.21875
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 41.109375 46.296875
Q 39.59375 47.171875 37.8125 47.578125
Q 36.03125 48 33.890625 48
@ -761,12 +761,12 @@ z
<g id="ytick_2">
<g id="line2d_24">
<g>
<use style="stroke:#000000;stroke-width:0.5;" x="72.0" xlink:href="#me6cfda9a01" y="216.0"/>
<use style="stroke:#000000;stroke-width:0.5;" x="72.0" xlink:href="#m3335cc891a" y="216.0"/>
</g>
</g>
<g id="line2d_25">
<g>
<use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m78b728f56d" y="216.0"/>
<use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m3064aa3634" y="216.0"/>
</g>
</g>
<g id="text_8">
@ -803,6 +803,44 @@ 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 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 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
@ -827,44 +865,6 @@ 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"/>
@ -883,12 +883,12 @@ Q 54.890625 44.34375 54.890625 33.015625
<g id="ytick_3">
<g id="line2d_26">
<g>
<use style="stroke:#000000;stroke-width:0.5;" x="72.0" xlink:href="#me6cfda9a01" y="331.2"/>
<use style="stroke:#000000;stroke-width:0.5;" x="72.0" xlink:href="#m3335cc891a" y="331.2"/>
</g>
</g>
<g id="line2d_27">
<g>
<use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m78b728f56d" y="331.2"/>
<use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m3064aa3634" y="331.2"/>
</g>
</g>
<g id="text_9">
@ -1036,6 +1036,30 @@ z
<g id="text_12">
<!-- postgresql -->
<defs>
<path d="M 18.109375 8.203125
L 18.109375 -20.796875
L 9.078125 -20.796875
L 9.078125 54.6875
L 18.109375 54.6875
L 18.109375 46.390625
Q 20.953125 51.265625 25.265625 53.625
Q 29.59375 56 35.59375 56
Q 45.5625 56 51.78125 48.09375
Q 58.015625 40.1875 58.015625 27.296875
Q 58.015625 14.40625 51.78125 6.484375
Q 45.5625 -1.421875 35.59375 -1.421875
Q 29.59375 -1.421875 25.265625 0.953125
Q 20.953125 3.328125 18.109375 8.203125
M 48.6875 27.296875
Q 48.6875 37.203125 44.609375 42.84375
Q 40.53125 48.484375 33.40625 48.484375
Q 26.265625 48.484375 22.1875 42.84375
Q 18.109375 37.203125 18.109375 27.296875
Q 18.109375 17.390625 22.1875 11.75
Q 26.265625 6.109375 33.40625 6.109375
Q 40.53125 6.109375 44.609375 11.75
Q 48.6875 17.390625 48.6875 27.296875
" id="BitstreamVeraSans-Roman-70"/>
<path d="M 45.40625 27.984375
Q 45.40625 37.75 41.375 43.109375
Q 37.359375 48.484375 30.078125 48.484375
@ -1068,30 +1092,6 @@ L 45.40625 54.6875
L 54.390625 54.6875
z
" id="BitstreamVeraSans-Roman-67"/>
<path d="M 18.109375 8.203125
L 18.109375 -20.796875
L 9.078125 -20.796875
L 9.078125 54.6875
L 18.109375 54.6875
L 18.109375 46.390625
Q 20.953125 51.265625 25.265625 53.625
Q 29.59375 56 35.59375 56
Q 45.5625 56 51.78125 48.09375
Q 58.015625 40.1875 58.015625 27.296875
Q 58.015625 14.40625 51.78125 6.484375
Q 45.5625 -1.421875 35.59375 -1.421875
Q 29.59375 -1.421875 25.265625 0.953125
Q 20.953125 3.328125 18.109375 8.203125
M 48.6875 27.296875
Q 48.6875 37.203125 44.609375 42.84375
Q 40.53125 48.484375 33.40625 48.484375
Q 26.265625 48.484375 22.1875 42.84375
Q 18.109375 37.203125 18.109375 27.296875
Q 18.109375 17.390625 22.1875 11.75
Q 26.265625 6.109375 33.40625 6.109375
Q 40.53125 6.109375 44.609375 11.75
Q 48.6875 17.390625 48.6875 27.296875
" id="BitstreamVeraSans-Roman-70"/>
</defs>
<g transform="translate(429.77925 351.70875)scale(0.144 -0.144)">
<use xlink:href="#BitstreamVeraSans-Roman-70"/>
@ -1129,7 +1129,7 @@ z
</g>
</g>
<defs>
<clipPath id="pde415ec065">
<clipPath id="pa1c1b3909e">
<rect height="345.6" width="446.4" x="72.0" y="43.2"/>
</clipPath>
</defs>

Before

Width:  |  Height:  |  Size: 37 KiB

After

Width:  |  Height:  |  Size: 37 KiB

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 199 KiB

After

Width:  |  Height:  |  Size: 199 KiB

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 199 KiB

After

Width:  |  Height:  |  Size: 199 KiB

View File

@ -1,3 +1,3 @@
- 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
- mysql is 1.1× slower then 4.2× faster
- postgresql is 1.1× slower then 9.2× faster
- sqlite is 1.1× slower then 5.9× faster

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 199 KiB

After

Width:  |  Height:  |  Size: 199 KiB

View File

@ -1,4 +1,4 @@
VERSION = (1, 3, 0)
VERSION = (1, 4, 0)
__version__ = '.'.join(map(str, VERSION))
default_app_config = 'cachalot.apps.CachalotConfig'