rtrim vs. preg_replace vs. ereg_replace

#1
[eluser]BorisK[/eluser]
I was checking the file_helper.php code today when line 124 struck me as unnecessarily complex way to trim the slash.

Code:
$path = preg_replace("|^(.+?)/*$|", "\\1", $path);

The same code can be rewriten as:
Code:
$path = rtrim($path,'/');

In this case rtrim command is four times faster than preg_replace and more readable as well.

Of course, ereg_replace performs the worst. Here are benchmarking results for 10m iterations:

rtrim: 0.649 s
preg_replace: 2.868 s
ereg_replace: 5.750 s

#2
[eluser]BorisK[/eluser]
Also, in the path_helper.php on line 55, replacing the line that adds a slash to a path

Code:
$path = preg_replace("#([^/])/*$#", "\\1/", $path);

with

Code:
$path = rtrim($path,'/').'/';

speeds things up by about 6-7 times.


Digg   Delicious   Reddit   Facebook   Twitter   StumbleUpon  


  Theme © 2014 iAndrew  
Powered By MyBB, © 2002-2020 MyBB Group.