1-3% performance regression with 5.1-micro
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
MariaDB |
Invalid
|
Medium
|
Sergei Golubchik |
Bug Description
As compared to mysql-5.1.54, 5.1-micro exhibits a repeatable performance degradation of 1 to 3%.
The following scenarios were tested:
* inserting rows into a table that contains 6 datetime/
* selecting individual rows based on key lookup of a datetime column
* selecting the entire table via a full table scan
Both versions were compiled with ./BUILD/
sh -c "cd /home/philips/
sh -c "cd /home/philips/
Test script:
use strict;
use DBI;
use Time::HiRes;
my $rows = 60000;
my $selects = 10000;
my $cycles = 5;
my @ports = (3306, 3308);
my @precisions = (0);
foreach my $port (@ports) {
print "Benchmarking port $port\n";
foreach my $precision (@precisions) {
my $precision_string = "($precision)" if $precision > 0;
}
}
}
Sample output:
Benchmarking port 3306
Benchmarking precision 0
INSERT time for port 3306, precision 0, cycle 1: 19.8615231513977
SELECT1 time for port 3306, precision 0, cycle 1: 5.81605505943298
SELECT2 time for port 3306, precision 0, cycle 1: 56.4764399528503
INSERT time for port 3306, precision 0, cycle 2: 20.8059520721436
SELECT1 time for port 3306, precision 0, cycle 2: 5.92798614501953
SELECT2 time for port 3306, precision 0, cycle 2: 56.6977560520172
INSERT time for port 3306, precision 0, cycle 3: 20.1634759902954
SELECT1 time for port 3306, precision 0, cycle 3: 5.81903505325317
SELECT2 time for port 3306, precision 0, cycle 3: 56.8458869457245
INSERT time for port 3306, precision 0, cycle 4: 20.905021905899
SELECT1 time for port 3306, precision 0, cycle 4: 5.80147504806519
SELECT2 time for port 3306, precision 0, cycle 4: 56.9855148792267
INSERT time for port 3306, precision 0, cycle 5: 21.4851200580597
SELECT1 time for port 3306, precision 0, cycle 5: 5.851646900177
SELECT2 time for port 3306, precision 0, cycle 5: 57.0004291534424
Benchmarking port 3308
Benchmarking precision 0
INSERT time for port 3308, precision 0, cycle 1: 20.400643825531
SELECT1 time for port 3308, precision 0, cycle 1: 5.79694509506226
SELECT2 time for port 3308, precision 0, cycle 1: 55.2143778800964
INSERT time for port 3308, precision 0, cycle 2: 20.6638879776001
SELECT1 time for port 3308, precision 0, cycle 2: 5.77916097640991
SELECT2 time for port 3308, precision 0, cycle 2: 55.1443750858307
INSERT time for port 3308, precision 0, cycle 3: 20.4039659500122
SELECT1 time for port 3308, precision 0, cycle 3: 5.69990205764771
SELECT2 time for port 3308, precision 0, cycle 3: 54.2140741348267
INSERT time for port 3308, precision 0, cycle 4: 19.715136051178
SELECT1 time for port 3308, precision 0, cycle 4: 5.67466902732849
SELECT2 time for port 3308, precision 0, cycle 4: 54.381961107254
INSERT time for port 3308, precision 0, cycle 5: 20.8377220630646
SELECT1 time for port 3308, precision 0, cycle 5: 5.80834484100342
SELECT2 time for port 3308, precision 0, cycle 5: 54.8164939880371
average for the SELECT2 test for 5.1-micro : 56,80 seconds , average for mysql 5.1.54: 54,75 seconds
Related branches
Changed in maria: | |
milestone: | none → 5.3 |
assignee: | nobody → Sergei (sergii) |
I cannot reliably repeat it.
INSERT is few per cent faster in the 5.1-micro, SELECT1 too, SELECT2 a bit slower.
But all differences are below the standard deviation.