Taking another break from the iterator series, this week we’ll take a look at an exciting .NET feature that can easily and cleanly remove the calls to a function throughout the whole code base. Unity uses this for Debug.Assert
and you can use it for all sorts of functions, too. Wouldn’t it be nice if we could strip out all the debug functions from the production build of our game but leave them in during development? Read on to learn how!
Posts Tagged conditional
C# delegates can be used like function pointers. Assign it once and you don’t have to use an if
over and over. But is the overhead of the delegate worth it? Today’s article puts it to the test to see if this a valid performance boost versus just using an if
over and over. Read on to see if a delegate is worth your time.
Continuing the series on C# syntax, today we’ll look at the differences an AS3 programmer can expect to encounter when using conditionals (if/else
, switch/case/break/goto
) and exceptions (try/catch/finally/throw
). We’ll also look at iterators, an all-new category for AS3 programmers that empowers us to both iterate however we want and to write coroutines, a kind of lightweight pseudo-thread.
Surprisingly, some interesting things have been happening with conditionals like if-else
in AS3. First, a brand new AS3 compiler—ASC 2.0—has been released with the promise that it’ll generate more efficient bytecode. Second, some readers have pointed out the existence of a new (to me) technique: the “if-else tree”. Today’s article takes a look at just what that is and tests it against the classic options: if-else
, the ternary (? :
) operator, and the switch
statement. Which will be fastest?
Today I’m revisiting an article I wrote last August about conditionals: if-else
chains, ternary (? :
) operators, and switch
statements. In that article I showed that if-else
chains are about as fast as ternary operators and that both of them are 10-15% faster than switch
statements. Today we’ll take a look at how those conditionals scale beyond just the few cases in the last article.
Now that the Flash Player 10.1 testing is through I can return to a comment asking about the performance difference between if-else
chains and the ternary (? :
) operator. Further, I’ll discuss switch
statements to see if there is any difference in performance for these commonly-used methods of flow control.
MXMLC’s -define feature allows you to do two things: compile-time constants (as covered previously) and conditional compilation. Both are very useful, so today I’m covering conditional compilation.
We’ve all seen it, perhaps even in our own code. It’s something I think we do because we’re not really sure what would happen if we didn’t do it. Here are some little tidbits of pointless code I’ve been seeing recently:
You could probably do this in most languages and it might be hard to spot. See for yourself.