![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проф. геймдев на Делфи [Delphi]
Unsigned © (2006-01-13 23:29:00)Доброго времени суток! Сразу оговорюсь что это тема не типа "Делфи вс Си".Хотелось бы услышать мнение знающих людей по-поводу : есть ли профессиональное будущее у программиста игр на Делфи? Или для того чтоб стать проффесионалом в игровой индустрии необходимо рано или поздно переходить на С, а геймдев на Делфи носит любительский характер?
Shirson (2006-10-16 18:46:00) [41]И по следующему кругу погнали...
Ketmar (2006-10-16 18:44:00) [42]>[116] @!!ex(c) 16-Oct-2006, 18:41
>компиллер дельфевый быстрее.....
компилятор-- быстрее. кодже... %-)
@!!ex (2006-10-16 18:41:00) [43]
> Shirson © (16.10.06 16:51) [114]
Нету холивара.
Народ привел необоснованные "факты" о том, что паскаль быстрее.
Я просто проверил.
Лично у меня 95% проектов на паскале, но не отреагировать на фразу, что компиллер дельфевый быстрее.....
Ketmar (2006-10-16 18:19:00) [44]>[114] Shirson(c) 16-Oct-2006, 16:51
>Коллеги, любая ветка, в которой упоминаюется С и Р,
тогда будут говорить "это" и "то". а флудофлэймить не перестанут. %-)
Shirson (2006-10-16 16:51:00) [45]Коллеги, любая ветка, в которой упоминаюется С и Р, перерастает в очередной виток HolyWar. Вам самим не надоело еще? Зачем провоцировать и поддаваться на провокации? Что это даст, если каждый останется при своём мнении?
Ув. Модераторы, может стоит запретить любые темы C vs D/P? Ну надоело уже наблюдать, как ветки перерождаются во флудильню.
rts111 (2006-10-16 15:36:00) [46]Я бы уподобил Delphi - русскому языку, Си - английскому.
Может русский язык и лучше(не факт), но во всем мире все говорят на английском,
русский кстати тоже немало людей знают, украинцы и беларусы, например!
nikola232 (2006-10-16 11:41:00) [47]
> Вот тут уже все прелести компилятора С++...
> Дельфя и С++ в дебаге показали примерно равное время
И в чём же прелести?
Всё равно код на Дельфи ИМХО как-то стройнее выглядит, штоли.
И, верно, нет плохих языков, есть кривые руки. Кто к чему привык. Здесь встаёт другой вопрос, вопрос о стандартизации, например во всех западных странах С++ это стандарт.
@!!ex (2006-10-16 11:29:00) [48]Упс. Протупил. Строчки
itoa(Tm,buffer,10);в Сишном коде нету....... :-[
@!!ex (2006-10-16 11:27:00) [49]У меня это... вопрос... Каким местом мерили то???
Delphi 7:
program TestPerfomance;
uses Windows, Dialogs, SysUtils;
var
i,j,a,b,Tm:integer;
begin
a:=0;
b:=0;
Tm:=GetTickCount();
for i:=1 to 99999 do
begin
for j:=1 to 99999 do
begin
a:= b + 3;
B:= a - 2;
end;
end;
Tm:=GetTickCount() - Tm;
ShowMessage(IntToStr(Tm)+' '+IntToStr(A)+' '+IntToStr(B));
end.
Tm = 20187
a = 1409865411
b = 1409865409
MS VC++ 2005(Debug):
#include "stdafx.h"
#include <stdio.h>
int APIENTRY _tWinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int nCmdShow)
{
int i,j,a,b,Tm;
char buffer[100];
a = 0;
b = 0;
Tm = GetTickCount();
for(i = 1; i<100000; i++)
{
for(j = 1; j<100000; j++)
{
a = b + 3;
b = a - 2;
}
}
Tm = GetTickCount() - Tm;
itoa(Tm,buffer,10);
sprintf( buffer, "%i %i %i", Tm, a, b);
MessageBoxA(0,buffer,"Тест производиельности",MB_ICONINFORMATION);
}
Tm = 53911
a = 1409865411
b = 1409865409
MS VC++ 2005(Release):
#include "stdafx.h"
#include <stdio.h>
int APIENTRY _tWinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int nCmdShow)
{
int i,j,a,b,Tm;
char buffer[100];
a = 0;
b = 0;
Tm = GetTickCount();
for(i = 1; i<100000; i++)
{
for(j = 1; j<100000; j++)
{
a = b + 3;
b = a - 2;
}
}
Tm = GetTickCount() - Tm;
itoa(Tm,buffer,10);
sprintf( buffer, "%i %i %i", Tm, a, b);
MessageBoxA(0,buffer,"Тест производиельности",MB_ICONINFORMATION);
}
Tm = 20181
a = 1409865411
b = 1409865409
MS VC++ 2005(Release(Настроен на максимальную скорость)):
#include "stdafx.h"
#include <stdio.h>
int APIENTRY _tWinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int nCmdShow)
{
int i,j,a,b,Tm;
char buffer[100];
a = 0;
b = 0;
Tm = GetTickCount();
for(i = 1; i<100000; i++)
{
for(j = 1; j<100000; j++)
{
a = b + 3;
b = a - 2;
}
}
Tm = GetTickCount() - Tm;
itoa(Tm,buffer,10);
sprintf( buffer, "%i %i %i", Tm, a, b);
MessageBoxA(0,buffer,"Тест производиельности",MB_ICONINFORMATION);
}
Tm = 20013
a = 1409865411
b = 1409865409
Тестирование:
1 место - 20013мс MS VC++ 2005(Release(Настроен на максимальную скорость))
2 место - 20181мс MS VC++ 2005(Release) и 20187мс Delphi 7
3 место - 53911мс MS VC++ 2005(Debug)
Вывод:
Производительность на простейших арифметических операциях малоотличима.
ИМХО:
Тут ниче удивительного, такой код сложно оптимизить.
Я попробовал протестить вот такой цикл:
for i:=1 to 99999 do
begin
inc(a);
for j:=1 to 99999 do
begin
inc(b);
end;
end;
Вот тут уже все прелести компилятора С++...
Дельфя и С++ в дебаге показали примерно равное время, в районе 20 секунд и 25....
А вот релиз С++...... !0!мс... :))
nikola232 (2006-10-16 07:49:00) [50]
> Однако ПОКА код на паскале обгоняет код на си++ по скорости
> :)
> Посмотрим что будет дальше ...
Да, я сам удевлён, и одновременно обрадован.
Код на Паскале(Delphi7 компилятор)
for i:=1 to 100000 do
for j:=1 to 100000 do
begin
a:=b+2;
b:=a-3;
end;
Работает быстрее чем анологичный (в копьё) на VC++ 6.
Ура Паскальщики.
Ketmar (2006-10-15 18:48:00) [51]>[107] ANTPro(c) 14-Oct-2006, 17:53
>может кто-нибудь подкинет линк на сравнение компиляторов ?
а зачем? как не оптимизируй, а основную скорость всё равно алгоритмы дают...
ANTPro (2006-10-14 17:53:00) [52]ДЫК ЭТОЖ соревнование типа кто лучше напишет код. И паскаль неплохо конкурирует.
может кто-нибудь подкинет линк на сравнение компиляторов ?
MeF Dei Corvi (2006-10-14 12:39:00) [53]
> Однако ПОКА код на паскале обгоняет код на си++ по скорости
> :)
Скорее всего это происходит из-за криворуких программистов, или древних компиляторов.
ANTPro (2006-10-13 22:48:00) [54]Я о конкурсах по программингу ...
Дык вот там паскаль свободно конкурирует с си
Хотя это наверное из-за старых компиляторов
под дос.
Ketmar (2006-10-13 22:26:00) [55]>[103] ANTPro(c) 13-Oct-2006, 22:22
>Однако ПОКА код на паскале обгоняет код на си++ по
>скорости :)
не обгоняет.
ANTPro (2006-10-13 22:22:00) [56]Однако ПОКА код на паскале обгоняет код на си++ по скорости :)
Посмотрим что будет дальше ...
А компилятор для паскаля есть на ПК под все популярные оси.
@!!ex (2006-10-13 16:22:00) [57]Кстати, насчет того что С++ просто компилировать....
Цитата из Wiki с описанием С++ о недостатках:
>>Язык C++ является сложным для изучения и для компиляции.
@!!ex (2006-10-13 16:09:00) [58]
> Так, понял о чём речь...
Написал по инерции лишнюю I. :))
> стандарт меняется постоянно
Да как раз нет.
На то он и стандарт.
Оффициально сущестует с 1998 года.
Дополнен в 2003. И собственно более не меняется.
На самом деле я очень сомневаюсь что компилятор С++ проще чем Паскалевый.
Всетаки там идет очень сильный анализ кода, многое построено на предположениях. А как он оптимизит при максимальных настройках - вообще сказка.
А в паскалевом анализ мизерный.
А Сишный синтаксис везде используется потому что программеров знающих С значительно больше.
Зачем делать скриптовй язык, который поймет минимум людей, когда можно пользоваться языком, который знает куча людей, на который есть куча документации, куча компиляторов, мультиплатформенный, стандартезированный.
XProger (2006-10-12 23:12:00) [59]Так, понял о чём речь... стандарт меняется постоянно + каждый вендор пытается свой велосипед изобрести, ничего в этом удивительного нет, он ведь под все платформы существует (практически)
XProger (2006-10-12 23:10:00) [60]ANSIIC++... впервые о таком слышу, ссылочку с подробным описанием можно?