AD MANAGEMENT

Collapse

BEHOSTED

Collapse

GOOGLE

Collapse

[HOW TO] Speeding up PHP

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • [HOW TO] Speeding up PHP

    [HOW TO] Speeding up PHP

    I've seen far too many articles with "gimmicks" for speeding up your run-time for PHP applications, and thought I'd chime in on what not to do, and what you should do.

    echo "Don't"; print('bother');

    The two most common gimmicks for decreasing run-time are the single vs double quote issue and the echo vs print issue. The idea here: don't even bother.

    $string = 'Here is my value';
    $string = "Here is my value";

    Neither of these strings contain anything for PHP to parse/escape. Processing time is going to be virtually identical... we are talking maybe a fraction of a millisecond. No benchmarking application can properly "benchmark" the differences between the two and as such, the time savings will be negligent for any single page.

    The second is echo vs print... use whatever happens to be comfortable. How many times do you use echo or print on a single page? For the sake of argument I ran a script that used print and echo 1000 times in one page... the result? Inconclusive... they both averaged to approximately 0.0008 seconds each. When's the last time you used echo OR print 1000 times in one page?

    On to the real stuff.

    do { Smart control structures } while { programming }

    What takes the most processing time out of a script? Loooooooooooping. Control structures vary signifigantly on speed. As of PHP5 my test results produced the following control structures in order of fastest for looping:

    for ()
    foreach ()
    while()
    do {} while()

    for() is the fastest for obvious reasons, the loop is doing a numerical operation, which, computers were designed for in the first place, no arrays, true/false, return values, just pure math.

    foreach() is secondary for a less obvious reason. While it is slower then for(), since an actual iteration occurs, it's faster than while() because no return value is required.

    do-while() is obviously going to be the slowest. It inherits the requirements of while() which is just above it in speed, and requires PHP interperet a second construct "do".

    You're probably starting to wonder what the heck I'm talking about, since each of these control structures are used for different purposes. The idea here, is designing your code in a way that is most optimal for speed. If you are using a lot of loops in your program, try to stick with indexed arrays so you can use the considerably faster for().

    A final note on control structures: switch is faster then if/else nests, without question. It's easy to understand why:


    PHP Code:
        if ($variable == true)
        {
            
    // do something
        
    } elseif ($variable == false)
            
    // do something else
        


    In this example, PHP has to read each statement seperately... so PHP will read:

    $variable == true then $variable == false

    Whereas a switch statement:


    PHP Code:
        switch ($variable)
        {
            case 
    'true':
                
    // do something
                
    break;
            case 
    'false':
                
    // do something else
                
    break;
        } 

    Now PHP will read:

    $variable == true OR false
    Since PHP is only working with one variable, it doesn't have to parse the statement twice.

    Remember, using gimmicks are artifical means to produce almost negligent speed increases. Using proper coding techniques (and keeping the amount of code to a minimum) will produce the best results.

    More to come when I'm not so tired

    http://img76.imageshack.us/img76/6450/sc2but4ng.gif | http://img495.imageshack.us/img495/7...gorwtan0je.gif | <a href="http://webtools.sc2.info"><img src="http://img129.imageshack.us/img129/8682/sc2webtan7ju.gif" border="1" width="100" alt="Free Webtools for all" /></a> | <a href="http://www.indexrated.com"><img src="http://img398.imageshack.us/img398/4813/listed1pb.gif" border="1" width="100" alt="Index Rated Directory - Rating Quality Sites" /></a>

    Get all Games,Apps and Wallpapers Nokia, Samsung and Sony Erricson!!

Unconfigured Ad Widget

Collapse

Announcement

Collapse
1 of 2 < >

FreeHostForum Rules and Guidelines

Webmaster forum - Web Hosting Forum,Domain Name Forum, Web Design Forum, Travel Forum,World Forum, VPS Forum, Reseller Hosting Forum, Free Hosting Forum

Signature

Board-wide Policies:

Do not post links (ads) in posts or threads in non advertising forums.

Forum Rules
Posts are to be made in the relevant forum. Users are asked to read the forum descriptions before posting.

Members should post in a way that is respectful of other users. Flaming or abusing users in any way will not be tolerated and will lead to a warning or will be banned.

Members are asked to respect the copyright of other users, sites, media, etc.

Spam is not tolerated here in most circumstances. Users posting spam will be banned. The words and links will be censored.

The moderating, support and other teams reserve the right to edit or remove any post at any time. The determination of what is construed as indecent, vulgar, spam, etc. as noted in these points is up to Team Members and not users.

Any text links or images contain popups will be removed or changed.

Signatures
Signatures may contain up to four lines

Text in signatures is subject to the same conditions as posts with respect decency, warez, emoticons, etc.

Font sizes above 3 are not allowed

Links are permitted in signatures. Such links may be made to non-Freehostforum material, commercial ventures, etc. Links are included within the text and image limits above. Links to offensive sites may be subject to removal.

You are allowed ONLY ONE picture(banner) upto 120 pixels in width and 60 pixels in height with a maximum 30kB filesize.

In combination with a banner/picture you can have ONLY ONE LINE text link.


Advertising
Webmaster related advertising is allowed in Webmaster Marketplace section only. Free of charge.

Shopping related (tangible goods) advertising is allowed in Buy Sell Trade section only. Free of charge.

No advertising allowed except paid stickies in other sections.

Please make sure that your post is relevant.


More to come soon....
2 of 2 < >

Advertise at FreeHostForum

We offer competitive rates and a many kinds of advertising opportunities for both small and large scale campaigns.More and more webmasters find advertising at FreeHostForum.com is a useful way to promote their sites and services. That is why we now have many long-term advertisers.

At here, we also want to thank you all for your support.

For more details:
http://www.freehostforum.com/threads...eHostForum-com

More ad spots:
http://www.freehostforum.com/forums/...-FreeHostForum
See more
See less
Working...
X