VB vs C vs Delphi

Windows лучше чем Linux! Чем? Ясно же написано — чем Linux!
Раздуй свой холивар сегодня, потому что завтра это может сделать уже кто-то другой!
Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Сообщение Ramzes » 28.07.2006 (Пт) 12:36

keks-n
Delphi for .net :roll:

vladgri
Начинающий
Начинающий
 
Сообщения: 12
Зарегистрирован: 26.07.2006 (Ср) 14:52

Сообщение vladgri » 28.07.2006 (Пт) 12:41

keks-n писал(а):VB6 выпущен почти 10 лет назад... Если уж сравнивать, то последние версии,

с Delphi 5 (1999 г.) те-же результаты (размер поменьше)
а для бейсика это VB 2005 на втором фреймворке, за счёт чего возможностей...
А в твоих дельфях поддержка программирования на мобильных девайсах типа КПК и смартвонов(которая была уже в седьмом VB) даже не планируется.

VB7=VB.NET ?
Delphi for .NET Compact Framework (правда превью) к D2005
http://bdn.borland.com/article/0,1410,33066,00.html
к D2006
http://bdn2.borland.com/article/33413
Кросс-платформенность рулит...
Улыбнуло.

Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Сообщение Ramzes » 28.07.2006 (Пт) 13:00

vladgri
если ты пришел на это форум агитировать за Delphi....

смотри, а то могут не понять ;)

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 28.07.2006 (Пт) 13:04

А как ты думаешь, кто лучше сделает среду, компилятор, рантайм и т. д.: производитель оси или сторонняя компания?
+Delphi for .NET вроде бы использует Microsoft Framework... А на этом уровне различия между языками несколько стираются.

З. Ы. Очень рад, что на WinCE платформах появятся программы тех, кто пишет на Делфи.
Изображение

vladgri
Начинающий
Начинающий
 
Сообщения: 12
Зарегистрирован: 26.07.2006 (Ср) 14:52

Сообщение vladgri » 28.07.2006 (Пт) 13:05

Ramzes писал(а):vladgri
если ты пришел на это форум агитировать за Delphi....

смотри, а то могут не понять ;)

Да нет, просто не люблю не аргументированных наездов.
P.S.
Писать можно хоть на чем, лиш-бы руки были под инструмент заточены.
P.S. 2
Да и тема топика располагает.
Последний раз редактировалось vladgri 28.07.2006 (Пт) 13:15, всего редактировалось 1 раз.

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 28.07.2006 (Пт) 13:13

Где-то читал высказывание:
Профессионально я не знаю ни одного языка. Всегда пограммы писались так: надо написать на этом языке, значит напишем - доки в руки и вперёд.
Изображение

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Сообщение Mikle » 29.07.2006 (Сб) 9:01

RayShade
Прямо, достоинством меряться собрались, не иначе

Надеюсь до этого не дойдет. :roll:

vladgri
Как я уже писал, на K6-2 400 VB дает стабильно 0.96 сек., а обе версии Дельфи 1.11 - 1.38, а иногда и больше. На Athlon64 3000>>3650 результат уже стабильный 0.070, но у VB6 все же быстрее - 0.065. Интересно, на чем Kovu получил свои результаты?
Не совсем понятна замена цикла For на While в процедуре DrawLine. Я специально написал процедуру, не используя Step, зная, что в Дельфи этого нет. Впрочем, аналогичная замена на VB ничего не меняет. Еще, насколько понимаю, Дельфи по умолчанию передает параметры в процедуры ByVal, а VB6 ByRef, если так - тут небольшое несоответствие, но, если оно дает некоторый выигрыш Дельфи, его можно посчитать законным, раз уж VB6 не дает мне передавать ByVal параметры пользовательского типа.
Вопрос: а что значит "const" при передаче параметра?

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 29.07.2006 (Сб) 10:16

Mikle писал(а):Вопрос: а что значит "const" при передаче параметра?

Передача по ссылке с невозможностью изменения.
В COM соответствует [in]type*; в VB такого нет.


2keks-n и другим любителям переносимости: делфовые проги, по заверениям производителя, работают на линухах. (Не проверял.)
В VB, хоть с точкой-нетом, хоть без -- ничего подобного даже не обещают.
Изображение

Kovu
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 924
Зарегистрирован: 29.04.2005 (Пт) 17:38

Сообщение Kovu » 29.07.2006 (Сб) 14:09

Mikle писал(а): Интересно, на чем Kovu получил свои результаты?

Intel Celeron 1,7... :roll:
Если всё делать своими ручками, они скоро отвалятся !

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Сообщение Mikle » 29.07.2006 (Сб) 16:02

tyomitch
Спасибо за разъяснение. По крайней мере по ссылке. Но!
Замена For на While не так проста. В данном контексте получается, что For выполняет на одну итерацию больше при значении Max с дробной частью больше 0.5. Переделал VB вариант в полное соответствие с Дельфи - VB получает еще больший отрыв, теперь 0.81 на K6-2 400 и 0.0585 на Athlon64 3650. Новый вариант закачан по тому же адресу:
http://tuapse-mikle.narod.ru/FrVB6.rar
tyomitch
Кому не лень -- сравните по скорости LZW-декодеры

Оригинальный сишный код гуглом находится с полпинка, мой перевод на VB -- лежит в проектах. Перевод на Паскаль я тоже видел.

Ты просто дай результат - мы поверим. :wink:

vladgri
Начинающий
Начинающий
 
Сообщения: 12
Зарегистрирован: 26.07.2006 (Ср) 14:52

Сообщение vladgri » 02.08.2006 (Ср) 8:46

Mikle писал(а):Как я уже писал, на K6-2 400 VB дает стабильно 0.96 сек., а обе версии Дельфи 1.11 - 1.38, а иногда и больше. На Athlon64 3000>>3650 результат уже стабильный 0.070, но у VB6 все же быстрее - 0.065. Интересно, на чем Kovu получил свои результаты?


Мои результаты на Intel Celeron 2.4
vb 0.106 d 0.094

Mikle писал(а):Не совсем понятна замена цикла For на While в процедуре DrawLine. Я специально написал процедуру, не используя Step, зная, что в Дельфи этого нет. Впрочем, аналогичная замена на VB ничего не меняет.

Переделал на for результат d 0.117 Я идиот! Убейте меня, кто-нибудь!

Mikle писал(а):Еще, насколько понимаю, Дельфи по умолчанию передает параметры в процедуры ByVal, а VB6 ByRef, если так - тут небольшое несоответствие, но, если оно дает некоторый выигрыш Дельфи, его можно посчитать законным, раз уж VB6 не дает мне передавать ByVal параметры пользовательского типа.
Вопрос: а что значит "const" при передаче параметра?


Как раз ByVal выигрыша не даст, для этого и "const", чтобы передать по ссылке. (Можно было "var" (аналог ByRef))
P.S. К вопросам о тормозах в Delphi. Разобрался.
С циклом while результат d 0.089 с for 0.095

Протестировал
http://tuapse-mikle.narod.ru/FrVB6.rar
резултат 0.096

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Сообщение Mikle » 02.08.2006 (Ср) 9:02

vladgri
Как раз ByVal выигрыша не даст

Не раз проверял, что при использовании стандартных типов в VB6 использование ByVal дает небольшой выигрыш.
Я нашел Celeron 1000 и протестировал - у Дельфи получился небольшой выигрыш, это уже тенденция, видимо Celeron - это супер процессор для дельфистов. :lol:

Денис Победря
Мегобойанист
Мегобойанист
 
Сообщения: 1037
Зарегистрирован: 03.01.2005 (Пн) 21:29
Откуда: Из Москвы

Сообщение Денис Победря » 02.08.2006 (Ср) 10:11

smalltalk
[Место cдаётся]

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 02.08.2006 (Ср) 10:23

Денис, что за флуд? :evil:
Изображение

Денис Победря
Мегобойанист
Мегобойанист
 
Сообщения: 1037
Зарегистрирован: 03.01.2005 (Пн) 21:29
Откуда: Из Москвы

Сообщение Денис Победря » 02.08.2006 (Ср) 13:15

При усложнении структуры программы smalltalk выигрывает в скорости даже у Си, а синтаксис приближён к литературному английскому.
[Место cдаётся]

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 02.08.2006 (Ср) 15:03

У языка нет скорости. Скорость может быть у компилятора.
Изображение

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 02.08.2006 (Ср) 15:11

Скорость компилятора вообще то по моему мало кого волнует.

А вот скорость генерируемого им кода....

DirectXManiac
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1543
Зарегистрирован: 03.11.2005 (Чт) 13:32
Откуда: из DirectX SDK

Сообщение DirectXManiac » 02.08.2006 (Ср) 15:58

А как быть с функциями типа FTODW?
#define ROFL 0xDDDD

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 02.08.2006 (Ср) 16:01

RayShade писал(а):Скорость компилятора вообще то по моему мало кого волнует.
А вот скорость генерируемого им кода....

В любом случае, от языка скорость никак не зависит.
А вот от компилятора зависит.
Изображение

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Сообщение Mikle » 02.08.2006 (Ср) 19:26

DirectXManiac
Мне как-то GSerg посоветовал делать FtoDW передекларацией ф-ции VarPtr. Получилось неплохо - вдвое быстрее, чем с помощью CopyMemory и в несколько десятков раз быстрее, чем тот вариант, который нам предложили в SDK, через D3DXBuffer. Но сейчас я сделал эту ф-цию на основе перенаправления адреса массива по статье того же GSerg - ускорение еще более, чем в три раза.
tyomitch
RayShade
Это уже тафтология пошла :roll: , все же понимают, о какой скорости речь - о скорости скомпилированного кода.

DirectXManiac
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1543
Зарегистрирован: 03.11.2005 (Чт) 13:32
Откуда: из DirectX SDK

Сообщение DirectXManiac » 02.08.2006 (Ср) 20:08

Mikle
Можно где-нибудь поподробнее?
#define ROFL 0xDDDD

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 02.08.2006 (Ср) 20:08

2Mikile: скорость скомпилированного кода никак не зависит от языка

2DirectXManiac: http://vbstreets.ru/VB/Articles/65977.aspx
Изображение

MeMBus
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 450
Зарегистрирован: 23.02.2005 (Ср) 7:03
Откуда: Из леса...

Сообщение MeMBus » 03.08.2006 (Чт) 3:29

tyomitch писал(а):скорость скомпилированного кода

Mikile Имел в виду скорость скомпилированного кода компилятором VB/Delphi
Бороться и искать, найти и перепрятать!

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 03.08.2006 (Чт) 6:30

MeMBus, а при чём здесь они? Денис ни с того ни с сего вдруг начал сравнивать "скорость" Смолтока и Сей.
Изображение

MeMBus
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 450
Зарегистрирован: 23.02.2005 (Ср) 7:03
Откуда: Из леса...

Сообщение MeMBus » 03.08.2006 (Чт) 8:09

tyomitch писал(а):сравнивать "скорость" Смолтока и Сей.

Скорость написания :)
Бороться и искать, найти и перепрятать!

Денис Победря
Мегобойанист
Мегобойанист
 
Сообщения: 1037
Зарегистрирован: 03.01.2005 (Пн) 21:29
Откуда: Из Москвы

Сообщение Денис Победря » 03.08.2006 (Чт) 9:25

Скажем так: Скорость большинства исполнителей Смолтолка больше, чем у большинства компиляторов Си
[Место cдаётся]

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 03.08.2006 (Чт) 9:39

А теперь необходимо привести ссылки на источники, и расшифровать термин "большинство" более конкретно. Иначе это пустой трёп.
Изображение

vladgri
Начинающий
Начинающий
 
Сообщения: 12
Зарегистрирован: 26.07.2006 (Ср) 14:52

Сообщение vladgri » 03.08.2006 (Чт) 13:07

Обновленный тест на Delphi (с for и while)
http://vlad-gri.pochta.ru/frd_1.rar
Тест на ассемблере (fasm)
http://vlad-gri.pochta.ru/frFasm.rar

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Сообщение Mikle » 03.08.2006 (Чт) 16:01

vladgri времени даром не теряет! Еще бы на сях кто-нибудь сделал.
tyomitch
скорость скомпилированного кода никак не зависит от языка

Не совсем так, выбор языка нас принуждает выбирать соответствующий компилятор, а от компилятора скорость скомпиленного кода зависит. Исходник дельфи бейсиком не скомпилишь :)
DirectXManiac
Тут три способа, через передекларацию VarPtr, через Lset (он на некоторых машинах быстрее первого, на некоторых медленнее) и на массиве - самый быстрый:

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 03.08.2006 (Чт) 16:16

Mikle писал(а):
скорость скомпилированного кода никак не зависит от языка

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

Для каких-нибудь Сей стотыщ компиляторов, и у каждого своя скорость.
Для бейсика на уровне QB тоже альтернативные компиляторы были.
Изображение

Пред.След.

Вернуться в Holy Wars@VBStreets

Кто сейчас на конференции

Сейчас этот форум просматривают: Majestic-12 [Bot] и гости: 1

    TopList