Bug #70490 [Opn->Csd]: get_browser function is very slow

From: Date: Mon, 20 Jun 2016 16:25:09 +0000
Subject: Bug #70490 [Opn->Csd]: get_browser function is very slow
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-201759@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=70490&edit=1 ID: 70490 Updated by: cmb@php.net Reported by: webtech at mines-telecom dot fr Summary: get_browser function is very slow -Status: Open +Status: Closed Type: Bug Package: Performance problem Operating System: OS X 10.11.2 PHP Version: 7.0.1 -Assigned To: +Assigned To: cmb Block user comment: N Private report: N New Comment: > It seems to be OK now. Fine, closing. Previous Comments: ------------------------------------------------------------------------ [2016-01-07 15:41:37] webtech at mines-telecom dot fr New test : PHP 7.0.1 : get_browser takes 1.5893349647522 sec PHP 5.6.16 : get_browser takes 1.4182159900665 sec It seems to be OK now. Thanks ------------------------------------------------------------------------ [2015-11-13 13:43:13] webtech at mines-telecom dot fr Sorry, I've made a mistake : - the result on the last comment "get_browser takes 1.1309630870819 sec" was with PHP 5.6.15 With PHP7.0RC7 : get_browser takes 4.4257979393005 sec The PHP browscap file is php_browscap.ini (size: 21664 kb) ------------------------------------------------------------------------ [2015-11-13 13:34:08] webtech at mines-telecom dot fr It's better with RC7 : get_browser takes 1.1309630870819 sec but it's not 40 ms ;) ------------------------------------------------------------------------ [2015-11-13 13:05:17] dev018 at am-horizon dot com Hi, I have tested your code but every time it's not take more that 40ms. Could you please test it again ------------------------------------------------------------------------ [2015-11-04 15:16:57] David dot Gausmann at measX dot com Hello there, I detected the get_browser command as the lack of performance on my website today. Then I've found this bug here. Could you please implement a hashmap or something similar for that command? I cannot believe that searching through an ini file needs so much time. You could for example split the search up and delegate it to multiple threads. Here is my example: <?php $dTime1 = microtime(true); $oBrowser = get_browser('Mozilla/5.0 (Windows NT 6.1; WOW64; rv:41.0) Gecko/20100101 Firefox/41.0'); $dTime2 = microtime(true); $oBrowser2 = get_browser('DoesntExist'); $dTime3 = microtime(true); echo sprintf('%.4f', $dTime2 - $dTime1), "<br>"; echo sprintf('%.4f', $dTime3 - $dTime2), "<br>"; ?> Searching for a non-existent entry still requires so much time like the regular search (> 1 second). Kind Regards David Gausmann ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at https://bugs.php.net/bug.php?id=70490 -- Edit this bug report at https://bugs.php.net/bug.php?id=70490&edit=1

« previous php.bugs (#201759) next »