Flash Ripper RSS Readers

Дополнителные главы и файлы к книге Дмитрия Гурского "ActionScript 2: программирование во Flash MX 2004 (+CD). Для профессионалов"

Книгу Гурского "ActionScript 2: программирование во Flash MX 2004 (+CD). Для профессионалов" хвалят все, начиная с начинающих и заканчивая профессионалами. А если и ругали, то только за недостающие дополнительные главы к книге Гурского, которые теперь можно свободно скачать (как и было обещано). Там же можно скачать и файлы к книге.

Кстати, бесплатную главу из Гурского можно почитать на сайте Ф. Потрошителя: "Глава 9. ООП" из книги "ActionScript 2: программирование во Flash MX 2004 (+CD). Для профессионалов".

// via Сергей "Остап" Ковалев, спасибо, дружище, огромное!

Писал Rost, 22 Март 2005 13:10

Найдены баги:

Довольно хорошая книга и дополнительные статьи к ней, но уменя есть несколько замечаний. Я как раз занимался вопросом оптимизации и писал статью по этому поводу и мои исследования не совсем совпадают с автором.
Автор пишет, что for и while равнозначны, так как дают одинаковый байт код. Незнаю как именно был построен цикл но конструкция


var i=-1;
while (++i

будет в среднем на несколько миллисикунд опережать аналогичную при 10000 итераций:

for (var i=0; i

это конечно не так и много, но все же о равнозначном применении говорить не приходиться. Это как раз обсуждалось на некоторых форумах.
Описание использования for in весьма приблизительное, так как надо учитывать следующие вещи - с каким именно массивом мы имеем дело. Если в массиве заполнены все ячейки и надо все их обработать, независимо какой он длины, то следующий код:

var length = arr.length;
for (var i=0; i

на 30-50%! быстрее по времени выполнения, чем:

for (var i in arr);

А при добавлении операций с массивом внутри цикла этот процент может еще повышаться! Отсюда не совсем понятно как автор проводил сравнение.
Но если массив используеться как контейнер, тоеть хранилише набора данных, с возможными большими пустотами, то конечно обход по всей длине являеться не оптимальным, так как, при этом надо будет проверять и существование значения. А for-in только будет двигаться по существующим, что может в разы повысить производительность.

George - 22 Март 2005 20:48

Ошибочка :( циклы такие:


var i=-1;
while (++i<10);


for (var i=0; i<10; i++);


var length = arr.length;
for (var i=0; i<length; i++);

George - 22 Март 2005 20:55

А кто он такой вообще -- Гурский?
Писатель книг по компьютерным программам?

osTap - 23 Март 2005 7:58

2George: "Автор пишет, что for и while равнозначны, так как дают одинаковый байт код" + "Отсюда не совсем понятно как автор проводил сравнение"

ну, судя по всему, он сравнивал байткод..

2osTap: не путайте этого Гурского Д. с Гурским Ю.
Тот который "Д" пишет только про флеш.

киса - 23 Март 2005 10:40

То что автор оперирует только байт кодом и являеться ошибкой, так как на практике не всегда более короткий байт-код должен обязательно быстрее работать! Тут есть еще фактор как именно этот кусок кода работает, не выполняет он ли лишнюю работу или насколько он трудоемкий для выполнения виртуальной машиной.

George - 23 Март 2005 11:50

Эти две главы/19,20/ выложены ещё с декабря,
а вот 18й до сих пор нет......

Штрек - 23 Март 2005 12:03

Есть еще замечания.
Автор оперирует командами байт кода и утверждает, что eval() и set(), намного лучше dot-нотации при длинных ссылках, но в документации Macromedia пишет - "Надо отказаться от всех старых методов доступа и использовать dot-нотацию". А проверить это совсем просто. Следующий код прямого доступа к свойству используя абсолютный путь:


_root.my_mc.mc1...mcN._alpha = 10;

до 15% работает быстрее чем

setProperty(_root.my_mc.mc1...mcN, _alpha, 10); // при my_mc.mc1...mcN, без _root скорость падает

и на более 25% быстрее следующего кода

set("my_mc.mc1...mcN._alpha", 10); // при _root.my_mc.mc1...mcN._alpha скорость падает

От использования eval() вообще надо по возможности отказаться, так как его любое использование дает потери более 30%, чем использование доступа через точку.

George - 23 Март 2005 12:21

Ха! Однозначности можно добиться только в том случае, когда следуешь концепции MM. Во всех других, do-while – самый быстрый, и это еще MSA кажется года два назад сказал... и не просто, а доказал на куче примерах.. и в конфе в архивах можно нарыть эти перлы...

Volf - 15 Апрель 2005 21:24



Это запись из категории 'Books'. 10 еще cвежих:

Архивы по категориям:

3D-18, Adobe AIR-30, Animation-1, Apache Ant-1, Architecture-1, ARP-1, Art-25, Articles-26, AS3-52, Books-7, Business-3, Cairngorm-2, CI-1, Classes-10, Coding-30, Community-113, Components-19, Contests-28, Cool-Job-5, Debug-18, Design-26, Development-84, EMO-1, Events-13, Extensions-2, FAQ-8, FDS-1, Flash and html-5, Flash Player-35, Flash Updates-8, Flash-scene-1, flash10-4, FlashLite-2, Flex-30, Flex 2-80, Flickr-1, FMS-1, FPUG-46, frameworks-1, Games-11, Good Job!-35, HaXe-14, Health-2, Humor-10, Ideas-13, JavaScript-1, Job-26, JSFL-8, Links-2, Linux-1, Maps-1, Math-8, Money-11, MXML-1, Open Source-15, Optimization-2, Patterns-2, Personalities-27, Politics-1, Preloading-3, Productivity-9, PureMVC-10, Pv3d-1, Rafpug-4, Red5-3, Remoting-11, Resources-21, Ruby-6, SAAS-1, Security-11, SEO-8, Silverlight-5, Sound-3, Strategy-120, Tamarin-1, Tools-113, Training-2, Trash-8, URAFPUG-13, Urgent-1, Usability-6, Video-6, VoIP-5, Wallop-1, Wishlist-2, Архив всех записей (большой)

За последние месяцы:

Июл 2008: Международная встреча разработчиков URAFPUG завершена, URAFPUG - трансляция студии Flex-фреймворка Mate, весь Июл

Июн 2008: Попытка предварительных выводов о встрече аниматоров, Онлайн трансляция встречи аниматоров в Донецке, весь Июн

Май 2008: Если 3D, то по-взрослому: официальный запрос в Adobe по поводу контроля над мип-маппингом. Нужна ваша поддержка!, В этом году «Russian Flash Awards» пройдет в «космическом стиле», весь Май

Апр 2008: Программирование под флэш платформу. Cтатья (местами спорная), Advanced Flash Components бесплатно раздает все свои AS2-компоненты, весь Апр

Мар 2008: Зарплаты программистов в 2007 году, FlashPhone как технология года? Технология года? В Рунете?, весь Мар

Фев 2008: ЙА ФПУГ — регистрация на первую встречу UAFPUG продолжается, Закулисы Flex и секрет успеха опенсорс-проекта, весь Фев





Примечания:
Статус документа
: в процессе
   2002-2007 Производство: Рост Прибыли · О проекте · Подписка на новости (RSS)