OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Понедельник, 16 Июнь, 2025 21:55

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 193 ]  На страницу Пред.  1 ... 6, 7, 8, 9, 10  След.
Автор Сообщение
СообщениеДобавлено: Воскресенье, 16 Март, 2008 18:02 

Зарегистрирован: Среда, 04 Июль, 2007 16:43
Сообщения: 247
Alexey Veselovsky писал(а):
Trurl писал(а):
Борис Рюмшин писал(а):
Увы, это не то, что называется front-end в данном случае. (и давайте не будем на эту тему спорить).

Можно и не спорить. Но все равно не понятно: почему не front-end, что такое "правильный front-end" и чем он лучше.


Извольте: http://shootout.alioth.debian.org/gp4/benchmark.php?test=all&lang=gpp&lang2=ooc
Оберон во всех тестах (кроме одного -- в одном тесте у них отношение 1,1 в пользу оберона) медленее С++. В некоторых тестах разница больше чем в 20 раз. Несмотря на оптимизации (oo2c является оптимизирующим транслятором + нижележащий gnu c compiler тоже умеет оптимизировать).

В теории, оптимизирующий компилятор оберона должен, по всей видимости, генерировать более быстрый код нежели компилятор С и С++. Просто в силу бОльшего контроля типов в обероне.

+ oo2c использует Boehm GC. Который есть далеко не везде где есть gnu compiler collection (aka gcc).


Кстати, по-поводу сравнений с оберонов с C++, никто не пробовал прогнать эти бенчмарки на XDS и BlackBoxе?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 16 Март, 2008 18:06 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
QWERTYProgrammer писал(а):
Кстати, по-поводу сравнений с оберонов с C++, никто не пробовал прогнать эти бенчмарки на XDS и BlackBoxе?


Только надо либо прогонять их на том же компьютере в том же окружении (та же ос), что невозможно.
Либо на своем компе прогонять все бенчмарки и для других языков тоже, что тоже не очень возможно. Например gcc 4.3 под винду вроде бы нету.

Но можно конечно взять MinGW (который g++ 3.4 вроде бы), мелкомягкий компилятор и интеловский, ну и бормановский до кучи.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 16 Март, 2008 18:07 
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Вот не надоедает людям бенчмарками играться...
В .NET превосходная оптимизирующая кодогенерация - но софт тормозит страшно, и совсем по другим причинам - видимо, народ ткает к месту и не к месту "богатейшие средства стандартных библиотек", не имея представления о том, какую эффективность в каких случаях они имеют. История, известная ещё по STL, попадавшей в руки новичков...


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 16 Март, 2008 19:02 

Зарегистрирован: Понедельник, 29 Январь, 2007 19:00
Сообщения: 370
Откуда: Украина, Запорожье
Alexey Veselovsky писал(а):
Например gcc 4.3 под винду вроде бы нету.

Берите (http://www.rsdn.ru/forum/message/2875747.1.aspx) и играйтесь :)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 16 Март, 2008 20:08 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
QWERTYProgrammer писал(а):
Кстати, по-поводу сравнений с оберонов с C++, никто не пробовал прогнать эти бенчмарки на XDS и BlackBoxе?
Как ни крути, соблазн поиграться велик. Пробовал пример binarytrees. Тесты с сайта
Oberon-2 OO2C 11.97
C++ GNU g++ #2 4.43

На ББ несколько раз Timed Execute давало от 6.2 c до 7.8 с.
В ASP собирал пример как указано, но:
- без опции -march=pentium4 -- 7.6 с
- с этой опцией -- 7.15 c.
- но не уверен, что опция правильная для моего процессора (AMD-64 x2, 3800).


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 16 Март, 2008 20:53 

Зарегистрирован: Среда, 04 Июль, 2007 16:43
Сообщения: 247
AVC писал(а):
Еще раз хочу подчеркнуть мысль, что главный шаг -- прояснить область применения будущего компилятора.


По-поводу области применимости: с одной стороны, для применения в интенсивных численных расчетах на Интел платформах идеальным был бы Oberon-2, a hi-performance alternative to C++. Т.е. компилятор должен бы быть все-таки оптимизирующим. В определенной степени эту роль мог бы играть, конечно, XDS. Однако из-за его закрытости, неразвиваемости, отсутствия приемлемого IDE и неподдержки компонентного паскаля реальных перспектив у XDS, по-видимому, быть не может. BlackBox с оптимизирующим компилятором представлял бы несравнимо больший интерес.

С другой стороны, недостаточно оцененными представляются возможности интерфейсов автоматизации BlackBox с MS Office, в частности с Excel. Область применения VBA, в примитивном варианте, или C++ dll, в продвинутом варианте, для численных расчетов с Excel интерфейсом могла бы быть естественным полем оптимизированного BlackBox-а.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 16 Март, 2008 21:22 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
QWERTYProgrammer писал(а):
С другой стороны, недостаточно оцененными представляются возможности интерфейсов автоматизации BlackBox с MS Office, в частности с Excel. Область применения VBA, в примитивном варианте, или C++ dll, в продвинутом варианте, для численных расчетов с Excel интерфейсом могла бы быть естественным полем оптимизированного BlackBox-а.
Для себя я могу оценить средства автоматизации BB с Office несколько сыроватыми. Некоторые вещи по-нормальному чтобы сделать, придётся повозиться. Тем более все конторы щас уходят на бесплатный Опен Офис


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 16 Март, 2008 23:06 
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
QWERTYProgrammer писал(а):
Область применения VBA, в примитивном варианте, или C++ dll, в продвинутом варианте, для численных расчетов с Excel интерфейсом могла бы быть естественным полем оптимизированного BlackBox-а.

Ужос какой... А зачем так? Уж для научных интерфейсов ББ вроде отлично подходит, куда тут Ёкселям?
Или речь просто о написании доп. функций к электронной таблице?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 17 Март, 2008 09:19 

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 10:28
Сообщения: 1437
Alexey Veselovsky писал(а):
Trurl писал(а):
Можно и не спорить. Но все равно не понятно: почему не front-end, что такое "правильный front-end" и чем он лучше.

Извольте: http://shootout.alioth.debian.org/gp4/benchmark.php?test=all&lang=gpp&lang2=ooc
Оберон во всех тестах (кроме одного -- в одном тесте у них отношение 1,1 в пользу оберона) медленее С++.

Таки не могу понять, на какой вопрос овечает этот ответ.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 21 Май, 2008 11:56 

Зарегистрирован: Среда, 04 Июль, 2007 16:43
Сообщения: 247
Евгений Темиргалеев писал(а):
Для себя я могу оценить средства автоматизации BB с Office несколько сыроватыми. Некоторые вещи по-нормальному чтобы сделать, придётся повозиться. Тем более все конторы щас уходят на бесплатный Опен Офис


А в чем именно проявляется эта сыроватость? Если не трудно, пожалуйста немного поподробнее.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 21 Май, 2008 12:25 

Зарегистрирован: Среда, 04 Июль, 2007 16:43
Сообщения: 247
Илья Ермаков писал(а):
QWERTYProgrammer писал(а):
Область применения VBA, в примитивном варианте, или C++ dll, в продвинутом варианте, для численных расчетов с Excel интерфейсом могла бы быть естественным полем оптимизированного BlackBox-а.

Ужос какой... А зачем так? Уж для научных интерфейсов ББ вроде отлично подходит, куда тут Ёкселям?
Или речь просто о написании доп. функций к электронной таблице?


Речь идет, конечно, не о научных вычислениях. В бизнес приложениях интенсивные численные расчеты, естественно, тоже используются. При этом как исходные данные, так и результаты представляются в виде Эксель файлов. Сами вычисления могут выполняться как угодно, например с помощью внешних dll/xll библиотек. Создание составного документа в среде Блэкбокса с экселевскими таблицами и вычислительным ядром представляется задачей идеально предназначеной для ББ. Так как подобные расчеты выполняются в том числе интерактивно много раз в день, вопрос о том будет ли расчет выполнен за 5 мин. или за 15 играет существенную роль. Отсюда вопросы про оптимизацию.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 21 Май, 2008 13:13 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
QWERTYProgrammer писал(а):
А в чем именно проявляется эта сыроватость? Если не трудно, пожалуйста немного поподробнее.
Была такая задача: читаем данные из таблицы с опред. структурой; не гарантируется что получим именно такую таблицу и нужно проверять соответствие.

Мы можем запросить из ячейки данные только определённого типа. Если тип не подходит, получаем трэп - это первая проблема (мне нужно культурно выдать сообщение об ошибке, а не пугать пользователя "вывалившимися потрохами"). Вторая - таблицы (генерятся как отчёт сторонними программами) на входе могут оказаться такие, что тип в ячейке "текстовый", но в нем сидит целое число. При попытке читать целое, опять же получаем потроха.

Делал такой вот костыль:
Код:
MODULE CtlT2;
   
   IMPORT
      SYSTEM, COM, WinApi, WinOle, WinOleAut, Dates, CtlT;

   PROCEDURE AllocSysString (IN s: ARRAY OF CHAR): WinOle.BSTR;
   BEGIN
      RETURN WinOleAut.SysAllocString(s);
   END AllocSysString;
   
   PROCEDURE AllocString (s: WinOle.BSTR): CtlT.Strg;
      VAR i, n: INTEGER; str: CtlT.Strg;
   BEGIN
      IF s # NIL THEN
         n := WinOleAut.SysStringLen(s);
         NEW(str, n + 1); str^ := s$
      ELSE
         NEW(str, 1); str[0] := 0X
      END;
      RETURN str
   END AllocString;
   
   PROCEDURE ToInt* (x: CtlT.Any; OUT y: INTEGER; OUT ok: BOOLEAN);
      VAR   res: COM.RESULT; s: WinOle.BSTR;
   BEGIN
      ok := FALSE;
      IF x # NIL THEN
         WITH x: CtlT.Integer DO
            y := x.val; ok := TRUE
         | x: CtlT.String DO
            s := AllocSysString(x.val^);
            res := WinOleAut.VarI4FromStr(s^, CtlT.lcid, {}, y);
            ok := res >= 0;
            WinOleAut.SysFreeString(s);
         END
      END
   END ToInt;

END CtlT2.


По идее, средства безтрэпового преобразования типов должны быть. Или хотя бы не преобразования, а проверки. Я уже точно не помню, но без выдирания кусков из нутра CtlT у меня сделать не получилось.

Да и в CtlT ошибка была, какая точно не помню, смотрите в патче.


Последний раз редактировалось Евгений Темиргалеев Среда, 21 Май, 2008 13:36, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 21 Май, 2008 13:18 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
Когда начался переход на OpenOffice, я решил, что проще сохранять данные из Calc в текстовый формат csv читать их оттуда. С Excel можно поступить также и жаль что сразу мне эта мысль в голову не пришла... Сколько было потрачено сил на блуждание в офисных интерфесах в поисках нужных свойств и методов :cry:


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 01 Июнь, 2008 14:00 
Аватара пользователя

Зарегистрирован: Суббота, 19 Ноябрь, 2005 15:59
Сообщения: 803
Откуда: Зеленоград
Возвращаясь к теме компилятора для оберонов (О1/О2/КП/О07), из которой я выпал на некоторое время из-за обстоятельств.
Имеет ли смысл учитывать тенденции в "Джеймсе Бонде" (O-07 :) )?
Являются они улучшением или ухудшением языка?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 01 Июнь, 2008 15:06 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 10:37
Сообщения: 875
Откуда: Россия, Владивосток
AVC писал(а):
Возвращаясь к теме компилятора для оберонов (О1/О2/КП/О07), из которой я выпал на некоторое время из-за обстоятельств.
Имеет ли смысл учитывать тенденции в "Джеймсе Бонде" (O-07 :) )?
Являются они улучшением или ухудшением языка?


Ну WHILE взять можно, а вот указатели на массивы резать - ни в коем случае. А что, компилятор таки кто-то делает?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 06 Июнь, 2008 12:13 

Зарегистрирован: Вторник, 29 Ноябрь, 2005 21:41
Сообщения: 1030
Иван Горячев писал(а):
А что, компилятор таки кто-то делает?

Представляется, что такая работа идет, но она не в числе приоритетных на сегодня.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 07 Июнь, 2008 08:08 

Зарегистрирован: Вторник, 29 Ноябрь, 2005 21:41
Сообщения: 1030
Для себя в качестве привлекательной поставил задачу реализации Just-In-Time компиляции в Блекбоксе. Просьба к модератору разрешить Евгению высказаться здесь по этому поводу.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 14 Июнь, 2008 15:20 

Зарегистрирован: Среда, 04 Июль, 2007 16:43
Сообщения: 247
Вопрос, навеянный сообщением в другой ветке:

Иван Кузьмицкий писал(а):
Мало того, что дискуссия свернула с линукса, да ещё и создаётся ложное впечатление, что бешеные фанаты Оберона в истерических приступах шовинизма буквально всё "сляпывают" на коленке.

Уточняю - парсер XML написан не с нуля, а портирован на платформу BlackBox из платформы WinAOS.


Поскольку существует проект High-Performance Computing for Oberon, с целью использовать SIMD-инструкции, MultiCores и кластеры в Active Oberon на WinAOS, то наверное там используется более современный кодогенератор, чем в Блэкбоксе. Может быть было бы возможно портировать его на платформу Блэкбокс??


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 14 Июнь, 2008 15:28 
Администратор

Зарегистрирован: Вторник, 15 Ноябрь, 2005 01:14
Сообщения: 4722
Откуда: Россия, Орёл
QWERTYProgrammer писал(а):
Может быть было бы возможно портировать его на платформу Блэкбокс??

Ну вот если бы кто занялся изучением сего вопроса, было бы очень неплохо.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 14 Июнь, 2008 15:38 

Зарегистрирован: Среда, 04 Июль, 2007 16:43
Сообщения: 247
AVC? :wink:


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 193 ]  На страницу Пред.  1 ... 6, 7, 8, 9, 10  След.

Часовой пояс: UTC + 3 часа


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2025, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB