Говоря о "тормознутости" try/catch я имел ввиду общий случай, а не этот конкретно. Результаты теста у меня идентичны Вашим, но опять таки, немного наигран тест, если чуток его изменить, то try/catch нервно курит в сторонке((

Код AS3:
var hash:Object = { obj: { obj: { value: 5 } } };
trace(hash.obj.obj.value);
var i:int;
var count:int = 1000000;
var value:int;
var startTime:int;
startTime = getTimer();
i = count;
while (i--) {
try {
value = hash.obj.obj.value;
}
catch (error:Error) {
}
}
trace("Hit try: ", (getTimer() - startTime));
startTime = getTimer();
i = count;
while (i--) {
try {
value = hash.obj.obj.value.prop;
}
catch (error:Error) {
}
}
trace("Miss try: ", (getTimer() - startTime));
startTime = getTimer();
i = count;
while (i--) {
value = getProperty(hash, "obj.obj.value");
}
trace("Hit getProperty: ", (getTimer() - startTime));
startTime = getTimer();
i = count;
while (i--) {
value = getProperty(hash, "obj.obj.value.prop");
}
trace("Miss getProperty: ", (getTimer() - startTime));
Hit try: 221
Miss try:
13299
Hit getProperty: 8104
Miss getProperty: 8987
А у Вас такие же результаты? Или я что-то не так делаю? Да, получается, что метод то себя не оправдал, а жаль((