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

zodb / relstorage / 604
96%
master: 92%

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

Pull #162

travis-ci

web-flow
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)
Pull Request #162: Use InnoDB temp tables

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

5214 of 5445 relevant lines covered (95.76%)

8.73 hits per line

Jobs
ID Job ID Ran Files Coverage
1 604.1 (ENV=cmysqlconnector RS_MY_DRIVER="C MySQL Connector/Python") 30 Jan 2017 09:00PM UTC 0
85.64
Travis Job 604.1
2 604.2 (ENV=mysqlconnector) 30 Jan 2017 08:59PM UTC 0
85.53
Travis Job 604.2
3 604.3 (ENV=mysqlconnector) 30 Jan 2017 08:59PM UTC 0
Travis Job 604.3
4 604.4 (ENV=mysql) 30 Jan 2017 08:59PM UTC 0
85.34
Travis Job 604.4
5 604.5 (ENV=mysql) 30 Jan 2017 09:02PM UTC 0
85.31
Travis Job 604.5
6 604.6 (ENV=mysql) 30 Jan 2017 09:04PM UTC 0
85.33
Travis Job 604.6
7 604.7 (ENV=mysql) 30 Jan 2017 09:03PM UTC 0
Travis Job 604.7
8 604.8 (ENV=pymysql) 30 Jan 2017 09:04PM UTC 0
85.14
Travis Job 604.8
9 604.9 (ENV=pymysql) 30 Jan 2017 09:05PM UTC 0
85.11
Travis Job 604.9
10 604.10 (ENV=umysqldb) 30 Jan 2017 09:07PM UTC 0
85.9
Travis Job 604.10
11 604.11 (ENV=postgres) 30 Apr 2019 06:20PM UTC 0
Travis Job 604.11
12 604.12 (ENV=postgres) 30 Apr 2019 06:23PM UTC 0
Travis Job 604.12
13 604.13 (ENV=postgres) 30 Apr 2019 06:25PM UTC 0
Travis Job 604.13
14 604.14 (ENV=pypostgres) 30 Jan 2017 09:18PM UTC 0
88.47
Travis Job 604.14
15 604.15 (ENV=pypostgres) 30 Jan 2017 09:16PM UTC 0
88.47
Travis Job 604.15
Source Files on build 604
Detailed source file information is not available for this build.
  • Back to Repo
  • Travis Build #604
  • Pull Request #162
  • PR Base - master (#601)
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