Деление =)

TFAvocalist

Гость города
#21
Да не может быть на первом месте алгоритм. Если что-то хочешь сделать хорошо, то в первую очередь будешь выбирать язык реализации. Естественно, это если не хочешь чтобы о тебе говорили плохо потом. Не будешь же писать хороший компрессор на бейсике.
А об алгоритме уже думают после. Тем более он для разных языков может оказаться различным.

>ведь даже C и тот часто компилирует не очень эффективно...

Покажи пример. Помню еще по Watcomу, как удивлялся чудесам компиляции. Что уж теперь про VC.NET говорить. С есть С, поскольку сама логика очень близка к ассемблеру.
2 Nic: если хочешь, можешь сделать следующее. Возьми стандартный .3ds файл и напиши на Delphi 3D smooth методом деления треугольников. А результаты сравним.
 

Aliens

Меня знают многие ;-)
#22
MOT
Nic: разница между С и Дельфи, есть тем более в скорости. Есен пень, что на П4 эту разницу мало заметно. Но факт есть факт, компиляция и оптимизация кода на С сделана более эффективно, чем на Дельфи. Дельфи - специфический язык, поэтому сравнивать его с С не стоит
Стоит и еще раз стоит:
писать на Делфи - легче - так как код читается лучше - понятнее.... а разница в скорости ничтожна ...и вообще теряется на последних процессорах....

Что касается специфики: да у Делфи есть специфика из нехороших вот такая: если используется хоть одно окошко класса TForm - то прикомпилирется вся коллекция VCL классов и прога срузу тянет от 400Кб и выше....
Но несмотря на это: микрософт уже половину своих библиотек пишет на Делфе....
 

MOT

Житель окраин
#23
Nic: каждому своё, то что я сказал, это моя сгубо личная точка зрения;)
С есть С а Дельфи... примерно 80% всего программного обеспечения написано именно на нём.
попробуй написать заливку треугольника, как сказал TFAvocalist, на С и на Дельфи, зацени время, выведи хотя бы тысяч 10000 их, разница будет очевидна, я думаю!
 

TFAvocalist

Гость города
#24
>микрософт уже половину своих библиотек пишет на Делфе....
чушь. Microsoft вообще не поддерживает Delphi. Где ты видел фирменные Microsoft-библиотеки под Delphi? Возьми любую их SDK - есть там поддержка Delphi?
 

TFAvocalist

Гость города
#25
2Mot: да причем тут заливка. Скорость лучше проверять на анализе/синтезе. Поэтому я и предложил тот пример.
 

Aliens

Меня знают многие ;-)
#26
TFAvocalist
- насчет того что надо алгоритм оптимизировать - и это дело программиста - так это же просто : прописная истина....
И примеров этому сколько угодно....
Но не надо не таких тривиальных примеров: как "бейсик - против ассемблера".... Ни один уважающий себя программист таких задач как вы предлагаете не будет решать на бейсике...

А вот насчет вашего предложения Delphi - против С - то с вами легко можно поспорить. Но....дружище: - вы предлагаете заведомо ложный путь :
... на Delphi 3D smooth методом деления треугольников [/qoute]
Уважаемый - а при чем тут Делфи?
Если я возьму и напишу все через OpenGL из под той же Делфы (и импорт 3DS там есть ) - то скорость будет выше чем у вас через DirectX - даже из под C !!!
..............................
Если хочется сравнить именно языки - то давайте не будем "лезть в дебри" и использовать чужой код. А напишем одну и ту же прогу на разных языках - И не такую "выпуклую" как вы предлагаете.... ведь 3D функции вы не сами пишите... они из DLL системных импортируются.... или не системных а разработчиков OpenGL .... но не вы их пишите....и на каком языке они писаны - ничего не доказывает...может прямо-таки и на ассемблере - ну и что... это лишь предпочтения их авторов. Да и тот же Delphi 3D smooth - совсем не уверен что реализация на DElphi сделана так же как на C....может просто для Делфи люжи "не старались" - и это: опять таки их предпочтения....
............
Cравнивать конкретно языки у нас не получиться - потому что некоторая часть кода останется под вопросом (то ли язык плохой, то ли его писал слишком торопливый программист....и не очень продумал)

Мы можем сравнить лишь всё вместе:
т.е. Вашу работу+работу разработчиклв C ,
и например :
мою работу+Borland....

=========================================
Вот типичная задача, без всякой специфики 3D ...всякого медиа....и всякого железа...

Задача:

Задан текстовый файл в кодировке ANSI 1251 содержащий русско/английский текст, выдать полную статистику по всем словам в алфавитном порядке указав частоту их появления.

Замечания
1. ОБЩИЕ
1.1 знаки припинания , цифры и прочие символы - пропустить (или заменить на пробелы)
1.2 - разделители слов стандартные: пробел , табуляция, перевод строки; или несколко из них подряд
1.3 - слова учитывать не менее чем длиной 3 символа...

2. ФАЙЛЫ
2.1 - Результат вывести в другой текстовй файл - в кодировке ANSI 1251
2.2 - можете предполагать что исходный файл для тестирования будет не менее 1 Мб длиной....
2.3 - имя и путь исходного файла должно передаваться как 1й аргумент коммандной строки
2.4 - имя конечного файла-результат как 2 й аргумент

3. ВРЕМЯ
3.1 - время исполнения программы выдается стандартной функцией WINAPI: MessageBox т.е. в графическом окошке.
3.2 Время засекается от запуска программы :
для С: - в функции main - должна быть первая же строка с запоминанием текущего времени через GetTickCount
для Delphi: первая строка в файле проекта (DPR) сразу после begin
3.3 конец отсчета времени сразу после закрытия конечного файла - файл должен быть закрыт программой, а не ОС при завершении процесса...
3.4 время выдается в миллисекундах... никаких округлений и задержек типа while....do и.т.п. вот так примерно:

{закрытие файла}
Time = GetTickCount() - LastTime
{далее оператор преобразования в строку и вывод через MessageBox}

4. ЯЗЫК
4.1. Ассемблерными вставками в вашей программе - пользоваться запрещено, используйте один язык - без своих или чужих DLL или OBJ
4.2. Алгоритм выбирайте произвольный - в этом и состоит выбор программиста
4.3. Исходные коды и алгоритмы будем рассматривать позже...вы будете вправе их скрыть, но тогда ваш результат будет под вопросом "?"

5. ТЕСТИРОВАНИЕ
там посмотрим : ясно только что придется это делать на одной машине.... одной ОС и вероятно в одно и то же время (одну за одной)...

.

===========================
Если условия не точны - так уточним давайте сначала.
А если все ясно:

Ну господа !?
Кто желает поучавствовать и кто какой язык выбирает?
 

MOT

Житель окраин
#28
TFAvocalist: Дим, согласен, ну что может быть проще?! поэтому я предложил именно треугольники!
 

MOT

Житель окраин
#29
Nic: не вижу смысла писать, заведомо зная, что тебе с этого ничего не будет, пускай я покажусь мелочным.

Я остановлюсь, спорить не имеет смысла, как я уже писал в предущих постах - КАЖДОМУ СВОЁ!
 

TFAvocalist

Гость города
#30
> 3D smooth
тяжело общаться с человеком, который тебя не понимает. Во-первых, хоть DXG, хоть OpenGL - что оптимизация опускается?
Во-вторых, 3D smooth - это берем скажем куб. Начинаем его smoothить и есно на какой-то итерации получим сферу. Об этом я. Такого в графических библиотеках нет. Есно предлагаю написать. Т.е. никаких библиотек, а два массива в которых точки и соединения. Используются только операторы. Главная цель программы будет анализ имеющихся данных и синтез новых вершин и граней - поскольку процесс будет давольно времяемким, то на такой программе действительно можно проверить скорость.
 

Aliens

Меня знают многие ;-)
#31
Использует ли микрософт Делфи?

Проверьте:
примерно: 25 DLL в winows XP SP1 написано на delhpi что обнаруживается поиском в них строк "borland" или "delphi"....
а еще есть EXE и OCX

Почему примерно?
1) бывают сжатые DLL в которых уже искать бесполезно
2) не уверен все ли из них мирософта или затерялись и других производителей....


Уверен, что в других продуктах их еще больше...например можно взять office 2003....

Конечно: это не половина.....но все же....микрософт использует delphi
а что касается SDK - да согласен - тут политика одназначна: микрософт - пытается подерживать только микрософт.....за что и платит штрафы
 

Aliens

Меня знают многие ;-)
#32
TFAVocalist

Ну скажем так:
я вас не понял - думал что DELPHI 3D Smooth это некая библиотека....которая у вас есть и для C ....

С другой стороны:
а почему 3D ? та задача что я написал не требует от кого-то специфических знаний в области 3D ...мультитрекового звука....или еще чего - то..... только язык - т.е. то о чем тут и говорилось в теме : сравнить языки.


И что-то вы господа.....
то ли ленивы....то ли еще чего....
конечно, никто платить вам за это не будет....но ведь не так уж и сложно написать эту штуку....что я предложил....
самим же вроде интересно было !?
 

little_slut

Гость города
#33
Nic дело говорит ;)

Тест который он предлагает очень даже адекватно позволит оценит ь эффективность языков (скорее компиляторов).
К тому же подобные задания (с некоторыми вариациями) очень часто дают в качестве тестового задания при приеме на работу... так что польза будет ;)
 

TFAvocalist

Гость города
#34
Дело в том, что моя задача не требует никаких знаний 3D. 3D здесь для того чтобы увеличить количество логических проверок. Можно и 4D.
Насчет того, чтобы что-то делать/программировать, то желания нет - это честное слово, ну не до этого. А та процедура, о которой говорю у меня есть написанная уже года 1.5-2 назад. Поэтому я ее и предлагаю.
 

Aliens

Меня знают многие ;-)
#35
TFAvocalist
Ваша задача слишком сложна чтобы ее для этого использовать....
Но для начала вы можете попытаться объяснить людям:
- что вы имеете ввиду под этим ваши 3D Smooth

Ведь хотя надо знать лишь систему координат и уметь их преобразовывать, но:
а какой математикой вы предлагаете пользоваться - в смысле математическими методами....
- как вычислять "средние точки"
1) линейно, би линейно , 2) кубичски , би кубичски
3) сплайнами, 4) другими итеративными методами....

и методов разных много и для каждого конкретного варианта - найдется слишком много ньюансов.... благодаря которым можно выиграть или проиграть в скорости....а визуально: отличия в коде будут небольшие...
-----------------------
вот хотя -бы поэтому я и считаю что она не подходит для тестирования языков....

если уж так хотите - пришлите мне описание задачи+ваш исходник - я переведу на Делфи ...... результат будет тот же ...скорость посмотрим, а метод решения - не гарантирую что сохраню ваш....
-------------------
да и вот:
в любом случае задачу надо четко излагать....я думаю что изложил свою выше гораздо четче - чем вы свою в этой теме... а браться за то чего не понимаешь....это сами знаете...