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

Поиск:

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


Новичок



Профиль
Группа: Участник
Сообщений: 39
Регистрация: 3.3.2007

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



Сразу говорю: это не тема Delphi vs c. Я не спрашиваю, что лучше. Мой вопрос только по поводу компиятора Delphi и про оптимизацию, которую он проводит. Я слышал мнение, что Delphi генерирует довольно медленный код, медленнее, чем, например c++. Так ли это, и если да, то с чем именно это связано? Есть ли какие либо недостатки у Delphi по сравнению с C++ в этом отношении, насколько они критичны и можно ли их обойти? Я знаю один недостаток: в Delphi нет макросов, а это полезная штука. Но с c++ я только слегка знаком, поэтому спрашиваю мнение людей, которые знакомы с обоими языками.
PM MAIL   Вверх
kemiisto
Дата 22.3.2008, 23:22 (ссылка) |   (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 3
Всего: 160



Цитата(Zmiy @  22.3.2008,  22:28 Найти цитируемый пост)
 Я слышал мнение, что Delphi генерирует довольно медленный код, медленнее, чем, например c++.

Заявления такого рода не только безосновательны, но и не корректны. Какой компилятор Delphi имеется в виду (for Win32 или for .NET)? А какой компилятор С++? 

Цитата(Zmiy @  22.3.2008,  22:28 Найти цитируемый пост)
Есть ли какие либо недостатки у Delphi по сравнению с C++ в этом отношении, насколько они критичны и можно ли их обойти?

Если бы были серьезные недостатки, то на Delphi никто бы не писал. Взгляни хотя бы на кол-во тем в соотв. разделах форума.

Добавлено через 8 минут и 33 секунды
Цитата(Zmiy @  22.3.2008,  22:28 Найти цитируемый пост)
Я знаю один недостаток: в Delphi нет макросов, а это полезная штука.

Да ладно уж недостаток. 3 года пишу на Delphi и ни разу потребности в макросах не испытывал. Всегда можно написать функцию с нужным результатом действия. Чем она будет отличаться от макроса?



--------------------
PM MAIL WWW GTalk Jabber   Вверх
CompWorm
Дата 23.3.2008, 00:15 (ссылка)   | (голосов:5) Загрузка ... Загрузка ... Быстрая цитата Цитата


Допеределыватель
***


Профиль
Группа: Участник Клуба
Сообщений: 1689
Регистрация: 6.12.2004
Где: /

Репутация: 1
Всего: 31



я знаю одно могучее приемущество Delphi перед многими другими языками - компиллер всё необходимое запихивает в exe файл, поэтому программы дельфи не требуют ничего дополнительного и прекрасно идут на ВСЕХ компах.  smile 

зы
а вот давно хотел спросить, в чем разница между семёркой и .NET дельфями?
на сколько я знаю, все языки в .NET стали неким единым болотом - нет разницы, программируешь ли на бейсике, си или дельфи в том числе (на NET имеется в виду) - все проги одинаково медленно работают. по идее, NET должна только тормозить работу программ.
так ли это?

Это сообщение отредактировал(а) CompWorm - 23.3.2008, 00:20


--------------------
PM MAIL   Вверх
Zmiy
Дата 23.3.2008, 00:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 39
Регистрация: 3.3.2007

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



Цитата(kemiisto @  22.3.2008,  23:22 Найти цитируемый пост)
Какой компилятор Delphi имеется в виду (for Win32 или for .NET)? А какой компилятор С++?

Delphi под Win32 ( я на нём пишу), а с++ - любой smile

Цитата(kemiisto @  22.3.2008,  23:22 Найти цитируемый пост)
Если бы были серьезные недостатки, то на Delphi никто бы не писал. Взгляни хотя бы на кол-во тем в соотв. разделах форума.

Я имею ввиду именно недостатки в отношении скорости выполнения получаемого кода. Речь идёт о реал-тайм приложениях (конкретно об играх).

Цитата(kemiisto @  22.3.2008,  23:22 Найти цитируемый пост)
Чем она будет отличаться от макроса?

скоростью

Цитата(CompWorm @  23.3.2008,  00:15 Найти цитируемый пост)
поэтому программы дельфи не требуют ничего дополнительного и прекрасно идут на ВСЕХ компах. 

А можно поподробнее? А программы на C++ могут не идти на всех компах?
PM MAIL   Вверх
CompWorm
Дата 23.3.2008, 01:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Допеределыватель
***


Профиль
Группа: Участник Клуба
Сообщений: 1689
Регистрация: 6.12.2004
Где: /

Репутация: 1
Всего: 31



программы, идущие с .NET КАК МИНИМУМ требуют установить на компе Вашего клиента .NET фреймворк, занимающий ой сколько места... 
если взять , к примеру бейсик тот же (молчу про скорость работы программ  smile ) то он требует море всяких библиотек с собой тоскать... за С++ не скажу, ибо не знаю.


--------------------
PM MAIL   Вверх
ama_kid
Дата 23.3.2008, 07:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


АСУТП-кодер
***


Профиль
Группа: Комодератор
Сообщений: 1460
Регистрация: 5.3.2007
Где: Москва

Репутация: нет
Всего: 95



Цитата(Zmiy @  22.3.2008,  22:28 Найти цитируемый пост)
Я слышал мнение, что Delphi генерирует довольно медленный код, медленнее, чем, например c++.
Имхо, при современных производительностях компьютеров скорость выполнения кода на 99% зависит от радиуса кривизны рук программиста. Хотя чисто по привычке все системные приложения, не требующие GUI, пишу на С++ - но ради интереса один раз попробовал одно из них перевести на дельфи - никакой потери скорости (субъективно, конечно) не заметил, только размер исполняемого файла больше на порядок...
Цитата(Zmiy @  23.3.2008,  00:27 Найти цитируемый пост)
А программы на C++ могут не идти на всех компах? 
Если активно юзать CRT, например, то на компе без установленной библиотеки CRT - не пойдет...


--------------------
самурай без меча подобен самураю с мечом, но только без меча 
PM MAIL   Вверх
Coder
Дата 23.3.2008, 08:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 733
Регистрация: 13.12.2004

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



Цитата(ama_kid @  23.3.2008,  15:57 Найти цитируемый пост)
Я слышал мнение, что Delphi генерирует довольно медленный код, медленнее, чем, например c++.

Все зависит от кода.
Если, например, использовать тип string и функции pos, insert, copy, delete для парсинга большого текстового заковыристого файла, то можно заметить, что чтение и разбор занимает больше времени,  чем  при использовании PChar и функций Str*().
Хотя тип string и pchar для Delphi обна родные...
PM MAIL   Вверх
kemiisto
Дата 23.3.2008, 10:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 3
Всего: 160



Цитата(CompWorm @  23.3.2008,  00:15 Найти цитируемый пост)
на сколько я знаю, все языки в .NET стали неким единым болотом - нет разницы, программируешь ли на бейсике, си или дельфи в том числе (на NET имеется в виду) - все проги одинаково медленно работают. по идее, NET должна только тормозить работу программ.так ли это?

Крайне неадыкватное представление о скорости исполнения MSIL-кода. Взгляните, например, сюда:
http://shootout.alioth.debian.org/gp4/benc...mp;lang2=csharp
Как видите, C# (Mono) проигрывает С++ (GNU G++) в среднем в 2-2,5 раза. Такая разница некритична. И это реализация Mono, а не .NET. Мне кажется (утверждать не могу) C# (.NET) проиграет еще меньше. 


--------------------
PM MAIL WWW GTalk Jabber   Вверх
Alexeis
Дата 23.3.2008, 12:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


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

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



  Скорость зависит от используемых средств. Delphi for win32 генерит машинный код напрямую, более того часть функций оптимизирована на асме, можно встретить и сторонние разработки с оптимизацией под MMX и SSE. 
  Классы работают действительно несколько медленнее из-за более высокого уровня безопасности. 


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

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

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


Опытный
**


Профиль
Группа: Участник
Сообщений: 771
Регистрация: 23.2.2007

Репутация: нет
Всего: 15



я так скажу... .NET это виртуальная машина негрософт которая исполняет байт-код, обычно у байт-кода 1 команда = 1-2 командам асм... скорость выполнения .NET очень высокая для интерпретации... я бы сказал очень высокая относительно виртуальных машин, вообщем в висте уже встроен фрейм ворк 2.0, и в следующих версиях будет встроен, постепенно .NET внедрится в ОС и никаких библиотек не нужно будет, он станет куском ядра система... VB NET, Delphi NET, C# все они компилируют в один байт код, я вижу в этом множество удобных вещей:

 - 1. Огромная и богатая информация RTII
 - 2. Обсолютно полная совместимость DLL .net написанных на разных языках... (поддержка классов например)
 - 3. Как говорится майкрософт хочет сказать - "скажите машине что ей надо сделать, а .NET это сделает наиболее безопасно и без глюков", я не первый повторяю эти слова....

Добавлено через 1 минуту и 57 секунд
еще хочу добавить, что разработка сайтов на .NET намного легче чем на PHP, стоит задуматься... хотя хостинги PHP стоят в несколько раз дешевле... 


--------------------
http://code.google.com/p/orionphp/ - opensource скриптовой язык Orion (аналог PHP) для freepascal/delphi.
PM MAIL WWW   Вверх
Alexeis
Дата 23.3.2008, 17:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


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

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



Цитата(lukas @  23.3.2008,  15:23 Найти цитируемый пост)
я так скажу... .NET это виртуальная машина негрософт которая исполняет байт-код, обычно у байт-кода 1 команда = 1-2 командам асм... скорость выполнения .NET очень высокая для интерпретации... я бы сказал очень высокая

  Не это не виртуальная машина, а компилятор времени исполнения, т.е. код компилируется при исполнении. 
Вообще тема ушла в холивар, потому ее туда и переношу.


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

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

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


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 8
Всего: 207



Цитата(lukas @  23.3.2008,  16:23 Найти цитируемый пост)
постепенно .NET внедрится в ОС и никаких библиотек не нужно будет, он станет куском ядра система... 

если вы не имеете в виду управляемую ОС, то вы несете полную чушь


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
lukas
Дата 23.3.2008, 18:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 771
Регистрация: 23.2.2007

Репутация: нет
Всего: 15



MAKCim

я имел ввиду не в прямом смысле... просто фрейм ворк будет по стандарту поставляться с ОС... 


--------------------
http://code.google.com/p/orionphp/ - opensource скриптовой язык Orion (аналог PHP) для freepascal/delphi.
PM MAIL WWW   Вверх
Alexeis
Дата 23.3.2008, 18:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


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

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



MAKCim, Ну драйвера, и ядро по-любому будут нативными, а все остальное, прикладной интерфейс  API, сервисы всякие, оболочка, сопроводительный софт, утилиты... очень даже может быть, но вот только сам Microsoft не торопиться это делать smile . Вижуалки вот от 2003й по 2008ю сплошь нативные, виста тоже, да и офис 2007й только частично что-то там сделали под .NET. 

Zmiy, давайте для теста математический алгоритм. Реализуем его на вижуалке или делфях, а затем сравним.


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

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

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


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 8
Всего: 207



lukas
ок
Цитата(Alexeis @  23.3.2008,  18:08 Найти цитируемый пост)
Ну драйвера, и ядро по-любому будут нативными, а все остальное, прикладной интерфейс  API, сервисы всякие, оболочка, сопроводительный софт, утилиты... очень даже может быть

я имел в виду не это


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила ведения Религиозных войн
Smartov
1. Уважайте собеседника
2. Собеседник != враг
3. Старайтесь воздерживаться от тем вида "Windows Rulez" или "Linux Rulez"

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

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


 




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


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

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