От: | Mamut | http://dmitriid.com | |
Дата: | 29.11.10 13:19 | ||
Оценка: |
Я на вопрос о выполнении программа, компилированный TP ответил, хоть и не видел в этом смысла. А ты опять заявляешь, что дескать, я только твержу о компиляции — 8 раз.
Похоже, принцип у теяб прост — лгать, лгать и лгать, авось что-то и останется. Принцип давно известный.
От: | Mamut | http://dmitriid.com | |
Дата: | 29.11.10 13:21 | ||
Оценка: |
Прошу запомнить выделенное. Ибо про это Павел благополучно забудет, борясь с ветряными мельницами.10.11.10
Объем кода серьезной программы на С++ по сравнению с объемом кода на асме незначительно (на проценты, от силы десятки процентов) больше, а объем данных и ресурсов от языка не зависит: массив в 100 Кб займет 100 Кб, опиши его хоть на С, хоть на Паскале, хоть на асме. Bmp в ресурсах тоже.
…
Но на старых процессорах интерпретатор [JavaScript'a] работал и ему хватало 16-32 Мб (больше просто не было), а теперь ему и быстродействия почему-то не хватает, надо за счет памяти увеличивать, хотя он теперь вроде как уже и не интерпретатор.
…
А компилятор с Фортрана в 70-е годы работал на 256 Килобайтах. А ТурбоПаскаль с ООП в 80-е годы на 1 Мбайте. Во сколько раз JS сложнее ТурбоПаскаля ?
Что я, файлы на С/С++ размером в 100 Кб не видел, что ли ? И компилировал их ТурбоС на 1 Мб ОП в DOS со вполне приличной скоростью. А TурбоПаскаль так просто летал.
ТурбоПаскаль 1987 года тихо и спокойно переварил бы файл на 177.27 Кб при 640 Кб ОП и не почесался бы.
Компиляция обычных статических языков, как я уже не раз тут замечал, вполне может идти на нескольких Мб. Доказательство простое — она шла, и с весьма приличной скоростью при памяти в Мбайты и частоте в десятки-сотню MHz и без многоядерности.
M>Фигня, что этот скрипт не только компилируется, но и выполняется?
А что тут такого ? Интерпретаторы этим всю свою историю занимались, на то они и интерпретаторы. Даже какой-нибудь GW-Basic на 64 Кб это умел. Чистый интерпретатор берет строчку исходного текста, строит машинные команды, исполняет. Полукомпилятор хранит еще и кэш этих кусков машинных команд, чтобы повторно не интерпретировать. Из 5 Мбайт исходников на каком угодно языке (хоть на асме) этих машинных команд можно создать не более 1-2 Мбайт. В чем проблема-то ?
M>Пустой фотошоп спокойно отжирает 130 метров памяти. Компилятор С++ — гуано, однозначно.
Слушай, не смеши. При чем тут компилятор ?
PD>>Не к компиляции, а к работе. Если в JS объявлен массив на 100 Мб — я первый потребую под него место. Но пока его нет, нечего память транжирить.
M>Ну пока его нет, его и не транжирят. Вернее, транжирят столько, соклько нужно для JIT'а и runtime-оптимизаций.
А сколько нужно под код на js размером в 50-100 Кб при том, что там нет больших массивов ? Я так полагаю, что 1 Мб должно хватить. Для ТурбоПаскаля хватало же.
c ТурбоПаскалем ты знаком, нет ? … А компилировал прямо-таки с жуткой скоростью.
Понимаешь, все эти аргументы бледнеют перед одним простым фактом — компиляторы, которые работают в 1-2 Мб, сделать можно. Я не знаю, что они там в v8 сделали, и, честно говоря, мне это не слишком интересно.
Ну идет в рантайме компиляция вместе с выполнением. Ну в худшем случае это значит, что нужна память для компилятора и рабочей программы. Это еще TP умел на 1 Мб, и без всякой интерпретации. Да, не было там многого, но многое и было. На 1 Мб.
Да пусть хоть html вместе с js и css и чем там еще хоть 5 Мб на страницу. Компиляция 5 Мб в BC 3.1 на стареньком компе шла со свистом лет 10 назад.
TP приведен не для доказательства ущербности js (точнее, интерпретатора с него), а для сравнения потребностей для обработки исходной программы и исполнения результирующей программы в том и в другом случае. Если на протяжении десятилетй как-то ухитрялись укладывать задачу компиляции в Мб
От: | Mamut | http://dmitriid.com | |
Дата: | 29.11.10 13:22 | ||
Оценка: |
а объем данных и ресурсов от языка не зависит
M>Пустой фотошоп спокойно отжирает 130 метров памяти. Компилятор С++ — гуано, однозначно.
Слушай, не смеши. При чем тут компилятор ?
Ну идет в рантайме компиляция вместе с выполнением. Ну в худшем случае это значит, что нужна память для компилятора и рабочей программы.
Что-то я никак не пойму, почему и ты и Мамут пристали ко мне с этим выполнением. Я решительно не понимаю, какое это отношение имеет к потребностям компилятора. TP-чистый компилятор, при выполнении он не участвует, даже если компилируем в память. Он не интерпретатор!!!
Но если уж так хочется получить от меня ответ про выполнение — пожалуйста.
Программа "Hello, World" будет занимать несколько Кб
Та же программа, если к ней добавить массив на 60 Кб — 60 с чем-то Кб
Если что-то посерьезнее написать — может, и сотня понадобится.
Если уж очень серьезное (по меркам DOS, конечно) — займем все 640 минус то, что заняли MS-DOS и BIOS
Если компилятор для Win16 возьмем — потенциально до 16 Мб, предел для 16-битной модели
Для Win32 TP не было, это уже Дельфи. Там — как обычно в Win32
Ну и что интересного тут ты нашел ?
От: | Mamut | http://dmitriid.com | |
Дата: | 29.11.10 13:24 | ||
Оценка: |
Что-то я никак не пойму, почему и ты и Мамут пристали ко мне с этим выполнением.
Программа "Hello, World" будет занимать несколько Кб
Та же программа, если к ней добавить массив на 60 Кб — 60 с чем-то Кб
Если что-то посерьезнее написать — может, и сотня понадобится.
// и т.п.
Я не знаю, что они там в v8 сделали, и, честно говоря, мне это не слишком интересно.
http://rsdn.ru/forum/flame.comp/4051285.1.aspxАвтор: Pavel Dvorkin
Дата: 24.11.10
Да хватит меня аббревиатурами пугать.
От: | midcyber | 肏 | |
Дата: | 29.11.10 14:05 | ||
Оценка: |
От: | Mamut | http://dmitriid.com | |
Дата: | 29.11.10 14:36 | ||
Оценка: |
От: | midcyber | 肏 | |
Дата: | 29.11.10 14:44 | ||
Оценка: |
От: | Mamut | http://dmitriid.com | |
Дата: | 29.11.10 15:04 | ||
Оценка: |
От: | hattab | ||
Дата: | 29.11.10 16:29 | ||
Оценка: |
От: | kuzbas22 | ||
Дата: | 29.11.10 17:02 | ||
Оценка: | +1 |
От: | lazy_walrus | ||
Дата: | 29.11.10 18:25 | ||
Оценка: | +1 |