Bug #57153 | Performance of call to POWER(LOG(EXP(0.25)),0.5) slower than expected on 5.1.51 | ||
---|---|---|---|
Submitted: | 30 Sep 2010 20:32 | Modified: | 11 Feb 2018 13:02 |
Reporter: | Max Crowe | Email Updates: | |
Status: | Can't repeat | Impact on me: | |
Category: | MySQL Server: DML | Severity: | S5 (Performance) |
Version: | 5.1.51 | OS: | Other (Centos 5.5) |
Assigned to: | CPU Architecture: | Any | |
Tags: | exp, log, power |
[30 Sep 2010 20:32]
Max Crowe
[1 Oct 2010 13:01]
Valeriy Kravchuk
I do not see the real difference of mysql-5.1 (current bzr tree) vs mysql-5.0 (current bzr tree): macbook-pro:5.1 openxs$ bin/mysql -uroot testReading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 Server version: 5.1.52-debug Source distribution Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved. This software comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to modify and redistribute it under the GPL v2 license Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> CREATE TABLE `tmp_speedtest` ( -> `val` float DEFAULT NULL -> ) ENGINE=MyISAM; Query OK, 0 rows affected (0.05 sec) mysql> insert into tmp_speedtest values (0.0); Query OK, 1 row affected (0.00 sec) mysql> insert into tmp_speedtest select * from tmp_speedtest; Query OK, 1 row affected (0.00 sec) Records: 1 Duplicates: 0 Warnings: 0 mysql> insert into tmp_speedtest select * from tmp_speedtest; Query OK, 2 rows affected (0.00 sec) Records: 2 Duplicates: 0 Warnings: 0 mysql> insert into tmp_speedtest select * from tmp_speedtest; Query OK, 4 rows affected (0.00 sec) Records: 4 Duplicates: 0 Warnings: 0 mysql> insert into tmp_speedtest select * from tmp_speedtest; Query OK, 8 rows affected (0.00 sec) Records: 8 Duplicates: 0 Warnings: 0 mysql> insert into tmp_speedtest select * from tmp_speedtest; Query OK, 16 rows affected (0.00 sec) Records: 16 Duplicates: 0 Warnings: 0 mysql> insert into tmp_speedtest select * from tmp_speedtest; Query OK, 32 rows affected (0.01 sec) Records: 32 Duplicates: 0 Warnings: 0 mysql> insert into tmp_speedtest select * from tmp_speedtest; Query OK, 64 rows affected (0.00 sec) Records: 64 Duplicates: 0 Warnings: 0 mysql> insert into tmp_speedtest select * from tmp_speedtest; Query OK, 128 rows affected (0.00 sec) Records: 128 Duplicates: 0 Warnings: 0 mysql> insert into tmp_speedtest select * from tmp_speedtest; Query OK, 256 rows affected (0.00 sec) Records: 256 Duplicates: 0 Warnings: 0 mysql> insert into tmp_speedtest select * from tmp_speedtest; Query OK, 512 rows affected (0.00 sec) Records: 512 Duplicates: 0 Warnings: 0 mysql> insert into tmp_speedtest select * from tmp_speedtest; Query OK, 1024 rows affected (0.01 sec) Records: 1024 Duplicates: 0 Warnings: 0 mysql> insert into tmp_speedtest select * from tmp_speedtest; Query OK, 2048 rows affected (0.01 sec) Records: 2048 Duplicates: 0 Warnings: 0 mysql> insert into tmp_speedtest select * from tmp_speedtest; Query OK, 4096 rows affected (0.02 sec) Records: 4096 Duplicates: 0 Warnings: 0 mysql> insert into tmp_speedtest select * from tmp_speedtest; Query OK, 8192 rows affected (0.02 sec) Records: 8192 Duplicates: 0 Warnings: 0 mysql> insert into tmp_speedtest select * from tmp_speedtest; Query OK, 16384 rows affected (0.05 sec) Records: 16384 Duplicates: 0 Warnings: 0 mysql> insert into tmp_speedtest select * from tmp_speedtest; Query OK, 32768 rows affected (0.11 sec) Records: 32768 Duplicates: 0 Warnings: 0 mysql> update tmp_speedtest set val=power(log(exp(0.25)),0.5); Query OK, 65536 rows affected (0.59 sec) Rows matched: 65536 Changed: 65536 Warnings: 0 mysql> update tmp_speedtest set val=sqrt(log(exp(0.25))); Query OK, 0 rows affected (0.07 sec) Rows matched: 65536 Changed: 0 Warnings: 0 mysql> update tmp_speedtest set val=power(log(exp(0.26)),0.5); Query OK, 65536 rows affected (0.59 sec) Rows matched: 65536 Changed: 65536 Warnings: 0 mysql> update tmp_speedtest set val=power(log(exp(0.25)),0.3); Query OK, 65536 rows affected (0.61 sec) Rows matched: 65536 Changed: 65536 Warnings: 0 mysql> exit Now compare to this, on the same hardware: macbook-pro:5.0 openxs$ bin/mysql -uroot test Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 Server version: 5.0.92-debug Source distribution Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> CREATE TABLE `tmp_speedtest` ( `val` float DEFAULT NULL ) ENGINE=MyISAM; Query OK, 0 rows affected (0.00 sec) mysql> insert into tmp_speedtest values (0.0);Query OK, 1 row affected (0.00 sec) mysql> insert into tmp_speedtest select * from tmp_speedtest;Query OK, 1 row affected (0.01 sec) Records: 1 Duplicates: 0 Warnings: 0 mysql> insert into tmp_speedtest select * from tmp_speedtest; Query OK, 2 rows affected (0.00 sec) Records: 2 Duplicates: 0 Warnings: 0 mysql> insert into tmp_speedtest select * from tmp_speedtest; Query OK, 4 rows affected (0.00 sec) Records: 4 Duplicates: 0 Warnings: 0 mysql> insert into tmp_speedtest select * from tmp_speedtest; Query OK, 8 rows affected (0.00 sec) Records: 8 Duplicates: 0 Warnings: 0 mysql> insert into tmp_speedtest select * from tmp_speedtest; Query OK, 16 rows affected (0.00 sec) Records: 16 Duplicates: 0 Warnings: 0 mysql> insert into tmp_speedtest select * from tmp_speedtest; Query OK, 32 rows affected (0.00 sec) Records: 32 Duplicates: 0 Warnings: 0 mysql> insert into tmp_speedtest select * from tmp_speedtest; Query OK, 64 rows affected (0.00 sec) Records: 64 Duplicates: 0 Warnings: 0 mysql> insert into tmp_speedtest select * from tmp_speedtest; Query OK, 128 rows affected (0.00 sec) Records: 128 Duplicates: 0 Warnings: 0 mysql> insert into tmp_speedtest select * from tmp_speedtest; Query OK, 256 rows affected (0.00 sec) Records: 256 Duplicates: 0 Warnings: 0 mysql> insert into tmp_speedtest select * from tmp_speedtest; Query OK, 512 rows affected (0.00 sec) Records: 512 Duplicates: 0 Warnings: 0 mysql> insert into tmp_speedtest select * from tmp_speedtest; Query OK, 1024 rows affected (0.01 sec) Records: 1024 Duplicates: 0 Warnings: 0 mysql> insert into tmp_speedtest select * from tmp_speedtest; Query OK, 2048 rows affected (0.01 sec) Records: 2048 Duplicates: 0 Warnings: 0 mysql> insert into tmp_speedtest select * from tmp_speedtest; Query OK, 4096 rows affected (0.01 sec) Records: 4096 Duplicates: 0 Warnings: 0 mysql> insert into tmp_speedtest select * from tmp_speedtest; Query OK, 8192 rows affected (0.02 sec) Records: 8192 Duplicates: 0 Warnings: 0 mysql> insert into tmp_speedtest select * from tmp_speedtest; Query OK, 16384 rows affected (0.05 sec) Records: 16384 Duplicates: 0 Warnings: 0 mysql> insert into tmp_speedtest select * from tmp_speedtest; Query OK, 32768 rows affected (0.09 sec) Records: 32768 Duplicates: 0 Warnings: 0 mysql> update tmp_speedtest set val=power(log(exp(0.25)),0.5); Query OK, 65536 rows affected (0.55 sec) Rows matched: 65536 Changed: 65536 Warnings: 0 mysql> update tmp_speedtest set val=sqrt(log(exp(0.25))); Query OK, 0 rows affected (0.06 sec) Rows matched: 65536 Changed: 0 Warnings: 0 mysql> update tmp_speedtest set val=power(log(exp(0.26)),0.5); Query OK, 65536 rows affected (0.51 sec) Rows matched: 65536 Changed: 65536 Warnings: 0 mysql> update tmp_speedtest set val=power(log(exp(0.25)),0.3); Query OK, 65536 rows affected (0.54 sec) Rows matched: 65536 Changed: 65536 Warnings: 0 sqrt() runs faster than power(...,0.5) - that's all I can see in my tests.
[5 Oct 2010 17:50]
MySQL Verification Team
Like Valeriy I couldn't repeat on Windows 64-bit. Are you able to test on another machine?. Thanks in advance.
[6 Nov 2010 0:14]
Bugs System
No feedback was provided for this bug for over a month, so it is being suspended automatically. If you are able to provide the information that was originally requested, please do so and change the status of the bug back to "Open".
[11 Feb 2018 13:02]
Roy Lyseng
Posted by developer: Closing as bug has been suspended for 7 years.