A Flash Developer Resource Site

Results 1 to 8 of 8

Thread: determine time a forloop finishes in miliseconds for performance?

  1. #1
    Client Software Programmer AS3.0's Avatar
    Join Date
    Apr 2011
    Posts
    1,404

    determine time a forloop finishes in miliseconds for performance?

    Hi, is there a way to check for loop performance with a timer, I try it out and no matter the length it processes it outputs 0.01

  2. #2
    . fruitbeard's Avatar
    Join Date
    Oct 2011
    Posts
    1,780
    HI,

    Not totally sure what you mean, what code do you have so far.

  3. #3
    Client Software Programmer AS3.0's Avatar
    Join Date
    Apr 2011
    Posts
    1,404
    Hi, I mean like, return the time it takes for the forloop to complete for example in c++ itd be something like this

    PHP Code:
    #include <iostream>
    #include <string>
    #include <ctime>

    using namespace std;

    int main(){
    string name "alloybacon";
    clock_t start clock();

    for(
    int i=0;i<(int)name.length();i++){
    if(
    name[i] == "o"){
    name[i] = ".";
    cout << name[i];
    i++;
    }
    cout << name[i];
    }
    cout << "\nTime: " << (std::clock() - start) / (double)(CLOCKS_PER_SEC 1000) << " ms" << std:end1;
    return 
    0;

    in flash I have this and I always get 0.01:
    PHP Code:
    var my_input:String "alloybacon";
    var 
    my_output:String "";
    var 
    clock:Number 0.0;


        for(
    i=0;my_input.lengthi++){
        if(
    my_input.charAt(i) == "o"){
            
    my_output += "."
        
    }else{
        
    my_output += my_input.charAt(i);
    }
    }


    shown_time 0.01;
    count = function(message){
    shown_time--;
    if (
    shown_time <= 0.00){
    clock += 0.01;
    if(
    my_output.length == my_input.length){
        
    clearInterval(clock_time);
    trace(my_output " Time: " +  clock " ms");
    }
    }
    }
    clock_time setInterval(count0.01); 

  4. #4
    . fruitbeard's Avatar
    Join Date
    Oct 2011
    Posts
    1,780
    Hi,

    You might be better off using the date like so, the original alloybacon string is so small and so quick that it doesnt make a dent.

    PHP Code:
    var my_input:String "alloybacondsfdsfdsfdsfossssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfssossssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfssoosssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssssosssssssssssssewferfrre";
    var 
    my_output:String "";

    function 
    doTimeLoop():Void
    {
        var 
    aaa:Date = new Date();
        var 
    bbb:Number aaa.getTime();
        
    trace("Time1: " bbb);
        
        for (var 
    i:Number 0my_input.lengthi++)
        {
            if (
    my_input.charAt(i) == "o")
            {
                
    my_output += ".";
            }
            else
            {
                
    my_output += my_input.charAt(i);
            }
        }
        
        var 
    ccc:Date = new Date();
        var 
    ddd:Number ccc.getTime();
        
    trace("Time 2: " ddd);
        
        
    trace(my_output " : \n" + ((ddd bbb) / 1000) + "ms");
    }

    doTimeLoop(); 

  5. #5
    . fruitbeard's Avatar
    Join Date
    Oct 2011
    Posts
    1,780
    HI,

    Or you could use the getTimer(), although neither method will be totally accurate as it doesnt take into account the time taken to call the code and output it, but fairly accurate.

    PHP Code:
    var my_input:String "alloybacondsfdsfdsfdsfossssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfssossssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfssoosssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssacondsfdsfdsfdsfsssssssosdfssssssosssssssssssssewferfrre";
    var 
    my_output:String "";

    function 
    doTimeLoop():Void
    {
        var 
    time1:Number Math.floor(getTimer());
        
    trace("Time1: " time1);
        
        for (var 
    i:Number 0my_input.lengthi++)
        {
            if (
    my_input.charAt(i) == "o")
            {
                
    my_output += ".";
            }
            else
            {
                
    my_output += my_input.charAt(i);
            }
        }
        
        var 
    time2:Number Math.floor(getTimer());
        
    trace("Time2: " time2);
        
        
    trace(my_output " : \n" + ((time2 time1) / 1000) + "s");
    }

    doTimeLoop(); 
    Last edited by fruitbeard; 06-02-2015 at 05:38 PM.

  6. #6
    Client Software Programmer AS3.0's Avatar
    Join Date
    Apr 2011
    Posts
    1,404
    Hey thanks m8!

  7. #7
    . fruitbeard's Avatar
    Join Date
    Oct 2011
    Posts
    1,780
    Hi,

    File:

  8. #8
    Client Software Programmer AS3.0's Avatar
    Join Date
    Apr 2011
    Posts
    1,404
    Thanks, you are a flash pro

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  




Click Here to Expand Forum to Full Width

HTML5 Development Center