Здравствуйте, gandjustas, Вы писали:
G>Продолжаю. G>Видимо меряется время выполнения программы, вместе с затратами на JIT. Тогда для честности надо еще надо прибавить половину времени компиляции для C++.
Здравствуйте, Lloyd, Вы писали:
L>>>Я наверное чего-то не понимаю, но где вот тут использование pthread? F>>да, в другом тесте: F>>http://shootout.alioth.debian.org/u32/benchmark.php?test=threadring&lang=gcc&box=1 L>Не-не-не, я выбираю мандельброта на C и на C# и начинаю сравнивать. И тут обнаруживаются такие кардинальные различия. Как это понимать? Подтасовка?
да, вполне возможно..
есть аналогичные бенчмарки с другим кодом.. надо только поискать..
Здравствуйте, neFormal, Вы писали:
F>Здравствуйте, gandjustas, Вы писали:
G>>Продолжаю. G>>Видимо меряется время выполнения программы, вместе с затратами на JIT. Тогда для честности надо еще надо прибавить половину времени компиляции для C++.
F>лол
Посмотрел внимательнее, действительно они мереют все время выполнения.
Точно лол, такого говнобенчмарка я даже не ожидал.
Здравствуйте, Werig, Вы писали:
L>>>>Тут вы не правы. Есть языки, которые не компилируются в машинный, например Python. W>>>Это как это так? А кто ж его тогда выполняет? Неужели байт-код не транслируется в машинный? L>>Его выполняет интерпретатор. Берет следующую инструкцию из потока команд и в зависимости от типа инструкции делает те или иные действия. W>А интерпретатор по-вашему не транслирует инструкции в машинный код? )
а давно это стало обязательным условием?
Здравствуйте, Sheridan, Вы писали:
S>gandjustas однажды (18 марта 2009 11:13) писал в rsdn.flame.comp:
>> Ты слишком упорно незамечаешь Mono. S>Нечего там замечать. Тем более что это не дотнет, а попытка сделать подобие дотнета. S>Отстрелил бы все конечности стартерам проекта с превеликим удовольствием.
Т.к. твой тезис о некроссплатформенности дотнет приложений идет в топку?
Здравствуйте, Antikrot, Вы писали:
A>Здравствуйте, Werig, Вы писали:
L>>>>>Тут вы не правы. Есть языки, которые не компилируются в машинный, например Python. W>>>>Это как это так? А кто ж его тогда выполняет? Неужели байт-код не транслируется в машинный? L>>>Его выполняет интерпретатор. Берет следующую инструкцию из потока команд и в зависимости от типа инструкции делает те или иные действия. W>>А интерпретатор по-вашему не транслирует инструкции в машинный код? ) A>а давно это стало обязательным условием?
Так вы значит не согласны с тем, что инструкции транслируются в машинный код? ) Интересно бы знать в таком случае, каким божественным образом интерпретатор общается с процессором? Или у него свой процессор, вообще существующий в другом измерении и ниспосланный вртуальной машине сами компьютерным Богом?
Здравствуйте, Werig, Вы писали:
L>>Его выполняет интерпретатор. Берет следующую инструкцию из потока команд и в зависимости от типа инструкции делает те или иные действия.
W>А интерпретатор по-вашему не транслирует инструкции в машинный код? )
Здравствуйте, Werig, Вы писали:
W>Так вы значит не согласны с тем, что инструкции транслируются в машинный код? ) Интересно бы знать в таком случае, каким божественным образом интерпретатор общается с процессором? Или у него свой процессор, вообще существующий в другом измерении и ниспосланный вртуальной машине сами компьютерным Богом?
Werig, прежде чем смеяться, ознакомьтесь с предметом подробнее.
Скачайте исходники какого-нить простенького интерпретируемого языка и поизучайте.
Здравствуйте, neFormal, Вы писали:
L>>Не-не-не, я выбираю мандельброта на C и на C# и начинаю сравнивать. И тут обнаруживаются такие кардинальные различия. Как это понимать? Подтасовка?
F>да, вполне возможно.. F>есть аналогичные бенчмарки с другим кодом.. надо только поискать..
Давайте ссылки. Пока-что те ссылки которые были приведены, совсем не выдерживают критики.
Здравствуйте, gandjustas, Вы писали:
g> G>С++ побеждает в тестах с пермножением матриц и heapsort. g> G>Вполне закономерный эффект так как оба алгоритма требуют кучи обращений к массивам, которые из-за проверок границ в managed языках выполняются быстрее.
g> Фигню написал, в managed языках обращение к массиву выполняется медленнее.
Поэтому надо брать языки типа J, на этих операциях собаку съевших
Здравствуйте, Lloyd, Вы писали: L>Почему в C# есть создание thread-ов, а в C — нет?
По-моему, на шутауте как-то не обращают внимание на многопоточность. Вон, однопоточную mzscheme бенчмаркают на 4-ядерной машине наравне со всеми, и как будто так и надо.
Здравствуйте, gandjustas, Вы писали:
G>Посмотрел внимательнее, действительно они мереют все время выполнения. G>Точно лол, такого говнобенчмарка я даже не ожидал.
Вот блин я запускаю у себя Janus в том виде, в каком я его скачал с сайта. Мне что, кто то время потраченное на его JIT при каждом его запуске как то компенсирует?
Так что все меряется правильно.
Здравствуйте, Lloyd, Вы писали:
L>Здравствуйте, Werig, Вы писали:
W>>Так вы значит не согласны с тем, что инструкции транслируются в машинный код? ) Интересно бы знать в таком случае, каким божественным образом интерпретатор общается с процессором? Или у него свой процессор, вообще существующий в другом измерении и ниспосланный вртуальной машине сами компьютерным Богом?
L>Werig, прежде чем смеяться, ознакомьтесь с предметом подробнее. L>Скачайте исходники какого-нить простенького интерпретируемого языка и поизучайте.
Вы так и не ответили на мой вопрос: каким образом интерпретатор общается с процессором? Если честно, от ваших ответов у меня глаза на лоб полезли. Оказывается, есть сверхъестесственный способ, который позволяет обойтись без машинных команд. М-да...
Здравствуйте, Werig, Вы писали: W>Так вы значит не согласны с тем, что инструкции транслируются в машинный код?
В интерпретаторе зашит предопределенный набор действий (эти действия — да, скомпилированы в машинный код). В результате интерпретации эти предопределенные действия выполняются в определенном порядке.
Здравствуйте, Werig, Вы писали:
W>Вы так и не ответили на мой вопрос: каким образом интерпретатор общается с процессором?
Да сидят на шине, ножками болтают и ведут неспешные беседы.
W> Если честно, от ваших ответов у меня глаза на лоб полезли. Оказывается, есть сверхъестесственный способ, который позволяет обойтись без машинных команд. М-да...
Мсье ацкий философ?
Hint: JIT компиляция переводит байт код в машинный, который напрямую затем запускается на выполнение.
Интерпретация: имитация выполнения байт-кода, путем запуска соответствующий процедур, которые выполняют определенные действия над данными.
То, что интерпретатор может выполняться на проце напрямую не означает, что байт-код будет транслирован в машинный.