Efficient Programming Practices

Shane McCartney has created a high-level presentation (about 136 slides total) on efficient programming practices.  Experienced Flash developers may already know most or all of these, but you never know when a good tip might pop up in one of these slides, so check it out and see what you think.

View presentation here.  Actual performance tests are available here, although I have not had time to independently review them all in detail.


3 thoughts on “Efficient Programming Practices

  1. It contains really outdated/misleading informations on some topics. E.g.: slides 88-94 (local variable names and declarations) are totally nonsense. Compiled bytecode looks EXACTLY the same, and variable names are of course ommited in favour of local registers.

    1. This is Shane’s response, although I don’t want to get involved in back-and-forth since he has a blog post on this topic already – http://www.lostinactionscript.com/blog/index.php/2009/02/25/fitc-amsterdam-presentation/ . I should have linked here in the first place, but that’s what I get for blogging in a hurry 🙂 Please direct future comments to Shane’s blog. Thx.

      “This was a presentation so you can imagine there is some subtext missing – I only placed this online as a reference to the many 100’s of people who attended.

      These tests still do produce these results – though in my presentation I did mention that these 2 particular tests did produce marginal savings and in isolated tests it sometimes can result in one approach being better than another – weird huh. But over many tests on many machines these options do prove to be better.

      Also on the later slides this comment is missing the point that was made in the presentation that though the ABC does look similar line by line when using a typed Object vs a untyped Object. The resulting performance savings are wildly different, so my point being that developer who uses ABC to optimize are really wasting time because this is then compiled once again by the JIT to native machine code. Not that looking at ABC is isn’t interesting I suppose 🙂

      Also if you want a good introduction this guy who works at Adobe wrote a really nice article on this a while back http://blog.vivisectingmedia.com/2007/11/flash-internals-jit-and-garbage-collection-part-four/

      So this should help to explain that interpretation of ABC to machine code happens at runtime in most instances.”

Comments are closed.