26.10.2010, 15:44
|
|
Кандидат Javascript-наук
|
|
Регистрация: 19.10.2010
Сообщений: 143
|
|
Сообщение от Gvozd
|
поэтому "дребуха" хранится в уже и так существующих объектах, и никак не сказывается на размер новых объектов.
|
Да, только указатели копируются в зависимости от свойств и методов родителя, а в остальном все прекрасно. Если во всех движках реализация иная и более грамотная - поправте меня!
Сообщение от Gvozd
|
А вообще, это экономия на спичках.
|
Конечно! Кто бы спорил, только спичек этих у меня полная коробка Да и 2,5 Га оперативы.
Сообщение от Gvozd
|
Надо руководствоваться в данном случаен не затратами памяти, а уровнем абстракции, и использовать логически верный Абстрактный Тип Данных
К тому же, речь о производительности JS следует вести в контексте конкретных браузеров.
Внутри них возможны различные реализации.
|
Да, именно к этому разговор и веду. Мож кто копался, ковырял, что скажет интересное.
Нет и небыло у меня идеи слово "Жопа" писать короче
|
|
26.10.2010, 22:40
|
|
Матрос
|
|
Регистрация: 04.04.2008
Сообщений: 6,246
|
|
Сообщение от vladlen
|
Да, только указатели копируются в зависимости от свойств и методов родителя, а в остальном все прекрасно. Если во всех движках реализация иная и более грамотная - поправте меня!
|
слова вроде все знакомые, а общий смысл фразы остался для меня в тайне.
Сообщение от vladlen
|
Конечно! Кто бы спорил, только спичек этих у меня полная коробка Да и 2,5 Га оперативы.
|
То есть у вас есть реальный проект на котором есть такая проблема?
Если да, то и изучайте на ее примере.
может узкое место вообще не там, где вы его видите.
а в применении к абстрактной задаче, вы занимаетесь фигней.
Сообщение от vladlen
|
Да, именно к этому разговор и веду. Мож кто копался, ковырял, что скажет интересное.
|
погуглить слабо?
есть набор универсальных JS-тестов, и результатов к ним для разных браузеров.
но там только скорость замеряется
как называется - не помню.гуглите
|
|
26.10.2010, 23:56
|
|
Кандидат Javascript-наук
|
|
Регистрация: 19.10.2010
Сообщений: 143
|
|
Сообщение от Gvozd
|
слова вроде все знакомые, а общий смысл фразы остался для меня в тайне.
|
А что тут такого тайного? Если есть родитель, то потомок должен унаследовать все свойства и методы: скопировать ссылки на них. При более грамотной реализации этого можно не делать, а скопировать только указатель на объект и там уже подхватывать ссылки на общие свойства и методы, но этот вариант экономя память создает ряд других проблем и довольно серьезных.
Сообщение от Gvozd
|
а в применении к абстрактной задаче, вы занимаетесь фигней.
|
А этот бред я слышу постоянно, вы видимо в школе не учились и институтов не кончали коль так заявляете
Сообщение от Gvozd
|
погуглить слабо?
|
Нет
Сообщение от Gvozd
|
есть набор универсальных JS-тестов, и результатов к ним для разных браузеров. но там только скорость замеряется
|
Спасибо, я догадываюсь и сам. А по скорости можно судить и об объеме памяти и о реализации интерпретатора, все конечно зависит от контекста самого теста.
Лично для себя, по своей натуре, в итоге я разберусь во всем. А остальной народ? Я думаю найдутся желающие почитать про идеи оптимального программирования. Каждый язык богат своими фишками, только о них мало кто знает и редко кто пользуется.
Что сейчас для веб девелопера значат слова "указатель", "приведение типа", да ровным счетом ничего. Там же и проблемы динамических массивов и длинные прыжки по памяти, о, и типы адресации.
С дальнейшим повышением уровня абстракции молодежь будет джина из коробки вызывать К этому и идем.
В общем ладно, грустно все это. За сим и откланиваюсь.
|
|
27.10.2010, 00:49
|
|
Матрос
|
|
Регистрация: 04.04.2008
Сообщений: 6,246
|
|
Сообщение от vladlen
|
А что тут такого тайного? Если есть родитель, то потомок должен унаследовать все свойства и методы: скопировать ссылки на них. При более грамотной реализации этого можно не делать, а скопировать только указатель на объект и там уже подхватывать ссылки на общие свойства и методы, но этот вариант экономя память создает ряд других проблем и довольно серьезных.
|
Если бы вы внимательнее читали справку по JS, и вообще бы больше уделили внимания основам, то вы бы знали, что только ссылка на объект-родитель, у потомка и есть.
Это называется механизмом прототипного наследования.
У любого объекта есть объект-прототип. Его Родитель, так сказать.
объект хранит только ссылку на объект-родитель. причем в скрытом свойстве.
Если у объекта нету какого-то свойства, то он ищет его у своего прототипа.
Если у того его также нет, то он ищет его у своего прототипа.
Я думаю, вам стоит меньше кричать, про то, кому писать на форрме, а кому нет, а больше читать справку на нашем сайте.
ведь вы сами не подходите под ваше же определение:
Сообщение от vladlen
|
[Че на форуме делать если не бум бум. А про почитать остальные топики после регистрации - пожалуйста, читай на здоровье.
|
Сообщение от vladlen
|
А этот бред я слышу постоянно, вы видимо в школе не учились и институтов не кончали коль так заявляете
|
Мое мнение никак не связано с моим формальным уровнем образования.
И если уж все вокруг несут бред, то вы либо пророк, либо сами несете бред.
А, я вам скажу, исходя из своей жизненной школы, что не всякая абстрактная задача полезна.
Если абстрактная задача имеет неполное условие, то она бесполезна, при условии, что различные дополнительные условия, могут дать ей различный ответ.
Ваша задача именно такая. Её следует рассматривать при больших уточнениях.
Сообщение от vladlen
|
Что сейчас для веб девелопера значат слова "указатель", "приведение типа", да ровным счетом ничего.
|
Для быдло-кодеров.
для начинающих.
Подавляющее большинство профессионалов, знает эти понятия.
Но, более того, я вам скажу, что эти понятия имею гораздо меньшую ценность для интерпретируемых языков(особенно с кучей различных реализацией), у которых слабая типизация.
а именно на этих языках и строится веб.
Веб - это не та область, где из вариантов следует выбирать более производительный.
Пользователь не всегда оценит, или даже заметит
Но, базовые знания о производительности надо иметь.
чтобы не писать архи-непроизводительных вариантов.
например один из базовых принципов для PHP (и многих других интерпретируемых языков), то, что любой самый быстрый алгоритм написанный на самом языке заведомо медленнее, чем вызов стандартной аналогичного действия функции.
|
|
27.10.2010, 00:54
|
Новичок на форуме
|
|
Регистрация: 19.02.2008
Сообщений: 9,177
|
|
Сообщение от Gvozd
|
причем в скрытом свойстве.
|
Но в некоторых реализациях открытом.
|
|
27.10.2010, 14:45
|
Профессор
|
|
Регистрация: 20.03.2008
Сообщений: 1,183
|
|
O - потребление памяти пустым объектом
n - число объектов
On - потребление памяти всеми объектами без учёта ключей
o - среднее потребление памяти одним ключом
k - общее число ключей
ok - потребление памяти всеми ключами
On+ok - общее потребление памяти заданной структурой, без учёта хранимой в ней информации
сравним 2 структуры:
1. массив объектов
2. объект массивов
k в обоих случаях одинаковое, но o во втором случае несколько меньше за счёт числовых индексов
n во втором случае пропорционально числу свойств, а в первом - глубине массива.
коэффициэнты можно посчитать, но и так видно, что как правило вторая стратегия несёт в себе меньше накладных расходов.
__________________
.ня
|
|
27.10.2010, 14:48
|
Новичок на форуме
|
|
Регистрация: 19.02.2008
Сообщений: 9,177
|
|
Сообщение от tenshi
|
o во втором случае несколько меньше за счёт числовых индексов
|
А если в объекте тоже числовые ключи используются? Собственно так оно и есть, если мы говорим о замене массива объектом.
|
|
27.10.2010, 14:57
|
Профессор
|
|
Регистрация: 20.03.2008
Сообщений: 1,183
|
|
массив - это объект с числовыми индексами
__________________
.ня
|
|
27.10.2010, 15:03
|
Новичок на форуме
|
|
Регистрация: 19.02.2008
Сообщений: 9,177
|
|
Массив в терминологии JavaScript -- это объект, порождаемый конструктором Array.
|
|
30.10.2010, 03:10
|
|
Кандидат Javascript-наук
|
|
Регистрация: 19.10.2010
Сообщений: 143
|
|
Сообщение от Gvozd
|
Если бы вы внимательнее читали справку по JS, и вообще бы больше уделили внимания основам, то вы бы знали
|
Не сразу Москва строилась, читаю, изучаю. Чай времени лишнего вагон, два не имею. Но замечание принимаю
Сообщение от Gvozd
|
объект хранит только ссылку на объект-родитель. причем в скрытом свойстве
|
Да и еще пару тройку ссылок на объекты своих свойств и методов, ктоторые тоже хранят ссылки ...
Сообщение от Gvozd
|
ведь вы сами не подходите под ваше же определение:
|
А на каком основании построены сие доводы? Так, пофлудить? Не совершает ошибок только тот, кто ничего не делает.
Сообщение от Gvozd
|
А, я вам скажу, исходя из своей жизненной школы, что не всякая абстрактная задача полезна. Если абстрактная задача имеет неполное условие, то она бесполезна, при условии, что различные дополнительные условия, могут дать ей различный ответ.
|
Полезна всякая. Большинство задач с множеством неизвестных решаются итерациями из которых строятся предварительные выводы. Таким образом, добавив еще неизвестных не придется ломать голову над всей задачей, а всего лишь изменить или дополнить некоторые ее компоненты. Наша жизнь сама по себе абстрактная задача, уже молчу про детали.
Сообщение от Gvozd
|
один из базовых принципов для PHP (и многих других интерпретируемых языков), то, что любой самый быстрый алгоритм написанный на самом языке заведомо медленнее, чем вызов стандартной аналогичного действия функции.
|
Ну для того чтобы это понять не надо быть семи пядей во лбу. Пользователю ничего замечать и не нужно. Основная идея в том, что язык на котором хочешь общаться нужно, как бы, знать.
Array это не только ценный мех, но еще и наследник от Object. Хотя меня уже сомнения одолели
|
|
|
|