Модераторы: LSD

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> "Скорость" Delphi 
:(
    Опции темы
Alexeis
Дата 31.3.2008, 23:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 14
Всего: 459



bems, т.е. заоптимизировал все вручную smile безо всяких крутых компиляторов? Или не обошлось без супер компьютера? Какой результат по времени приведенных мною экзешников? Время разнится на разных машинах.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
bems
Дата 1.4.2008, 16:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

Репутация: 0
Всего: 88



Цитата(Alexeis @  31.3.2008,  23:42 Найти цитируемый пост)
Или не обошлось без супер компьютера?

P4 1.8 GHz 256M

Цитата(Alexeis @  31.3.2008,  23:42 Найти цитируемый пост)
Какой результат по времени приведенных мною экзешников?
Они не запустились - нехватает каких-то библиотек. Время работы 
этого на той же машине около 17 секунд

Добавлено через 3 минуты и 57 секунд
Цитата(Alexeis @  31.3.2008,  23:42 Найти цитируемый пост)
т.е. заоптимизировал все вручную 
бОльшая часть эффекта, это оказ от процедур. Вероятно вижуалка действительно многое инлайнит, о чем насильники тут и говорили. И еще они были правы, когда утверждали, что дельфи-программеры умнее своего компилятора  smile  



--------------------
Обижено школьников: 8
PM MAIL   Вверх
Mayk
Дата 1.4.2008, 19:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


^аВаТаР^ сообщение>>
****


Профиль
Группа: Участник
Сообщений: 2616
Регистрация: 22.5.2005
Где: за границей разум а

Репутация: 2
Всего: 134



Раунд 2!  С картинками  smile 
Из кода bemsа были выкинуты в основном обработка исключений(так как gpc с ней не дружит), 
замер времени (так как искать аналог сишных [стандартных кстати] clock() мне лень ), финальный readln и DWORD'ы были заменены в случае gpc на integer, в случае fpc и p2c на int64 [чтоб указатель внутрь влез]. Сишный код привён к виду без использованя libp2c. Оригинальные в аттаче тоже есть.

На сей раз результаты уже не столь разительные если исключить fpc  smile , но...
user posted image

...Сишный код получаемый в рез-те трансляции опять быстрее оригинального паскалевского  (хотя для трансляторов это вроде как редкость  smile )
За графики спасибо gnuplot'у.





Это сообщение отредактировал(а) Mayk - 1.4.2008, 19:06

Присоединённый файл ( Кол-во скачиваний: 2 )
Присоединённый файл  life_round2.tar.bz2 146,24 Kb


--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
bems
Дата 1.4.2008, 20:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

Репутация: 0
Всего: 88



Цитата(Mayk @  1.4.2008,  19:05 Найти цитируемый пост)
так как искать аналог сишных [стандартных кстати] clock() мне лень 
не понял

Цитата(Mayk @  1.4.2008,  19:05 Найти цитируемый пост)
DWORD'ы были заменены в случае gpc на integer, в случае fpc и p2c на int64 [чтоб указатель внутрь влез].
ты на 64?

А какое ко всей этой информации имеет дельфи?

И вообще на поле 10х10 письками меряться не интересно. Давайте увеличим сложность задачи и откажемся от всяких трансляторов (потому что программист и его компилятор едины smile) По времени будем сравнивать то что написал пасквилянт на дельфи с тем что написал насильник на си.



--------------------
Обижено школьников: 8
PM MAIL   Вверх
Mayk
Дата 1.4.2008, 20:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


^аВаТаР^ сообщение>>
****


Профиль
Группа: Участник
Сообщений: 2616
Регистрация: 22.5.2005
Где: за границей разум а

Репутация: 2
Всего: 134



Цитата(bems @  2.4.2008,  00:12 Найти цитируемый пост)
ты на 64?

ага. и на линухе. поэтому gettickcount'ы выкинуты.

Цитата(bems @  2.4.2008,  00:12 Найти цитируемый пост)
И вообще на поле 10х10 письками меряться не интересно. 

угу. давай чё-нить зубодробидельнее. что предлагаешь?

Цитата(bems @  2.4.2008,  00:12 Найти цитируемый пост)
о. Давайте увеличим сложность задачи и откажемся от всяких трансляторов (потому что программист и его компилятор едины smile) По времени будем сравнивать то что написал пасквилянт на дельфи с тем что написал насильник на си.

А вот тут нет. мы не откажемся от трансляторов даже если будем писать задачу целиком. 
Потому что в этом то вся соль --- сейчас оттранслированный код на си получается не медленнее оригинального кода, написанного для паскаля  smile.  Причём именно код, оттранслированный ТУПОЙ машиной, а не человеком-насильником, машиной которая не способна на особо большее чем замена a := a+5 на a+=5 и эмуляцию вложенных ф-ций.  


Это сообщение отредактировал(а) Mayk - 1.4.2008, 20:48


--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
bems
Дата 1.4.2008, 21:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

Репутация: 0
Всего: 88



Цитата(Mayk @  1.4.2008,  20:35 Найти цитируемый пост)
сейчас оттранслированный код на си получается не медленнее оригинального кода, написанного для паскаля
еще раз: мы говорили о дельфи. А ты сравниваешь фронтэнд к компилятору Си с транслятором на Си. Ну ладно, если ты настаиваеш. smile


Цитата(Mayk @  1.4.2008,  20:35 Найти цитируемый пост)
давай чё-нить зубодробидельнее. что предлагаешь?
поле 800х600 с анимацией (одна клетка-один аиксель). В ходе анимации суму времени расщета и отображения каждого кадра в текстовом виде пишем в файл. Потом сторонними средствами строим график по числам из файла и меряемся общей длительностью и графиком в целом.

подойдет?


--------------------
Обижено школьников: 8
PM MAIL   Вверх
Lazin
Дата 2.4.2008, 08:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 4
Всего: 154



Цитата(bems @  1.4.2008,  21:05 Найти цитируемый пост)
В ходе анимации суму времени расщета и отображения каждого кадра в текстовом виде пишем в файл. Потом сторонними средствами строим график по числам из файла и меряемся общей длительностью и графиком в целом.
подойдет? 

я не пойму, вы компиляторы сравниваете или библиотеки? тогда можно рендеринг на DX сделать, победа у нас в кармане  smile 
PM MAIL Skype GTalk   Вверх
bems
Дата 2.4.2008, 16:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

Репутация: 0
Всего: 88



Цитата(Lazin @  2.4.2008,  08:07 Найти цитируемый пост)
я не пойму, вы компиляторы сравниваете или библиотеки? тогда можно рендеринг на DX сделать,
огранирчимся win32api (если речь именно о дельфи, то это логично). 

Maykу придется ставить вайн smile


--------------------
Обижено школьников: 8
PM MAIL   Вверх
Mayk
Дата 2.4.2008, 17:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


^аВаТаР^ сообщение>>
****


Профиль
Группа: Участник
Сообщений: 2616
Регистрация: 22.5.2005
Где: за границей разум а

Репутация: 2
Всего: 134



Цитата(bems @  2.4.2008,  01:05 Найти цитируемый пост)
поле 800х600 с анимацией (одна клетка-один аиксель). В ходе анимации суму времени расщета и отображения каждого кадра в текстовом виде пишем в файл. Потом сторонними средствами строим график по числам из файла и меряемся общей длительностью и графиком в целом.
подойдет? 

Йа бы предпочел чисто численные задачки. В них шума меньше. 

Цитата(bems @  2.4.2008,  20:42 Найти цитируемый пост)
огранирчимся win32api (если речь именно о дельфи, то это логично). 

дельфи так сильно не дружит с opengl?  smile 


--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
bems
Дата 2.4.2008, 17:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

Репутация: 0
Всего: 88



Цитата(Mayk @  2.4.2008,  17:15 Найти цитируемый пост)
Йа бы предпочел чисто численные задачки. В них шума меньше.
хорошо. Тогда точный подщет количества простых чисел между n и m, когда они не влазят в типы данных, поддерживаемые процессором.

Цитата(Mayk @  2.4.2008,  17:15 Найти цитируемый пост)
дельфи так сильно не дружит с opengl?
Дружит. Я имел в виду что поскольку дельфи есть только под виндой, то логично пользоваться родными виндовыми средствами.



--------------------
Обижено школьников: 8
PM MAIL   Вверх
Mayk
Дата 2.4.2008, 18:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


^аВаТаР^ сообщение>>
****


Профиль
Группа: Участник
Сообщений: 2616
Регистрация: 22.5.2005
Где: за границей разум а

Репутация: 2
Всего: 134



Цитата(bems @  2.4.2008,  21:36 Найти цитируемый пост)
хорошо. Тогда точный подщет количества простых чисел между n и m, когда они не влазят в типы данных, поддерживаемые процессором.

При наличии gmp это заведомый разгром дельфи. 
Тем более что зная [примерное] кол-во простых чисел до n, это считается за 5 действий:
m/ln m - n / ln n. точный же ответ  не расчитается и до обеда. 



--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
bems
Дата 2.4.2008, 18:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

Репутация: 0
Всего: 88



Цитата(Mayk @  2.4.2008,  18:05 Найти цитируемый пост)
Тем более что зная [примерное] кол-во простых чисел до n, это считается за 5 действий:
Ты его не знаешь, если сам не пощитаешь. А это та же задача но в меньших масштабах. И я говорил о точном значении.

Цитата(Mayk @  2.4.2008,  18:05 Найти цитируемый пост)
точный же ответ  не расчитается и до обеда. 
Ну дык вот где и будет что сравнивать.

Цитата(Mayk @  2.4.2008,  18:05 Найти цитируемый пост)
При наличии gmp это заведомый разгром дельфи. 

Ну или договоримся делать руками или предлагай другой тест.



--------------------
Обижено школьников: 8
PM MAIL   Вверх
Mayk
Дата 3.4.2008, 09:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


^аВаТаР^ сообщение>>
****


Профиль
Группа: Участник
Сообщений: 2616
Регистрация: 22.5.2005
Где: за границей разум а

Репутация: 2
Всего: 134



Цитата(bems @  2.4.2008,  22:35 Найти цитируемый пост)
Ну или договоримся делать руками или предлагай другой тест.

Для того чтобы договорится делать руками надо договорится как это делать.  GMP ведь не из воздуха взялся smile 


Цитата(bems @  2.4.2008,  22:35 Найти цитируемый пост)
Ну дык вот где и будет что сравнивать.

Кстати, ты знаешь формулу для выявления простых чисел? А то боюсь памяти для решета Эратосфена может не хватить. 
А использовать всяких Миллеров-Рабинов нельзя --- они вероятностные, что абсолютно недопустимо для точного решения.  AKS вроде есть, но он сложный


Цитата(bems @  2.4.2008,  22:35 Найти цитируемый пост)
или предлагай другой тест.

ну например расчитать $\int_a^b \frac{sin(x)}{x} dx$ методом нуу пусть трапеций, разделив участок на n частей. a,b,n задаются 
во входном файле использовать ну пусть двойную точность. достаточно легко реализовывается.


--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
bems
Дата 3.4.2008, 18:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

Репутация: 0
Всего: 88



Цитата(Mayk @  3.4.2008,  09:09 Найти цитируемый пост)
$\int_a^b \frac{sin(x)}{x} dx$
не понял выражения. Можно это перефразировать в виде формулы, как ее пишут в третьем классе на доске?

Цитата(Mayk @  3.4.2008,  09:09 Найти цитируемый пост)
во входном файле использовать ну пусть двойную точность
хм... боюсь выглядеть совсем дураком, но на Си и 64 это что именно?

в целом согласен



--------------------
Обижено школьников: 8
PM MAIL   Вверх
Void
Дата 3.4.2008, 19:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


λcat.lolcat
****


Профиль
Группа: Участник Клуба
Сообщений: 2206
Регистрация: 16.11.2004
Где: Zürich

Репутация: 11
Всего: 173



Цитата(bems @  3.4.2008,  20:03 Найти цитируемый пост)
не понял выражения. Можно это перефразировать в виде формулы, как ее пишут в третьем классе на доске?

Увы и ах, форумный движок не поддерживает формулы, но TeX все равно знать не помешает smile
Это интеграл от a до b sin(x)/x по dx.


--------------------
“Coming back to where you started is not the same as never leaving.” — Terry Pratchett
PM MAIL WWW GTalk   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила ведения Религиозных войн
Smartov
1. Уважайте собеседника
2. Собеседник != враг
3. Старайтесь воздерживаться от тем вида "Windows Rulez" или "Linux Rulez"

С уважением, Smartov.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Религиозные войны | Следующая тема »


 




[ Время генерации скрипта: 0.1998 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.