Re[37]: О байтофобах
От: Pavel Dvorkin Россия  
Дата: 15.11.10 12:35
Оценка:
Здравствуйте, Ikemefula, Вы писали:

Все, спасибо за дискуссию. Обсуждать я больше не буду.
With best regards
Pavel Dvorkin
Re[36]: О байтофобах
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 15.11.10 12:36
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

I>>Сравнивается BC против VС, то есть влияние процессора свести к минимуму.


I>>Ты можешь ответить, какой смысл сравнивать BC(VC) сейчас и BC на 386DX-40 ?

PD>Ты так и не рассказал, что за результат получится и как его использовать.

PD>Определить, насколько быстрее стала компиляция.


Для этого надо исключить влияние других факторов, как разница в процессорах. В противном случае получится неизвестно что.

I>>А сравнивая в одинаковых условиях можно выяснить например улучшения в скорости компиляции, качестве генерируемого кода и так далее.

PD>Ну насчет качества — тут надо программы для сравнения и скать, и не имеет это отношения к скорости компиляции.

Не надо никаких программ. Скармливаешь одну и ту же либу двум компилерам и пусть компиляют в цикле сутки, потом сравнить кол.во проходов

I>>Например, запустив BC и VC на современном Core2Duo (или i3,i5,i7) и получив одинаковые результаты можно говорить о том, что прогресса за 15 лет не было.


PD>Одинаковые результаты чего ? Скорости компиляции ? Выполнения ?


Для начала с компиляцией разоброаться. А качество генерируемого кода проверить гораздо проще.

I>>А если будет превосходство VC, стало быть окажется что ты рассказывал сказки да байки всякие.


PD>Так чего превосходство-то ? Скорости исполняемой программы ? Я это не обсуждал и не сравнивал. Скорости компиляции ? Бессмысленно — BC все же не использует более 4 Мб. Вот сравнить, насколько BC быстрее компилирует на Duo, чем на 386 — можно было бы, если бы 386 был в наличии.


Ну получишь ты, скажем, N раз. Что тебе это даст ? Все равно нужно сравнение с VC в тех же условиях, что бы выяснить, есть ли прогресс.
Re[33]: О байтофобах
От: Pavel Dvorkin Россия  
Дата: 15.11.10 12:56
Оценка:
Здравствуйте, kochetkov.vladimir, Вы писали:

KV>Но вообще, я бы предложил не развивать эту тему. Дело в том, что я сегодня проходил ежедгодный профосмотр, а параллельно делал себе справку, чтобы продлить водительские права. И вот там, психиатр доумился спросить у меня, считаю ли я себя нормальным. Поскольку через минут 10 меня грубо прервали, вписали мне практически насильно "здоров" и попросили выйти — я не наговорился и чувствую в себе неудовлетворенное желание до конца развить мысли, которые мне так и не дали высказать


Принято

KV>Погоди. Я нигде не утверждал, что применение яваскрипта в тех задачах, в которых его используют сейчас на клиентской стороне, сколь-нибудь оправдано с технической т.з. Здесь, я склонен согласиться с Wolfhound'ом, использование статического языка может дать серьезный выигрыш как в плане скорости разработки и быстродействия, так и в плане затрат памяти. Не думай, что никто не чешется по этому поводу, буквально в этом году где-то здесь проскакивала ссылка об инициативе по выработке стандарта для облегчения процесса встраивания скриптов на других языках в HTML-документы. Но этот рынок — как маховик, его очень трудно раскрутить, чтобы заставить вращаться. Гуглу вон, пришлось целый браузер разработать, чтобы HTML5 попер в массы (несмотря на то, что пионерами тут пытались выступить эпплы). Но рано или поздно это наступит. А пока, разработчики сайтов вынуждены принимать во внимание тот факт, что js — это единственный язык, скрипты на котором гарантировано запустятся в любом современном браузере. А разработчики браузеров не спешат с революцией, т.к. подводных камней при переходе на статику там будет более чем достаточно, а терять свою долю рынка никто не хочет.


+1. Но см. то, что я писал — повторяться не буду.

KV>Зато сейчас, мы имеем возможность наблюдать за тем, как из динамического языка выжимается все возможное. Даже то, что еще несколько лет назад считалось невозможным. Это — тоже ценный опыт, между прочим


Вот с этим не согласен. Нечего из Антилопы-Гну выжимать, Тойоту делать надо.

KV>>>При чем тут однопроходный компилятор? Он прямо во время прохода создает описываемые кодом объекты в куче? Изменяет их свойства? Вызывает их методы?


PD>>Эх, не программист ты. Ну создает. Ну вызывает. И что ? Что ? На то, чтобы создать — хоть во время прохода, хоть потом — надо sizeof(структуры).


KV>У тебя не будет этого sizeof на данном этапе, в общем случае. Оно появится только в рантайме.


Я тебя не понимаю. Да, конечно, в рантайме. Что, от этого его величина изменится ? Что ты так на рантайм упираешь ? Ну идет в рантайме компиляция вместе с выполнением. Ну в худшем случае это значит, что нужна память для компилятора и рабочей программы. Это еще TP умел на 1 Мб, и без всякой интерпретации. Да, не было там многого, но многое и было. На 1 Мб.

PD>>Чтобы изменить — надо функцию вызвать. Скажи на милость, почему это вдруг требует в десятки раз больше памяти, чем если бы сначала создать код, а потом выполнить?


KV>Ты (в смысле не ты, а компилятор) практически ничего не знаешь о типах объектов на этапе компиляции.


О черт! Ну не знаю, и что ? Откомпилирую — узнаю. Что от этого изменится-то ? Ты так говоришь, как будто между компиляцией и исполнением какой-то потусторонний мир стоит. Ну есть там объект, какого типа — черт знает. Ну дали ему тип, то есть поставили ему указатель на объект типа "тип". Ну вот теперь и ясно, какого он типа сейчас. Потом другого станет Что за проблема-то ?

PD>>А я тут при чем ? Не я это придумал. Я просто вижу, что эти самые дотнетчики, чуть что, начинают укреплять таблицы, добавлялл десятки Мб памяти, и руководствуются при этом именно этим принципом. А что там Игорь изначально имел в виду — это его дело. Благими намерениями...

PD>>Если бы они и впрямь разумно подходили — так у них расходы памяти и были бы такими же, как в С++. С чего ей расти-то ? Правда, при одном условии — без LinQ. Тут расти будет обязательно — если каждый раз новую структуру создавать вместо того, чтобы старую модифицировать, то без расходов памяти не обойдется.
PD>>А они обрадовались и вперед. Смотрю я порой на решения, и мне просто страшно становится.

KV>Ты сейчас о чем-то ком-то конкретном? Явно ведь не о хроме (нету там дотнета, ну ни грамма).


Именно. Я не о дотнете. Я о бесконтрольном и беспардонном выделении объемом памяти, на порядки превышающие необходимые затраты. Независимо от языка. В js тоже нет дотнета.

KV>"Назовите мне имя это подлеца, сэр!" (с)


Безалаберное и безграмотное программирование.

KV>Не знаю. При условии, что мы вынуждены иметь javascript в качестве скриптового языка — наверное можно еще что-то оптимизировать, заставить хром более ответственно подходить к вопросам освобождения памяти, не используемой в настоящий момент (в нем это уже реализовано, но не включено, нужно запускать с правильным ключем командной строке) и т.п., но не думаю, что это даст существенный выигрыш, т.к. эти затраты памяти обусловлены дизайнерским решением и вполне осознанны. Чтобы серьезно сократить затраты памяти придется пересматривать архитектуру, а она вышла весьма удачная.


А она не могда выйти весьма удачной, если бы им сказали — 30 Мб и ини копейки больше ? Нет у нас больше, и все!

PD>>Вот ответь мне прямо, недвусмысленно и честно на такой вопрос. Пофантазируем.

PD>>2000 год. Увеличение объема памяти и быстродействия процессора прекратилось. Ядра не были созданы. Лучшая машина — Pentium III — 667 MHz (у меня была тогда). Все.
PD>>Ты готов заявить, что невозможно было бы создать ничего , равного по возможностям нынешним сайтам ? Ты готов утверждать, что при 256 Мб Google map или GMail никогда не мог бы быть создан ? Вот скажи прямо — да или нет. Без пояснений. 1 бит.

KV>Я без пояснений не могу, это против моей природы 1 бит — могу, это ответ "нет", мог бы. Но теперь поясню: если бы среда была настолько враждебна (а потребности пользователей бы росли в соответствии с нашим сценарием), то яваскрипт бы просто умер и на его место пришел бы другой более совершенный и приспособленный к этой среде язык. И именно на нем и была бы возможна реализация всех этих вебдванольных примочек. Но в реальности, все произошло несколько иначе и среда не только не вредила яваскрипту, но и всячески способствовала его дальнейшему развитию (стало возможно, разгонять его за счет мегабайтного оверхеда) и именно поэтому мы имеем то, что имеем.


Вот именно. То есть неправильные решения, которые не дохнут, потому что, к счастью для тех, кто их принимает и к несчастью для технологии, растут ресурсы. Вот и все. Отрасль пожертвовала своей технологической базой, своими алгоритмическим и т.д разработками, воспользовавшись тем, что ей вдруг ни с того ни с сего прислали целый кремовый торт размером с дом. Вот она его и жует, забыв про то, что надо все же развивать сельское хозяйство свое.

KV>Это эволюция, практически в чистом виде.


Это голландская болезнь в чистом виде.

PD>>Устраивает. А вот аргумент твой — нет. Предположим, что не устраивает — что же мне делать ? Все равно придется пользоваться — где я броузер возьму с потребностью по памяти в 10 раз меньше, если бы мне это надо было ? Например, VS меня радикально не устраивает ни по скорости ее работы (IDE, не компилятора), ни по памяти. Но чем я ее заменю ?


KV>У IE8 аж 4 конкурента...


А они что, в хоть в 5 раз меньше памяти едят или виснут меньше ? Да и потом — привык я к IE.

KV>Для этого в хроме и сделал свой диспетчер задач. Чтобы не задумываться, какой процесс убивать.


Спасибо . Надеюсь, он сам никогда не зависает и его не приходится убивать

KV>У меня ни один бразуер ни разу жуткий свопинг не устраивал. Ты серьезно наблюдал подобное?


Да.

KV>До тех пор, пока на улицах не услышишь постоянные автоматные очереди. А в интернетах они уже лет 7-8, как не умолкают


Я же не спорю, что проблема есть. Но любой ценой защита мне не нужна. Тебе же не нужно объяснять, что средства защиты должны быть соизмеримы защищаемой цели ?

KV>Не знаю с чего я это решил. Наверное с твоих вопросов о нововведениях в IE8 в "инсталляции и администрировании". А тебя не смущает, что все 4 браузера выдают в общем-то сравнимые результаты затрат по памяти? А opera (внимание: браузер, всегда считавшийся одним из самых быстрых) жрет больше всех. С чего бы?


Не знаю. Я ее помню в самом начале — прелесть была, да и только.

А где обещанное про халтуру и автомобили ?
With best regards
Pavel Dvorkin
Re[37]: О байтофобах
От: Pavel Dvorkin Россия  
Дата: 15.11.10 12:57
Оценка:
Здравствуйте, Ikemefula, Вы писали:

Все, закрыл.
With best regards
Pavel Dvorkin
Re[34]: О байтофобах
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 15.11.10 13:24
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Именно. Я не о дотнете. Я о бесконтрольном и беспардонном выделении объемом памяти, на порядки превышающие необходимые затраты. Независимо от языка. В js тоже нет дотнета.


Дотнета нет, а почти что джит есть, GC — есть. Опаньки !

KV>>"Назовите мне имя это подлеца, сэр!" (с)


PD>Безалаберное и безграмотное программирование.


Как ты учил студентов, так они и программируют.

PD>Вот именно. То есть неправильные решения, которые не дохнут, потому что, к счастью для тех, кто их принимает и к несчастью для технологии, растут


Да, эволюция страшная вещь. Кто выжил — у того решение правильное.

KV>>У IE8 аж 4 конкурента...


PD>Не знаю. Я ее помню в самом начале — прелесть была, да и только.

PD>А где обещанное про халтуру и автомобили ?

В какой консерватории ты студентов готовишь ?
Re[35]: О байтофобах
От: Pavel Dvorkin Россия  
Дата: 15.11.10 13:29
Оценка: +1
Здравствуйте, Ikemefula, Вы писали:

Все, хватит.
With best regards
Pavel Dvorkin
Re[35]: О байтофобах
От: kochetkov.vladimir Россия https://kochetkov.github.io
Дата: 15.11.10 13:32
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>Как ты учил студентов, так они и программируют.

I>В какой консерватории ты студентов готовишь ?

Не надо
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>

[Интервью] .NET Security — это просто
Автор: kochetkov.vladimir
Дата: 07.11.17
Re[27]: О байтофобах
От: Cyberax Марс  
Дата: 15.11.10 13:42
Оценка:
Здравствуйте, Klapaucius, Вы писали:

K>Это расширяемые записи, HList. Все статическое, никакой динамики.

Вах. Кто бы сомневался, что Haskell всё есть.
Sapienti sat!
Re[26]: О байтофобах
От: Mamut Швеция http://dmitriid.com
Дата: 15.11.10 14:17
Оценка:
M>>Ты забываешь, что в JS int'ы, пусть и в теории, тоже объекты, тип которых, кстати, не известен.
PD>Нет, не забыл. Под это готов дать еще 4 байта на объект. Даже 8 дам, так и быть — для ссылки на объект типа (тип же должен быть известен)

Ну вот 4 байта тут, четыре бата там и ты легким движением руки увелиил требования к памяти только для int'ов в два раза


PD>Псевдоязык

PD>
PD>class ClassType
PD>{
PD>  int type; // не нравится int - возьми иное, возражать не буду, ибо это синглетон
PD>  string typename; 
PD>};
PD>class Variable
PD>{
PD>  ClassType* type;
PD>  void* pData;
PD>};
PD>


>>Более того, нет в Javascript'е указателей.


PD>Указатели всегда есть. Их может не быть в языке, ими может быть , нельзя прямо оперировать, но по сути они всегда есть. Потому что это адреса чего-то

PD>такого в памяти, с чем имеем дело. В одном языке (С++) они есть явно, в другом (С#) они выступают в виде ссылок и т.д. Вот в Фортране-4 их действительно не было
>>И самое более того, ООП там немного совсем не паскалевское.

PD>Ну и что ? Ладно, еще 4 байта дам. Даже 8.



Больше надо давать, больше Ссылку на то, что делает Хром, я давал

M>>JIT способен распознать int's, но не всегда сразу. Не знаю, как работает v8, но, в теории, ему надо набрать статистику вызовов и только потом превратить их в int'ы. Что тоже бесплатно не дается. Везде компромиссы.


PD>Если бы компромиссы...


Именно компроимссы.


dmitriid.comGitHubLinkedIn
Re[30]: О байтофобах
От: Mamut Швеция http://dmitriid.com
Дата: 15.11.10 14:36
Оценка:
KV>>Все сказанное выше — весьма неполная подборка проблем, которые должны решить те, кто занимается созданием современного браузера. Странно только, что это понимаю я, ни разу не программист, но не понимаешь ты. Я ведь даже не "разработчик языков программирования" я так, "пристально за ними наблюдающий" в лучшем случае.

PD>Именно потому, что я программист, я это и понимаю. Понимаю, что не могли авторы языка в 1996 году создать его в расчете на необходимость 100 Мб, потому что и памяти такой даже в фантазии тогда не было.


В 1996-м году никому и в голову не приходило, что на странице будет полмиллиона объектов (а ведь Владимир тебе скриншот привел)


PD>Понимаю, что язык отнюдь не самый сложный, даже если придется иметь дело со столь ужасной ситуацией, как недозагруженный текст (Для твоего сведения — любой однопроходной компилятор всегда имеет дело с этой ситуацией, так как просматривает код один раз и, стало быть, при его просмотре в некоем месте можно считать, что последующий код он еще не видел).


Самое смешное, что Владимир говорил не только про JavaScript


dmitriid.comGitHubLinkedIn
Re[34]: О байтофобах
От: Mamut Швеция http://dmitriid.com
Дата: 15.11.10 14:43
Оценка:
KV>>У тебя не будет этого sizeof на данном этапе, в общем случае. Оно появится только в рантайме.

PD>Я тебя не понимаю. Да, конечно, в рантайме. Что, от этого его величина изменится ? Что ты так на рантайм упираешь ? Ну идет в рантайме компиляция вместе с выполнением. Ну в худшем случае это значит, что нужна память для компилятора и рабочей программы. Это еще TP умел на 1 Мб, и без всякой интерпретации. Да, не было там многого, но многое и было. На 1 Мб.



Казалось бы, зачем только ссылки людям даются? Javascript — это не паскаль.

Владимир тебе описал проблему тут: http://rsdn.ru/forum/flame.comp/4038309.1.aspx
Автор: kochetkov.vladimir
Дата: 15.11.10
(со слов "Ты набросаешь свою первую реализацию V8" два абзаца) и лично давал тебе два раза ссылку на http://code.google.com/apis/v8/design.html

Ты упорно продолжаешь говорить о каком-то Турбо Паскале и чему-то удивляться


dmitriid.comGitHubLinkedIn
Re[31]: О байтофобах
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 15.11.10 14:47
Оценка:
Здравствуйте, Mamut, Вы писали:

M>В 1996-м году никому и в голову не приходило, что на странице будет полмиллиона объектов (а ведь Владимир тебе скриншот привел)


Полмиллиона это не на странице, а в рантайме, т.е. в памяти браузера.
Re[32]: О байтофобах
От: Mamut Швеция http://dmitriid.com
Дата: 15.11.10 14:49
Оценка: +1
M>>В 1996-м году никому и в голову не приходило, что на странице будет полмиллиона объектов (а ведь Владимир тебе скриншот привел)

I>Полмиллиона это не на странице, а в рантайме, т.е. в памяти браузера.



Хм. Судя по скриншоту — это таки для вкладки, где открыт gmail, ане для всео браузера. Что так же видно по колонке count для этой страницы.


dmitriid.comGitHubLinkedIn
Re[33]: О байтофобах
От: kochetkov.vladimir Россия https://kochetkov.github.io
Дата: 15.11.10 14:54
Оценка:
Здравствуйте, Mamut, Вы писали:

M>>>В 1996-м году никому и в голову не приходило, что на странице будет полмиллиона объектов (а ведь Владимир тебе скриншот привел)


I>>Полмиллиона это не на странице, а в рантайме, т.е. в памяти браузера.



M>Хм. Судя по скриншоту — это таки для вкладки, где открыт gmail, ане для всео браузера. Что так же видно по колонке count для этой страницы.


Да, это был снапшот хипа для одной страницы gmail.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>

[Интервью] .NET Security — это просто
Автор: kochetkov.vladimir
Дата: 07.11.17
Re[33]: О байтофобах
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 15.11.10 15:03
Оценка:
Здравствуйте, Mamut, Вы писали:

I>>Полмиллиона это не на странице, а в рантайме, т.е. в памяти браузера.


M>Хм. Судя по скриншоту — это таки для вкладки, где открыт gmail, ане для всео браузера. Что так же видно по колонке count для этой страницы.


Ну так это же в рантайме, а не на странице Или ты под страницей имел ввиду вкладку браузера ?
Re[34]: О байтофобах
От: Mamut Швеция http://dmitriid.com
Дата: 15.11.10 15:16
Оценка:
I>>>Полмиллиона это не на странице, а в рантайме, т.е. в памяти браузера.

M>>Хм. Судя по скриншоту — это таки для вкладки, где открыт gmail, ане для всео браузера. Что так же видно по колонке count для этой страницы.


I>Ну так это же в рантайме, а не на странице Или ты под страницей имел ввиду вкладку браузера ?


Вкладку браузера


dmitriid.comGitHubLinkedIn
Re[32]: О байтофобах
От: WolfHound  
Дата: 15.11.10 15:27
Оценка: -1
Здравствуйте, Pavel Dvorkin, Вы писали:

I>>JS V8 делает тоже самое, но уже в памяти.

PD>А c ТурбоПаскалем ты знаком, нет ?
ТурбоПаскалем статически типизированный язык.
Ты конечно можешь не верить но разница в компиляции статически типизированного языка и динамически типизированного огромна.
Я бы даже сказал там нет почти ничего общего.
В случае со статикой мы можем сгенерировать машинный код не запуская программу.
В случае с динамикой это сделать нельзя ибо набор полей и методов у объекта будет известен только во время исполнения программы.
Апеллировать к паскалю глядя на то как компилятр жабаскрипта кушает память просто глупо.
Ибо там работают принципиально разные алгоритмы.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[33]: О байтофобах
От: Pavel Dvorkin Россия  
Дата: 15.11.10 15:34
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>Здравствуйте, Pavel Dvorkin, Вы писали:


I>>>JS V8 делает тоже самое, но уже в памяти.

PD>>А c ТурбоПаскалем ты знаком, нет ?
WH>ТурбоПаскалем статически типизированный язык.
WH>Ты конечно можешь не верить но разница в компиляции статически типизированного языка и динамически типизированного огромна.
WH>Я бы даже сказал там нет почти ничего общего.
WH>В случае со статикой мы можем сгенерировать машинный код не запуская программу.
WH>В случае с динамикой это сделать нельзя ибо набор полей и методов у объекта будет известен только во время исполнения программы.
WH>Апеллировать к паскалю глядя на то как компилятр жабаскрипта кушает память просто глупо.
WH>Ибо там работают принципиально разные алгоритмы.

Динамическая типизация была в FoxBase 1.0 для DOS в 1989 году. Там не было классов, но переменная могла изменить тип, скажем, с числового на строчный. А это тоже меняет набор "методов" (сложение чисел и конкатенация строк — это не одно и то же)
Да, там был интерпретатор. Работало все это в 640 Кб. Не надо думать, что только сейчас все открыли — все это давно открыто.
With best regards
Pavel Dvorkin
Re[35]: О байтофобах
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 15.11.10 15:35
Оценка:
Здравствуйте, Mamut, Вы писали:

I>>Ну так это же в рантайме, а не на странице Или ты под страницей имел ввиду вкладку браузера ?


M>Вкладку браузера


Вот так вот в коде дашь неправильное имя сущности и баги начинают расти сами собой
Re[34]: О байтофобах
От: Cyberax Марс  
Дата: 15.11.10 15:38
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Динамическая типизация была в FoxBase 1.0 для DOS в 1989 году. Там не было классов, но переменная могла изменить тип, скажем, с числового на строчный. А это тоже меняет набор "методов" (сложение чисел и конкатенация строк — это не одно и то же)

PD>Да, там был интерпретатор. Работало все это в 640 Кб. Не надо думать, что только сейчас все открыли — все это давно открыто.
Ну и как быстро он работал?
Sapienti sat!
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.