Форум: "Прочее";
Текущий архив: 2009.02.08;
Скачать: [xml.tar.bz2];
ВнизDELPHi На ubuntu Найти похожие ветки
← →
Anatoly Podgoretsky © (2008-12-11 13:54) [40]> pasha_golub (11.12.2008 13:31:39) [39]
И появится Эльфа
← →
Городской Шаман (2008-12-11 14:17) [41]
> pasha_golub © (11.12.08 13:31) [39]
>
>
> > Вывод - Delphi современный FoxPro, где можно быстро в
> одиночку
> > нашкрябать еще один учётный проект для малого бизнеса.
>
>
> И когда ж сдохнет оно (она, он) это Делфя.
Тогда когда и Cobol...
← →
Кто б сомневался © (2008-12-11 15:29) [42]
> И когда ж сдохнет оно (она, он) это Делфя.
На данный момент существует 2 известных нативных языка С++ и Delphi.
С++ уже потихоньку отмирает, поэтому давайте лучше разрешим Delphi жить, все таки это хороший конкурент.
← →
pasha_golub © (2008-12-11 15:44) [43]Я думал все поймут, что я издеваюсь. Ан нет.
PS Java sucks!
← →
tesseract © (2008-12-11 15:45) [44]
> На данный момент существует 2 известных нативных языка С++
> и Delphi.
А C / Objective-C, Python (он тоже компилируеться). Уже не известные языки ? С++ умирает с момента выхода в свет, пока попка живой.
← →
Городской Шаман (2008-12-11 15:55) [45]
> Кто б сомневался © (11.12.08 15:29) [42]
>
>
> > И когда ж сдохнет оно (она, он) это Делфя.
>
>
> На данный момент существует 2 известных нативных языка С++
> и Delphi.
> С++ уже потихоньку отмирает, поэтому давайте лучше разрешим
> Delphi жить, все таки это хороший конкурент.
Вот когда Embacerdo выпустит Delphi для микроконтроллеров, то я задумаюсь над вашими словами.
← →
Городской Шаман (2008-12-11 15:59) [46]А по поводу языков с возможностью компиляции в нативный код - вот:
The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, Java, and Ada
http://gcc.gnu.org/
Это только один из компиляторов, причём открытый.
← →
iZEN © (2008-12-11 17:58) [47]
> Vampire Hunter D. (11.12.08 08:13) [28]
>
> iZEN (11.12.08 03:35) [24]
>
> Я думаю, вы должны знать про CDT.
Eclipse-CDT? Не поверишь оно на Java написано с элементами JNI-вызовов к нативным компонентам. :O
← →
iZEN © (2008-12-11 18:09) [48]
> Anatoly Podgoretsky © (11.12.08 09:37) [33]
>
> > iZEN (11.12.2008 3:32:23) [23]
>
> Стой а не ты ли это утверждал про 1.5 и теперь сливаешь?
>
Что утверждал насчёт 1.5?
> DVM © (11.12.08 10:30) [34]
> Кстати, приведенный тобой пример в [12] уже свидетельствует
> не в пользу Java.
Давай исходники — я напишу тест для Java, когда время свободное будет, протестируем.
> DVM © (11.12.08 10:30) [34]
> Кстати, приведенный тобой пример в [12] уже свидетельствует
> не в пользу Java.
Тесты показали, что основные свойства динамически сгенерированного кода JIT находятся на том же уровне качества и быстродействия, что и нативный код, полученный после статической компиляции (правда, в Delphi плохой оптимизатор для работы со строковыми данными, а если принять во внимание то, что она работала с однобитной кодировкой Cp1251, а Java с 16-битной UCS2, то разница в скорости конкатенации юникодных строк будет ещё более ужасающей).
> DVM © (11.12.08 10:40) [35]
>
>
> > iZEN (11.12.08 03:32) [23]
>
> Простая вещь:
>
> 1) Загрузка JPEG 1600*1200 неважно откуда (сеть/файл/ит.
> д.).
> 2) Декодирование.
> 3) Поворот на 90 градусов
> 4) Уменьшение до 800*600
> 5) Вывод битмапа на поверхность окна
>
> 2-5 повторить 1000 раз.
http://cerncourier.com/cws/article/cnl/34848
подойдёт? :)
← →
iZEN © (2008-12-11 18:14) [49]http://java.sun.com/javaone/sf/2008/articles/gosling_toystory.jsp
← →
Городской Шаман (2008-12-11 18:46) [50]
> iZEN © (11.12.08 18:14) [49]
>
> http://java.sun.com/javaone/sf/2008/articles/gosling_toystory.jsp
А слабо Сталкер на Java?
← →
Anatoly Podgoretsky © (2008-12-11 19:27) [51]
> Что утверждал насчёт 1.5?
Вот это
> Современные версии Java 6.0 и 6u11 (1.6.x) гораздо быстрее,
> чем Java 5.0 (1.5). Даже тестировать неудобно — по ощущениям
> (глаза, руки) заметно.
Я помню как ты хвалил 1.5, а теперь оказывается даже неудобно.
← →
DVM © (2008-12-11 21:39) [52]
> iZEN © (11.12.08 18:09) [48]
> подойдёт? :)
Не. Я конечно понимаю, что на Java написана куча отличных программ, но хотелось бы просто провести некий синтетический тест типа Delphi vs Java.
Я предложил сравнить графику, т.к. в преимуществе нативного языка в этой области я не сомневаюсь (особенно учитывая, что в ход можно пустить DirectX, Intel IPP и даже CUDA), но можно протестировать и по полной в разных областях. Мне было бы интересно, т.к. с делфи я вобщем то знаком неплохо, а вот Java только только коснулся.
← →
iZEN © (2008-12-11 23:05) [53]
> Anatoly Podgoretsky © (11.12.08 19:27) [51]
> Я помню как ты хвалил 1.5, а теперь оказывается даже неудобно.
Не приписывайте мно того, чего я не говорил!
Уж чего-чего, а Java 5.0 я точно не хвалил. Мне не понравились новые обобщённые типы и введение класса StringBuilder наравне со старым StringBuffer, вместо того, чтобы всю оптимизацию сделать на уровне системного класса String. По-хорошему, класс String надо сделать мутабельным, обеспечить его дескриптором безопасности (чтобы можно было влиять на его мутабельность), а класс StringBuffer объявить "deprecated", и не заниматься ерундой. Поэтому долгое время (до выхода Java 6.0) занимался исключительно Java2 1.4.2.
Java 6.0 ввела такое понятие, как инлайнинг и задействование стэка процессора вместо кучи для инстанцирования короткоживущих объектов. Это в разы ускоряет производительность и экономит память. Кроме того, появились разные сборщики мусора с отличными стратегиями. Определённо, что Java 6.0 (1.6) — действительно инновационная технология, в отличие от "экспериментальной" Java 5.0 (1.5), которая делалась скорее для обкатки новых идей, чем для продакшена.
← →
Sapersky (2008-12-12 16:38) [54]хотелось бы просто провести некий синтетический тест типа Delphi vs Java.
Я предложил сравнить графику, т.к. в преимуществе нативного языка в этой области я не сомневаюсь
В своё время наткнулся на программу обработки изображений на Java:
http://people.cs.vt.edu/~lithomas/robustestimation/imageprocess.java
Фильтр Гаусса (GaussianSmooth) на Дельфи у меня есть. Если вы сможете запустить Java-код (я вообще не в курсе как это делается) и засечь время - можно сравнить.
← →
iZEN © (2008-12-12 20:19) [55]
> Sapersky (12.12.08 16:38) [54]
> Фильтр Гаусса (GaussianSmooth) на Дельфи у меня есть. Если
> вы сможете запустить Java-код (я вообще не в курсе как это
> делается) и засечь время - можно сравнить.
Запустить что, простите? Это библиотечный код. Используется в каком-то приложении непонятно каким образом.
← →
DVM © (2008-12-12 21:01) [56]
> iZEN © (12.12.08 20:19) [55]
> Запустить что, простите?
Взять этот класс и использовать его для гауссовского размытия изображения (тестовое приложение создать). Правда не совсем понятно, что передавать в float [][] inImage, массив бит, но что за массив, какова цветность изображения и т.д.
> Sapersky (12.12.08 16:38) [54]
Но чтобы сравнить, надо иметь идентичный код (тот же алгоритм так же реализованный) но на Delphi. Он у вас есть? Т.е. он портирован из Java кода или другая реализация?
← →
Sapersky (2008-12-12 21:28) [57]Правда не совсем понятно, что передавать в float [][] inImage, массив бит, но что за массив, какова цветность изображения и т.д.
Там написано - gray values, т.е. 8 бит.
Но чтобы сравнить, надо иметь идентичный код (тот же алгоритм так же реализованный) но на Delphi. Он у вас есть? Т.е. он портирован из Java кода или другая реализация?
У меня совсем другая.
По-хорошему - да, надо чтобы был идентичный... а то я заранее могу сказать, что этот медленнее моего, потому как используется float вместо byte.
Ну смотрите, что проще - переводить Java-код на Delphi или наоборот. Если надо, подготовлю упрощённую версию своей функции (в текущем виде там много лишнего). Или взять что-нибудь из FastLIB, то же масштабирование картинки (Bilinear, FastResize), или какой-нибудь спецэффект.
← →
iZEN (2008-12-13 12:08) [58]http://www.stefankrause.net/wp/?p=9
← →
iZEN (2008-12-13 12:14) [59]Интересный момент:
http://balancer.ru/tech/forum/2008/02/t60021--CHto,gospoda-surovye-S-plus-plus-program.html
← →
iZEN (2008-12-13 15:34) [60]Вот ещё удивительный ресурс:
http://processing.org/
← →
Игорь Шевченко © (2008-12-13 15:44) [61]Я одного не понимаю - чем вы тут меряетесь ?
← →
boa_kaa © (2008-12-13 19:14) [62]
> Игорь Шевченко © (13.12.08 15:44) [61]
>
> Я одного не понимаю - чем вы тут меряетесь ?
кто больше произведет
← →
koha! (2008-12-13 19:47) [63]C# - оказалася быстрее делфи ...
- вот сравнивал вызоф 1000000 функции StringReplace
результаты:
C# - ~700 ms
D2006 = ~2700 - 2800 ms
моя самопальня функция "StrReplace" в замен В2006 = ~2200 - 2400 msprivate void button1_Click(object sender, System.EventArgs e)
{
int bgnTime = System.Environment.TickCount;
string Appdata = System.Environment.GetEnvironmentVariable("Appdata");
string dubleAppdata = "";
for (int i = 0; i < 1000000; i++)
{
dubleAppdata = Appdata.Replace("\\","\\\\");
}
int FullTime = System.Environment.TickCount-bgnTime;
textBox1.Text = dubleAppdata + " "+FullTime.ToString();
}
procedure TForm1.Button3Click(Sender: TObject);
var
BgnTime,LastTime,TestTime: Integer;
i: integer;
S, DubleAppData: String;
begin
BgnTime:=GetTickCount;
S:=GetEnvironmentVariable("AppData");
for i:=1 to 1000000 do begin
StringReplace(S,"\","\\",[rfReplaceAll]);
end;
LastTime := GetTickCount;
TestTime := LastTime-BgnTime;
//if TestTime > 1000 then TestTime := TestTime div 1000;
Memo1.Lines.Add("End test StringReplace: time = "+IntToStr(TestTime)+ " mc");
end;
function StrReplace(const S, OldPattern, NewPattern: string; Flags: TReplaceFlags): string;
var
SLen, NPLen,Index, Count : Integer;
temp, SearchStr, Patt : String;
begin
Count := 1;
Index := 1;
SLen := Length(S);
NPLen := Length(OldPattern);
if (S = "") or (OldPattern = "") then Exit;
Setlength(temp,NPLen);
if rfIgnoreCase in Flags then
begin
SearchStr := AnsiUpperCase(S);
Patt := AnsiUpperCase(OldPattern);
end else
begin
SearchStr := S;
Patt := OldPattern;
end;
While true do begin
if (Pred(Count)+NPLen) > SLen then begin
Result:=Result+Copy(SearchStr,Index,(Count+NPLen)-Index);
Break;
end;
Move(SearchStr[Count],temp[1],NPLen);
if temp = Patt then begin
Result:=Result+copy(SearchStr,Index,count-Index)+NewPattern;
inc(count,NPLen);
Index:=count;
if Not (rfReplaceAll in Flags) then begin
Result:=Result+Copy(SearchStr,Index,(Count+NPLen)-Index);
Break;
end;
continue;
end;
inc(count);
end;
end;
← →
koha! (2008-12-13 20:04) [64]Может быть Делфа и лучше всех, но знают об этом только вы - "мастера", а остальные, например, работодатели просто посылают в Ж..пу дляних дешевле купить VS 2005 со всеми пребамбасиками чем не понятно за что блатить VC2005$ < BDS$
VC 2005 в комблекте предлагает заменшие гроши еще и Vista для тестировани и Windows server для тестирования и MSSQL сервер для тестирования и все это предачу гдето ~ за 2500$ А что предлагает Codegear за теже гроши? скромно D7? и все?
← →
Узурап (2008-12-13 20:14) [65]
> Я одного не понимаю - чем вы тут меряетесь ?
ИЗЕН сейчас еще и сказки о фрибсд достанет.
← →
palva © (2008-12-13 20:26) [66]Если вернуться к сабжу, то ответ на вопрос очевиден. Производителем Delphi является Codegear, а эта контора Delphi под Ubuntu не производит. Никакая другая фирма производить продукт под той же торговой маркой не имеет права. Следовательно Delphi под Ubuntu нет.
← →
Узурап (2008-12-13 20:33) [67]
> Следовательно Delphi под Ubuntu нет.
оно и не надо. убунту тоже не надо
под gnu\linux есть fpc и lazarus (хотя оно не юзабельно)
если хватит денег, или, если открытый проект - QTCreator+Qt
также всякие скриптовые языки и ява
← →
Городской Шаман (2008-12-13 21:25) [68]
> Узурап (13.12.08 20:33) [67]
Если ну нужно угламереного интерфейса то достаточно C++ и wxWidgets + визуальный редактор, там их несколько - выберите по вкусу.
А С++ с "магией" не хуже delphi по удобству разработки.
← →
@!!ex © (2008-12-13 22:42) [69]> под gnu\linux есть fpc и lazarus (хотя оно не юзабельно)
Всегда интересовало.. что такое "юзабельно"?
← →
Городской Шаман (2008-12-13 22:46) [70]
> @!!ex © (13.12.08 22:42) [69]
>
> > под gnu\linux есть fpc и lazarus (хотя оно не юзабельно)
>
> Всегда интересовало.. что такое "юзабельно"?
За дебагер в Lazarus нужно заставлять этих программистов писать на асме ПО для бухгалтерии. Вот это неюзабельно. Кроме того проще притащить вместе с программой jdk чем тащить этого монстра.
Хотите кросплатформенности - берите java или c++.
← →
Узурап (2008-12-14 14:48) [71]
> Всегда интересовало.. что такое "юзабельно"?
достаточно увидеть лазарус, чтобы понять.
быстро сделать что-то простое оно пойдет, для проектов уровня выше "хелло мир" - нет.
← →
@!!ex © (2008-12-14 16:02) [72]> [71] Узурап (14.12.08 14:48)
Да ну...
дебагер там и правда отстойный... Благо можно другие дебагеры использовать.
А все остальное - вполне рабочее.
← →
Узурап (2008-12-14 20:02) [73]Я не говорил, что не рабочее.
Но после eclipse и qtcreator`a оно уныло очень.
← →
wicked © (2008-12-15 00:45) [74]
> Кроме того проще притащить вместе с программой jdk чем тащить
> этого монстра.
ага, тащи
то-то же, таскунов развелось :(
← →
atruhin © (2008-12-15 12:14) [75]
> - вот сравнивал вызоф 1000000 функции StringReplace
> результаты:
> C# - ~700 ms
> D2006 = ~2700 - 2800 ms
> моя самопальня функция "StrReplace" в замен В2006 = ~2200
> - 2400 ms
А вот я сравнил:
стандартная StringReplace - 1890
моя реализация StringReplace - 187
Так что дело не на чем писать, а как.
← →
Cobalt © (2008-12-15 14:05) [76]
> atruhin © (15.12.08 12:14) [75]
> А вот я сравнил:
> стандартная StringReplace - 1890
> моя реализация StringReplace - 187
А можно на эту функцию взглянуть?
← →
@!!ex © (2008-12-15 14:08) [77]> [76] Cobalt © (15.12.08 14:05)
да там небось чистый асемблер. :)
так что дело не на чем писать.. а на чем писать на ассемблере. :)
← →
Anatoly Podgoretsky © (2008-12-15 16:59) [78]> @!!ex (15.12.2008 14:08:17) [77]
Не мешало бы взглянуть на исходные данные и методику теста.
← →
Sapersky (2008-12-15 17:08) [79]так что дело не на чем писать.. а на чем писать на ассемблере
По моему опыту, дельфийский компилятор не так плох, как о нём принято думать... хотя, если работаешь в основном с floating-point кодом, у тебя вполне может быть противоположный опыт.
По StringReplace:
http://www.fastcode.dk/fastcodeproject/fastcodeproject/10.htm
Кстати, разница между asm (Blended, 14.1) и pas (13.8) - всего 2%.
В BDS2006 и далее фасткодовские функции (все или нет - не в курсе) используются в качестве стандартных.
← →
Sha © (2008-12-15 17:16) [80]> Cobalt © (15.12.08 14:05) [76]
http://new.fastcodeproject.org/fastcode-challenges/challenges/37-challenges/45-ansi-stringreplace.html
разница 9-15 раз в зависимости от процессора
Страницы: 1 2 3 вся ветка
Форум: "Прочее";
Текущий архив: 2009.02.08;
Скачать: [xml.tar.bz2];
Память: 0.62 MB
Время: 0.008 c