• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

zodb / relstorage / 603
96%
master: 92%

Build:
Build:
LAST BUILD BRANCH: dependabot/github_actions/github-actions-a331d3ec2d
DEFAULT BRANCH: master
Ran 30 Jan 2017 08:53PM UTC
Jobs 5
Files 73
Run time 4min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

pending completion
603

push

travis-ci

jamadden
Use InnoDB temp tables

And truncate them.

For most things this seems to speed up writes by around 10% or more due
to the way the temp tables are allocated.

Tested on both 5.5 and 5.7.

I think the dropping was an attempt to make the tables statement-level
replication compatible, but since they weren't transactianal I don't
think that worked. They were also variable sized so I don't think there
were any speed benefits. It also didn't implicitly end the transaction,
but that's not a concern where this is called.

Here's a complete set of benchmarks against 5.7, comparing zodbshootout
with -c2 and -c6, -n 1000 and '-n 100 -s 256 --test-reps 200'. This
compares 2.0.0 with current master and this change, in that order.

** c=2,s=256 **                2.0.0   master   InnoDB
"Transaction",               mysql_hf
"Add 100 Objects",               8883     9199    10157
"Update 100 Objects",            9380     9169    10318

** c=6,s=256 **                 2.0.0    master   InnoDB
"Transaction",               mysql_hf
"Add 100 Objects",               ----     14913   15524
"Update 100 Objects",            ----     14914   15077

** c=6,s=128 **                 2.0.0    master   InnoDB
"Transaction",                mysql_hf
"Add 1000 Objects",              29815    31704    38506
"Update 1000 Objects",           28978    29030    29137

In all cases, InnoDB temp tables outperform, in some cases
substantially.

An earlier set of benchmarks taken against 5.5 (but prior to a rebase on
master, so not easily replicated). The absolute value difference in
numbers versus above is that these were taken with Py 3.4 while above
was py 2.7.

zodbshootout -c 2 shootout.conf -n 100 --test-reps 200 -r 1 -s 256

Before

** concurrency=2 **
"Transaction",               mysql_hf
"Add 100 Objects",               6493
"Update 100 Objects",            9636
"Read 100 Warm Objects",         9797
"Read 100 Cold Objects",         9336
"Read 100 Hot Objects",         37407
"Read 100... (continued)

6 of 6 new or added lines in 1 file covered. (100.0%)

4712 of 5445 relevant lines covered (86.54%)

3.42 hits per line

Uncovered Existing Lines

Lines Coverage ∆ File
1
100.0
relstorage/adapters/postgresql/txncontrol.py
1
100.0
relstorage/adapters/mysql/mover.py
1
100.0
relstorage/adapters/connmanager.py
1
100.0
relstorage/_compat.py
2
100.0
relstorage/adapters/mysql/schema.py
2
100.0
relstorage/config.py
4
100.0
relstorage/cache/storage_cache.py
5
100.0
relstorage/adapters/postgresql/stats.py
6
100.0
relstorage/adapters/postgresql/oidallocator.py
7
100.0
relstorage/adapters/mover.py
7
100.0
relstorage/adapters/batch.py
8
100.0
relstorage/adapters/schema.py
28
100.0
relstorage/adapters/postgresql/connmanager.py
33
100.0
relstorage/adapters/postgresql/locker.py
45
100.0
relstorage/adapters/mysql/drivers.py
50
100.0
relstorage/adapters/postgresql/adapter.py
80
100.0
relstorage/adapters/postgresql/mover.py
94
100.0
relstorage/adapters/postgresql/schema.py
127
100.0
relstorage/adapters/postgresql/drivers.py
Jobs
ID Job ID Ran Files Coverage
1 603.1 (ENV=cmysqlconnector RS_MY_DRIVER="C MySQL Connector/Python") 30 Jan 2017 08:54PM UTC 0
85.64
Travis Job 603.1
2 603.2 (ENV=mysqlconnector) 30 Jan 2017 08:57PM UTC 0
85.53
Travis Job 603.2
3 603.3 (ENV=mysqlconnector) 30 Jan 2017 08:53PM UTC 0
Travis Job 603.3
4 603.4 (ENV=mysql) 30 Jan 2017 08:53PM UTC 0
85.34
Travis Job 603.4
5 603.5 (ENV=mysql) 30 Jan 2017 08:53PM UTC 0
85.34
Travis Job 603.5
Source Files on build 603
Detailed source file information is not available for this build.
  • Back to Repo
  • Travis Build #603
  • f49ba9c8 on github
  • Prev Build on mysql-myisasm (#602)
  • Next Build on mysql-myisasm (#605)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc