Coveralls logob
Coveralls logo
  • Home
  • Features
  • Pricing
  • Docs
  • Sign In

zodb / relstorage / 603 / 4
Job Ran: 30 Jan 2017 08:53PM UTC (6.2s) with ENV=mysql
96%
master: 92%

DEFAULT BRANCH: master
Build:
LAST BUILD BRANCH: 3.0.1
Repo Added 10 Jun 2016 11:39AM UTC
# Builds 1178 Last
Badge
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

30 Jan 2017 - 20:49 coverage decreased (-9.2%) to 86.538%
603

push

travis-ci

Ff61a0c255902fd476368945b1f70be3?size=18&default=identiconjamadden
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 Steamin' Objects",   921761

** concurrency=6 **
"Transaction",               mysql_hf
"Add 100 Objects",              10574
"Update 100 Objects",           15492
"Read 100 Warm Objects",        19290
"Read 100 Cold Objects",        17051
"Read 100 Hot Objects",         72304
"Read 100 Steamin' Objects",  1590488

After

** concurrency=2 **
"Transaction",               mysql_hf
"Add 100 Objects",               7079
"Update 100 Objects",            9782
"Read 100 Warm Objects",         8726
"Read 100 Cold Objects",         9834
"Read 100 Hot Objects",         40004
"Read 100 Steamin' Objects",   937232

c=6
** concurrency=6 **
"Transaction",               mysql_hf
"Add 100 Objects",              10612
"Update 100 Objects",           15789
"Read 100 Warm Objects",        17501
"Read 100 Cold Objects",        16556
"Read 100 Hot Objects",         71868
"Read 100 Steamin' Objects",  1549534

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

** concurrency=2 **
"Transaction",               mysql_hf
"Add 100 Objects",              15547
"Update 100 Objects",           14337
"Read 100 Warm Objects",        12357
"Read 100 Cold Objects",        13686
"Read 100 Hot Objects",         54559
"Read 100 Steamin' Objects",   945789

"Transaction",               mysql_hf
"Add 100 Objects",              16968
"Update 100 Objects",           16184
"Read 100 Warm Objects",        13430
"Read 100 Cold Objects",        13557
"Read 100 Hot Objects",         54625
"Read 100 Steamin' Objects",   966802

4712 of 5445 relevant lines covered (86.54%)

3.42 hits per line

Source Files on job 603.4 (ENV=mysql)
  • List 73
  • Changed 7
  • Source Changed 1
  • Coverage Changed 7
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 603
  • Travis Job 603.4
  • f49ba9c8 on github
  • Prev Job for ENV=mysql on mysql-myisasm (#602.6)
  • Next Job for ENV=mysql on mysql-myisasm (#605.6)
Troubleshooting · Open an Issue · Sales · Support · ENTERPRISE · CAREERS · STATUS
BLOG · TWITTER · Legal & Privacy · Supported CI Services · What's a CI service? · Automated Testing

© 2019 Coveralls, LLC