![]() |
Цитата:
"1" "1" - по идее, это 2 разных объекта. Но почему то он ведёт себя как один в контексте Dictionary мне неясно. UPD: хотя, я, кстати, погорячился причем сильно. "1"==="1", а очевидно что если взять значение от одного ключа два раза - оно совпадёт. Так что всё вполне понятно. Например, здесь: http://ru.wikipedia.org/wiki/%D0%A5%...B8%D1%86%D0%B0 Цитата:
|
Цитата:
Мап (map) в данном случае переводится как "ассоциативный массив", ну или отображение. Хэш (hash table, hash map) - один из алгоритмов его реализации. Как работают слабые ссылки у Dictionary можно понять самому, написав примерчик, типа этого (правда только для дебаг плеера работает, для обычного чуть сложнее будет). Код AS3:
|
О боже. Простой тип может существовать только в связке со сложным (ну или статикой, но класс тоже можно считать сложным типом), причем он не может никуда ссылаться. Он просто есть в данном месте. И если это данное место удалить - то удалится и простой тип.
Цитата:
Конкретно у меня когда нужен объектный хэш - используется диктионари, когда строковой - обджект, чего и Вам желаю. Поэтому кто сколько "жрёт" меня не волнует - я использую инструмент там, где надо. А разницу в памяти между Obect и Dictionary юзер и не заметит - на утечках фп улетит куда больше. |
-De-, спасибо за пример, наглядно и доступно.
Цитата:
Самому сейчас нет желания тест скорости писать, может у кого есть ссылка по теме? Помню как-то видел, только не помню где. |
Код AS3:
Поздравляю, Вы спасли 8 байт. UPD: хотя, не 8, может чуть больше, возможно эти 8 байт - 2 ссылки, которые getSize считает по 4 байта. Но я думаю мысль ясна. Добавлено через 44 секунды Цитата:
|
Цитата:
Я про то, что такие "низкоуровневые особенности кода" могут таки делать хорошую разницу =) Если Array - ассоциативный массив на самом деле, то для того, чтобы поиметь элемент с индексом в 1000000000 ему таки меньше памяти понадобится, чем если он обычный массив. =) |
Теоретики, блин :) хоть кто-то из вас тест по ссылке смотрел?
60мс на 1000000 итераций это для вас хорошая разница? |
Цитата:
Цитата:
Цитата:
Код AS3:
Код AS3:
Код:
2020И бить по пальцам тех, кто забивает в массивы значения не с 0. Во всяком случае тех, кто специально. |
Psycho Tiger, попробуй так:
Код AS3:
|
И правда, забавно, спасибо. Видимо, это издержки, что > 0 работает быстрее, чем насильно конвертировать в Boolean. Однако, суть теста не меняется )
|
| Часовой пояс GMT +4, время: 17:26. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.