C# vs Delphi
От: OdinDoma  
Дата: 05.07.05 02:37
Оценка:
Добрый день, уважаемые!
Недавно для интереса решили проверить скорострельность C# по сравнению с С++. Результаты оказались вполне ожидаемые, а вот когда попробовали сравнить C# с Delphi, очень даже удивились . С# оказался значительно быстрее.
Проверяли на простеньком примере вычислений с плавающей точкой.
Что скажите?
Re: C# vs Delphi
От: EXO Россия http://www.az.inural.ru
Дата: 05.07.05 05:54
Оценка: 1 (1)
Здравствуйте, OdinDoma, Вы писали:

OD>Добрый день, уважаемые!

OD>Недавно для интереса решили проверить скорострельность C# по сравнению с С++. Результаты оказались вполне ожидаемые, а вот когда попробовали сравнить C# с Delphi, очень даже удивились . С# оказался значительно быстрее.
OD>Проверяли на простеньком примере вычислений с плавающей точкой.
OD>Что скажите?

Тоже ожидаемый результат. Ты дизасемблируй дельфячий код и глянь в него — сразу все ясно станет.

Нафиг, нафиг, нафиг...
что шарп, что дельфи, когда нынче столько всего хорошего есть
хочешь пошустрее можно OCaml взять, хочешь попроще — Python
Re: C# vs Delphi
От: Sheridan Россия  
Дата: 05.07.05 06:47
Оценка: +1 :)
Здравствуйте, OdinDoma, Вы писали:

OD>Добрый день, уважаемые!

OD>Недавно для интереса решили проверить скорострельность C# по сравнению с С++. Результаты оказались вполне ожидаемые, а вот когда попробовали сравнить C# с Delphi, очень даже удивились . С# оказался значительно быстрее.
OD>Проверяли на простеньком примере вычислений с плавающей точкой.
OD>Что скажите?

Не вижу смысла сравнивать г... с д...
Отупляют они. И хотя шарп еще вроде как держится (ассемблей еще ненаделали столько сколько компеонентов у делфей) то делфи отупляет сострашной силой.
[RSDN@Home][1.1.4][beta 7][501]
[Winamp is shutdown.]
Matrix has you...
Re[2]: C# vs Delphi
От: ZevS  
Дата: 05.07.05 08:27
Оценка:
Здравствуйте, Sheridan, Вы писали:

<...>

S>Не вижу смысла сравнивать г... с д...

S>Отупляют они. И хотя шарп еще вроде как держится (ассемблей еще ненаделали столько сколько компеонентов у делфей) то делфи отупляет сострашной силой.

Ну если считать отуплением потерю навыка в решении головоломных выражений с указателями — то да — отупляет.
Re: C# vs Delphi
От: SergeyIT Россия  
Дата: 05.07.05 08:42
Оценка:
Здравствуйте, OdinDoma, Вы писали:
...
Зачем сравнивать с Delphi? Чтобы потом ругать?
В документации к Delphi указано, что ее не рекомендуется использовать для математических расчетов, где требуется высокая производительность.
Извините, я все еще учусь
Re[3]: C# vs Delphi
От: Sheridan Россия  
Дата: 05.07.05 08:45
Оценка:
Здравствуйте, ZevS, Вы писали:

ZS>Ну если считать отуплением потерю навыка в решении головоломных выражений с указателями — то да — отупляет.

А мне например тяжко без указателей.
[RSDN@Home][1.1.4][beta 7][501]
[Winamp is shutdown.]
Matrix has you...
Re[4]: C# vs Delphi
От: ZevS  
Дата: 05.07.05 08:49
Оценка: :)
Здравствуйте, Sheridan, Вы писали:

S>Здравствуйте, ZevS, Вы писали:


ZS>>Ну если считать отуплением потерю навыка в решении головоломных выражений с указателями — то да — отупляет.

S>А мне например тяжко без указателей.

Ну так это ж программирование, а не вышивание. Тяжелый труд для суровых людей — придется сжать челючти и терпетеь.
Re: C# vs Delphi
От: ansi  
Дата: 05.07.05 10:31
Оценка:
Здравствуйте, OdinDoma, Вы писали:

OD>Добрый день, уважаемые!

OD>Недавно для интереса решили проверить скорострельность C# по сравнению с С++. Результаты оказались вполне ожидаемые, а вот когда попробовали сравнить C# с Delphi, очень даже удивились . С# оказался значительно быстрее.
OD>Проверяли на простеньком примере вычислений с плавающей точкой.
OD>Что скажите?

Скажу, что баян.
new RSDN@Home(1.1.4, 303) << new Message(); std::head::ear << "Metallica — Enter Sandman";
Re[2]: C# vs Delphi
От: vlad_gri  
Дата: 05.07.05 11:10
Оценка:
Здравствуйте, ansi, Вы писали:

A>Здравствуйте, OdinDoma, Вы писали:


OD>>Добрый день, уважаемые!

OD>>Недавно для интереса решили проверить скорострельность C# по сравнению с С++. Результаты оказались вполне ожидаемые, а вот когда попробовали сравнить C# с Delphi, очень даже удивились . С# оказался значительно быстрее.
OD>>Проверяли на простеньком примере вычислений с плавающей точкой.
OD>>Что скажите?

A>Скажу, что баян.


Да нет не баян. Только, смотри выделенное, не совсем верно.
Re[3]: C# vs Delphi
От: OdinDoma  
Дата: 05.07.05 12:25
Оценка:
Здравствуйте, vlad_gri, Вы писали:

_>Да нет не баян. Только, смотри выделенное, не совсем верно.


Почему же неверно. Процентов на 10-20 Delphi медленнее оказался.
Если посмотреть в Asm, то после каждой операции с плавающей точкой Delphi wait навставлял. В Майкрософтовском коде waitов вообще нет.
Re[4]: C# vs Delphi
От: vlad_gri  
Дата: 05.07.05 14:13
Оценка:
Здравствуйте, OdinDoma, Вы писали:

OD>Здравствуйте, vlad_gri, Вы писали:


_>>Да нет не баян. Только, смотри выделенное, не совсем верно.


OD>Почему же неверно. Процентов на 10-20 Delphi медленнее оказался.

OD>Если посмотреть в Asm, то после каждой операции с плавающей точкой Delphi wait навставлял. В Майкрософтовском коде waitов вообще нет.

Приведи свой тест для проверки.
У меня разница 1-5 процентов
Насчет fwait твоя правда, отьедает гад 4 такта процессора, оставлен якобы для совместимости с i486
Но давай проведем тесты на Pentium.
Если кто-либо скажет, что таких процессоров уже не существует, милости прошу из 80 компов 8 они и есть.
Re[5]: C# vs Delphi
От: OdinDoma  
Дата: 06.07.05 04:25
Оценка:
Здравствуйте, vlad_gri, Вы писали:

_>Приведи свой тест для проверки.

_>У меня разница 1-5 процентов
_>Насчет fwait твоя правда, отьедает гад 4 такта процессора, оставлен якобы для совместимости с i486
_>Но давай проведем тесты на Pentium.
_>Если кто-либо скажет, что таких процессоров уже не существует, милости прошу из 80 компов 8 они и есть.
Насчет 20% я действительно загнул. На моем примере до 7 получилось.
Пример, самый, что ни на есть примитивный, поэтому ни факт, что он показательный.
double d=0;
int t=Environment.TickCount;
for (int i=1;i<=50000000;i++)
{
d=d+Math.Sqrt(i);
if (d>100000)
d=d/2;
}
int g=Environment.TickCount;
Console.WriteLine(g-t);
Console.WriteLine(d);
С++ — 4015 мс
С# — 4672 мс
Delphi — от 4890 до 5046 мс (нестабильно)

Интересно было бы APIшными вызовами разбавить, да и расчеты посложнее.
Re[6]: C# vs Delphi
От: vlad_gri  
Дата: 06.07.05 05:15
Оценка:
Здравствуйте, OdinDoma, Вы писали:

OD>Насчет 20% я действительно загнул. На моем примере до 7 получилось.

OD>Пример, самый, что ни на есть примитивный, поэтому ни факт, что он показательный.
OD> double d=0;
OD> int t=Environment.TickCount;
OD> for (int i=1;i<=50000000;i++)
OD> {
OD> d=d+Math.Sqrt(i);
OD> if (d>100000)
OD> d=d/2;
OD> }
OD> int g=Environment.TickCount;
OD> Console.WriteLine(g-t);
OD> Console.WriteLine(d);
OD>С++ — 4015 мс
OD>С# — 4672 мс
OD>Delphi — от 4890 до 5046 мс (нестабильно)

OD>Интересно было бы APIшными вызовами разбавить, да и расчеты посложнее.


Нашел интересную фишку.
У Microsoft в С++ и C# в 8087CW стоит PrecissionMode=DOUBLE а
у Borland в 8087CW стоит PrecissionMode=EXTENDED.
Попробуй протестировать Delphi с установленным PrecissionMode=DOUBLE, мне интересно ,что получиться.
Re[5]: C# vs Delphi
От: OdinDoma  
Дата: 06.07.05 07:13
Оценка:
А Буилдер вообще тормозной. С максимальной оптимизацией получилось 6032 мс
Re[6]: C# vs Delphi
От: Menestrel Россия  
Дата: 06.07.05 07:53
Оценка: +1
Здравствуйте, OdinDoma, Вы писали:

OD>А Буилдер вообще тормозной. С максимальной оптимизацией получилось 6032 мс


Буилдер есть зло великое
Сложность программы растет до тех пор, пока не превысит способности программиста
Re[6]: C# vs Delphi
От: vlad_gri  
Дата: 06.07.05 12:00
Оценка:
Здравствуйте, OdinDoma, Вы писали:

OD>Интересно было бы APIшными вызовами разбавить, да и расчеты посложнее.


Мои тесты.
http://rsdn.ru/File/41945/floatTest.rar
Re[7]: C# vs Delphi
От: OdinDoma  
Дата: 06.07.05 13:47
Оценка:
Здравствуйте, vlad_gri, Вы писали:

_>Здравствуйте, OdinDoma, Вы писали:


OD>>Интересно было бы APIшными вызовами разбавить, да и расчеты посложнее.


_>Мои тесты.

_>http://rsdn.ru/File/41945/floatTest.rar

Успел только запустить exe-шники.
Все почти одинаково (c Double Precission), но C# чуть-чуть обогнал.
Завтра еще посмотрю
Re[4]: C# vs Delphi
От: DJ KARIES Россия  
Дата: 06.07.05 14:37
Оценка: +1
Здравствуйте, Sheridan, Вы писали:

S>Здравствуйте, ZevS, Вы писали:


ZS>>Ну если считать отуплением потерю навыка в решении головоломных выражений с указателями — то да — отупляет.

S>А мне например тяжко без указателей.
Ну если хватает тупости не использовать указатели в Delphi, когда они нужны, то это не проблема языка Delphi.
ntr soft: www.dkdens.narod.ru :: ref: http://giref.forthworks.com
Re[7]: C# vs Delphi
От: OdinDoma  
Дата: 07.07.05 12:37
Оценка:
Последние цифры по твоему примеру (голые факты без эмоций ):
StrangeAttractr
С# — 3 сек
C++ — 1,2 сек (c полной оптимизацией)
Delphi — 4,73 сек
Re[7]: C# vs Delphi
От: Axc  
Дата: 07.07.05 12:45
Оценка: :)
Здравствуйте, vlad_gri, Вы писали:

_>Нашел интересную фишку.

_>У Microsoft в С++ и C# в 8087CW стоит PrecissionMode=DOUBLE а
_>у Borland в 8087CW стоит PrecissionMode=EXTENDED.
_>Попробуй протестировать Delphi с установленным PrecissionMode=DOUBLE, мне интересно ,что получиться.

Не должно влиять на скорость. AFAIK сопроцессор работает всегда с десятибайтовым представлением.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.