16
Общий раздел / Re: Расширенный тест на производительность.
« : Декабрь 15, 2016, 08:46:36 pm »
Да, сейчас сервак перезагрузится, и я запущу полный прогон тестов.
Онлайн компилятор Oberon-07/11
Путеводитель по Оберон-проектам.
Логи jabber-конференции.
Онлайн исходники BlackBox: тут:WeBB и на github
Исходники Project Oberon V4 на github.
Сборник решений задач книги "Современное программирование с нуля!" тут. А обсуждение здесь.
В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.
Ага, промахнулся.Решение на модуле-2 (собираемое через gnu modula-2 compiler) работает похоже что корректно. Поэтому запустил прогон. И да, похоже comdiv выкатил новое решение которое снова самое быстрое. :-)Чота ты это не в той теме написал ))
Через 3-4 часа будут результаты.
А почему mege_rs не попал в тесты?Потому что я криворукий рукожоп. Скоро будут результаты с merge_rs.
Эта маска - и есть интерфейс как концепция.Какие таблицы виртуальных функций? Тут же вообще нет нигде речи ни про наследование ни, следовательно, про ООП.А если объектег не может то, что маска хочет? Что будет?Будет то же самое, что и при приведении объекта к типу, которому он не соответствует. Поэтому, в пару к операции приведения нужна операция проверки типа.
Но в компилируемых языках (а точнее, в трансляторах, которые сопоставляют подпрограммы и их вызовы на этапе компиляции) такой способ работать не будет: в объектах разных классов порядок методов может различаться, и разное положение методов в разных виртуальных таблицах не позволит прозрачно пользоваться простым приведением.
# ./tiso
4100
# ls -l input
-rw-r--r-- 1 root root 4294967296 Dec 11 14:29 input
Значит, дело в системе. Ну да, у меня же и си не открывает. Но почему тогда моя прога на xds валилась? Потому, что 32-битный?Либо так, либо у xds те же либы иначе реализованы. Кроме того, мы же сейчас попробовали ulm и pim, но не пробовали iso.
$ ./tulm
1023
$ ./tpim
4096
Тест для UlmА что такое тут locsRead? А то мы с компилятором фрустрируем и ругаемся, ибо не можем понять что это такое и где искать.Код: [Выделить]MODULE tulm;
gm2 tulm.mod -flibs=ulm,pim
IMPORT SYSTEM, StdIO,InOut;
VAR
inf:StdIO.FILE;
inbuf: ARRAY [0..1023] OF CARDINAL;
VAR
n : CARDINAL;
ok:BOOLEAN;
BEGIN
ok := StdIO.Fopen(inf, "input", StdIO.read, FALSE);
IF ok THEN
locsRead := 1023;
ok := StdIO.Fread(SYSTEM.ADR(inbuf), 4, locsRead ,inf);
IF ok THEN
InOut.WriteCard(locsRead,8); InOut.WriteLn;
END;
ok := StdIO.Fclose(inf);
ELSE
InOut.WriteString("open fail"); InOut.WriteLn;
END;
END tulm.
Хм, на FAT32 все работает, даже XDS.Через FIO али как?
32 бита.Насколько я понимаю, этой проблемы не должно быть в 64битах (на 32битных системах у линукса были проблемы с файлами больше 2Гиг). Можешь простой пример на модуле через FIO накидать, чтобы я протестил?
Я уже дошел до си и fopen. Там тоже -1 и гуглить "Value too large for defined data type".