![]() |
Очистка хешей/словарей
Доброго времени суток всем!
Интересует, каким образом вы вычищаете, например хеш, чтобы повторно использовать: Код AS3:
Код AS3:
С объектом воспроизвести лажу не удалось. Для примера оин из вариантов с ассоциативным массивом: Код AS3:
Код AS3:
Код AS3:
|
А я проще очищаю
Код AS3:
|
Это понятно, что так проще
Но очень не хочется создавать лишний объект, когда можно вычистить старый |
Цитата:
|
Время на создание объекта затрачивается болше, чем на удаление из него 2-3 элементов,
плюс добавляется работа GC по сносу старого объекта, который мог бы послужить ещё. Для сложных алгоритмов это может быть критично. |
expl, это догадки или есть реальные тесты где видно, что это критично?
|
Сейчас попробовал.
Странно это все. Прироста с вычисткой объекта не наблюдается. Код AS3:
- разница в производительности неоднозначна, может даже создавать объекты быстрее - это радует. - косвенное падение производительности (из-за вычистки насозданных объектов GC) так просто не оценить. - и все-таки: у кого нибудь возникали баги с удалением ключей в цикле for in? - вопрос то в этом был. (Тут проблема может быть не только в производительности - а например передаем объект в функцию, чтобы она его поправила, так вот удастся ли в ней этот объект очистить - к примеру - на практике такого не возникало) |
Если не секрет, а зачем нужны эти пляски с бубнами?
Я про ассоциативные массивы в AS3. |
Вообще в моем случае можно было обойтись и объектом "{}", делал сначала на массиве, чтобы сэкономить на преобразовании из числа в строку, за что поплатился.
Воспроизвел багу с использованием обьекта - этот тест потерялся (повторно написать такой тест неудалось - может быть ошибка была в тесте, может кривая версия флешплеера попалась) Теперь удалось воспроизвести только баги с вычисткой массива. Теперь вот не знаю - можно ли доверять объектам. |
Код AS3:
|
| Часовой пояс GMT +4, время: 10:05. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.