This fourth article in the series will be much like its predecessors: re-testing previous performance articles with Flash Player 10.1 and comparing the results to those that I got with Flash Player 10.0. While it mostly stands on its own, you should read up on the first, second, and third articles too. If you already have, read on for more performance comparisons!
Archive for category AS3
Today’s article is the third in a series re-testing previous performance articles with Flash Player 10.1 and comparing the results to those that I got with Flash Player 10.0. If you haven’t already read the first or second part of the series, you should check them out first. If you have, read on for more performance comparisons!
Today’s article is the second in a series re-testing previous performance articles with Flash Player 10.1 and comparing the results to those that I got with Flash Player 10.0. If you haven’t already read the first part of the series, that’s probably a good place to start. If you have, read on for more performance comparisons!
I’ve posted a lot of articles about AS3 performance on this site. As a result of coding for Adobe’s Flash Player VM, all of these numbers may have changed with the release of Flash Player 10.1 and its attendant optimizations.
Version 5.0 of Safari was released on just a couple weeks ago on June 8 and Google Chrome was updated just a week before that. More importantly, to this site anyways, is the release of Flash Player 10.1 on June 10. Today’s article shows an updated performance comparison to check up on the progress being made in both JavaScript (Safari, Chrome) and AS3 (Flash Player).
Both Array and Vector have some methods that allow AS3 programmers to do some functional programming: every, filter, forEach, map, and some. These can lead to flexible and concise code, but at what performance cost? Today I’ll test them to get a handle on just how much speed you’re giving away by using these methods.
The differences between Vector and Array have been quite interesting since Vector was introduced in Flash Player 10. Until just recently I didn’t know that there was special syntax for declaring a Vector akin to Array's special a = [1,2,3,4,5] trick. This got me thinking about the various ways one can declare a Vector and, of course, how they’re implemented in bytecode and what the speed differences, if any, are. Read on for some nitty gritty about how you declare Vectors in AS3.
I recently perused the AVM2 bytecode overview that Adobe provides and found something strange: they have special instructions for the first few local variables. Getting the first local variables is done by getlocal0, getlocal1, getlocal2, getlocal3, but then a generalized getlocal is used for local variables thereafter. This brought me to think about the performance implications of these specialized instructions. After all, why have them when you already have a generalized one? Read on to see the performance differences and if you can get any speed boost from rearranging your local variables.
While I was working on last week’s article it became apparent that something strange was going on with the arguments keyword in AS3. Last week I showed that even after you’ve changed the parameters of a function, you can still get the original values by indexing into arguments. This implies a copy and a copy implies a slowdown. Read on to see if there really is a slowdown and, if there is, what kind of performance impact there is.
I am often burned by MXMLC: the AS3 compiler. When I am, I find this infuriating and look for the reason why this happened. Today I’ll tip you off about this problem and delve into what it means if you happen to trigger it.