Posts Tagged performance

ScrollRect and CacheAsBitmap

Anybody who has ever had a performance problem with a graphically-rich Flash app has seen the “Show Redraw Regions” option in the debug player. Well, at least I hope they have since it’s right there in the context menu and there’s even a function call to toggle them. Normally it’s pretty straightforward what gets redrawn and when, but when you start to mix in advanced features like scrollRect and cacheAsBitmap, things get complicated. Today I’m going to cover a technique for eliminating some mysterious redraw regions.

Read the rest of this entry »

Tags: , , , , , ,

2 Comments

Increment and Decrement

This is a quick article to discuss a point brought up in a recent comment. Which is the fastest way to increment: j++, ++j, or j+=1? Likewise, which is the fastest way to decrement? Below I will dispel the myth that there is any difference between them at all.

Read the rest of this entry »

Tags: , , , , , , ,

4 Comments

AS3 vs. JavaScript Performance Followup (March 2010)

Version 10.5 of Opera was released today. Opera 10.0 last performance test made some small strides over 9.64, but it was still the slowest current version of the browser out of the whole test. Also, Google Chrome was updated on January 25th and Mozilla released Firefox 3.6 on January 21st. Today’s article shows an updated performance comparison to check up on the progress being made by Opera, Google, and Mozilla.

Read the rest of this entry »

Tags:

4 Comments

Callback Strategies

I’ve previously covered ways of implementing in my article on Runnables (aka observers) which showed how to call back about 15 times faster than just using a Function object. There are still more ways to call back though and I didn’t cover them at the time. Today I’ll be adding to Function and Runnables by testing Event and the as3signals library by Robert Penner.

Read the rest of this entry »

Tags: , , , , ,

14 Comments

Linked Lists: Part 3

Continuing in the series on linked lists that started with parts one and two, today I’ll make the first serious optimization pass on the LinkedList implementation. Read on for how successful this is.

Read the rest of this entry »

Tags: , ,

1 Comment

Linked Lists: Part 2

Last time I began covering linked lists in AS3. As anyone who has ever taken a data structures class can tell you, this is definitely a core data structure. As such, it has numerous benefits compared to other single-dimensional data structures like arrays and hash tables. The Array class in AS3 is far from a C/C++ array, which is simply a contiguous block of memory. AS3’s Array class blurs the lines between arrays, linked lists, and hash tables. So as I implement a linked list class in AS3 it is quite interesting to see how the normal pros and cons change. I’ve expanded on the LinkedList class I started last week and done some more preliminary performance testing. Read on to see the updates.

Read the rest of this entry »

Tags: , ,

2 Comments

Linked Lists: Part I

I’ve written before about linked lists when I covered free lists. There were massive speedups to be had there, but that article mostly covered the performance costs of allocation and deallocation. Today is part one of a series that more generally covers linked lists.

Read the rest of this entry »

Tags: , ,

4 Comments

AS3 vs. JavaScript Performance Test Followup

Today’s article is a followup to an article I wrote in August comparing the performance of AS3 (Flash Player) and JavaScript (various browsers). Since then, two browsers have been updated to new versions and both have claimed speedups in their JavaScript implementations. Today’s article tests those new browser versions to see their speedups in the context of our benchmark: AS3.

Read the rest of this entry »

Tags:

3 Comments

Array Performance

Today’s article is inspired by Jean-Philippe Auclair’s excellent article on arrays and the comment he recently posted on my article about map performance. In it he discusses how the Array class is implemented using a densely-packed C/C++ array (a contiguous block of memory) and, after the first undefined element, a hash table. This got me thinking of three questions, together the subject of today’s article. First, when an Array’s densely-packed portion is split using the delete operator, how fast is this? Secondly, can it be re-joined? Third, how fast is rejoining it?

Read the rest of this entry »

Tags: , ,

6 Comments

Fast Line Drawing

A recent post by Simo Santavirta featured an algorithm with an irresistible name: Extremely Fast Line Argorithm. A comment on that article piqued my interest and I decided to test the algorithm out against Adobe’s Graphics.lineTo.

Read the rest of this entry »

Tags: , , ,

4 Comments