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

zodb / relstorage / 605
96%
master: 92%

Build:
Build:
LAST BUILD BRANCH: dependabot/github_actions/github-actions-a331d3ec2d
DEFAULT BRANCH: master
Ran 30 Jan 2017 09:15PM UTC
Jobs 15
Files 73
Run time 21min
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
605

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%)

5213 of 5445 relevant lines covered (95.74%)

10.34 hits per line

Uncovered Existing Lines

Lines Coverage ∆ File
5
100.0
relstorage/adapters/mysql/mover.py
Jobs
ID Job ID Ran Files Coverage
1 605.1 (ENV=cmysqlconnector RS_MY_DRIVER="C MySQL Connector/Python") 30 Jan 2017 09:15PM UTC 0
85.64
Travis Job 605.1
2 605.2 (ENV=mysqlconnector) 30 Jan 2017 09:18PM UTC 0
85.49
Travis Job 605.2
3 605.3 (ENV=mysqlconnector) 30 Jan 2017 09:17PM UTC 0
Travis Job 605.3
4 605.4 (ENV=mysql) 30 Jan 2017 09:21PM UTC 0
85.31
Travis Job 605.4
5 605.5 (ENV=mysql) 30 Jan 2017 09:21PM UTC 0
85.34
Travis Job 605.5
6 605.6 (ENV=mysql) 30 Jan 2017 09:23PM UTC 0
85.33
Travis Job 605.6
7 605.7 (ENV=mysql) 30 Jan 2017 09:22PM UTC 0
Travis Job 605.7
8 605.8 (ENV=pymysql) 30 Jan 2017 09:23PM UTC 0
85.14
Travis Job 605.8
9 605.9 (ENV=pymysql) 30 Jan 2017 09:28PM UTC 0
85.11
Travis Job 605.9
10 605.10 (ENV=umysqldb) 30 Jan 2017 09:29PM UTC 0
85.9
Travis Job 605.10
11 605.11 (ENV=postgres) 30 Jan 2017 09:29PM UTC 0
86.78
Travis Job 605.11
12 605.12 (ENV=postgres) 30 Jan 2017 09:29PM UTC 0
Travis Job 605.12
13 605.13 (ENV=postgres) 30 Jan 2017 09:29PM UTC 0
86.8
Travis Job 605.13
14 605.14 (ENV=pypostgres) 30 Jan 2017 09:36PM UTC 0
88.47
Travis Job 605.14
15 605.15 (ENV=pypostgres) 30 Jan 2017 09:37PM UTC 0
88.45
Travis Job 605.15
Source Files on build 605
Detailed source file information is not available for this build.
  • Back to Repo
  • Travis Build #605
  • ac9c52f2 on github
  • Prev Build on mysql-myisasm (#603)
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