Actionscript 8 vs 9 speed question

Hello forum people… nice to meet you? this is my first post and was hoping someone could help me with my question.

i’ve recently been thinking about converting a project i’m working on from flash 8 to flash 9 due to the supposed increase in performance. i wanted to illustrate an example of that improvement to myself by creating an example of some code in both flash 8 and 9 and comparing the performance of the two. sooooo… i made 50 different streams of particles in each using pretty similar code… and flash 9 seems to be the same or slower.

could anyone tell me if i’m doing something inefficiently, or if what i’m actually doing is something that wouldn’t see a performance increase? i figured flash 9 would allow me to at least double the number of streams. any help is greatly appreciated.

here are my swfs (their default fps is 30… in my browser they both run at about half that)…

flash 8: http://www.totaljerkface.com/bloodtest8.swf

flash 9: http://www.totaljerkface.com/bloodtest9.swf

and here is the code i’m using…
code for the flash 8 version is all in the timeline…


for (var i = 0; i<50; i++) {
    var bf:MovieClip = _root.createEmptyMovieClip("blah", _root.getNextHighestDepth());
    bf._x = Math.random()*350+100;
    bf._y = Math.random()*300+50;
    bf.onEnterFrame = bleed;
    var bloodInt:Number = bf.setInterval(bleed, 1);
}
function bleed() {
    var randY:Number = Math.random()*-6-6;
    var randX:Number = Math.random()*3-1.5;
    var b:MovieClip = _root.attachMovie("Blood1", "blood", _root.getNextHighestDepth());
    b._x = this._x;
    b._y = this._y;
    b._rotation = Math.random()*360;
    b.gotoAndStop(Math.ceil(Math.random()*4));
    b.cacheAsBitmap = true;
    b.speedY = randY;
    b.speedX = randX;
    b.onEnterFrame = function() {
        this._y += this.speedY;
        this._x += this.speedX;
        this.speedY += 1;
        if (this._y>400) {
            this.removeMovieClip();
        }
    };
}[FONT=Courier New][/FONT]

[FONT=Courier New][LEFT]
[/LEFT]
[/FONT] code for flash 9 is in the timeline and in 2 class files:


//timeline
for(var i:int = 0; i < 50; i++){
    var bf:BloodFlow = new BloodFlow();
    root.addChild(bf);
    bf.x = Math.random()*350 + 100;
    bf.y = Math.random()*300 + 50;
}[FONT=Courier New][LEFT][COLOR=#000000][/COLOR]
//class files
package {
   import flash.display.*;
   import flash.events.Event;
   import flash.utils.Timer;
   import flash.events.TimerEvent;
   public class BloodFlow extends MovieClip {
      public function BloodFlow() {
         var myTimer:Timer = new Timer(0, 0);
         myTimer.addEventListener("timer", createBloodMC);
         myTimer.start();
      }
      private function createBloodMC(event:TimerEvent):void {
          var randY:Number = Math.random()*-6 - 6;
          var randX:Number = Math.random()*3 - 1.5;
          var b:Blood1 = new Blood1(randY, randX);
          root.addChild(b);
          b.x = this.x;
          b.y = this.y;
          b.rotation = Math.random()*360;
          b.gotoAndStop(Math.ceil(Math.random()*4));
      }
   }
}

package {
   import flash.display.*;
   import flash.events.Event;
   public class Blood1 extends MovieClip {
      public var speedY:Number;
      public var speedX:Number;
      public function Blood1(sY:Number, sX:Number) {
        this.cacheAsBitmap = true;
        this.speedY = sY;
        this.speedX = sX;
            this.addEventListener(Event.ENTER_FRAME, flow);
      }
      private function flow(event:Event):void {
          this.y += speedY;
          this.x += speedX;
          speedY += 1;
          if(this.y > 400){
              this.removeEventListener(Event.ENTER_FRAME, flow);
              root.removeChild(this);
          }
      }
   }
}

[/LEFT]
[/FONT]
[FONT=Courier New][LEFT]
[/LEFT]
[/FONT]