Автор Тема: Расширенный тест на производительность.  (Прочитано 6061 раз)

trurl

  • Full Member
  • ***
  • Сообщений: 131
    • Просмотр профиля
Re: Расширенный тест на производительность.
« Ответ #165 : Декабрь 12, 2016, 08:18:32 pm »
На FAT32 же нельзя делать файлы объёмом даже в 4 гигабайта ровно -- только меньше...
Зато можно от 2 до 4.
На NTFS тоже работает, только медленно.

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3009
    • Просмотр профиля
Re: Расширенный тест на производительность.
« Ответ #166 : Декабрь 12, 2016, 08:19:05 pm »
Ничего никуда не падает. Получается как-то так:
$ ./tulm
    1023
$ ./tpim
    4096

Сейчас ещё на сервака попробую.
Y = λf.(λx.f (x x)) (λx.f (x x))

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3009
    • Просмотр профиля
Re: Расширенный тест на производительность.
« Ответ #167 : Декабрь 12, 2016, 08:21:26 pm »
Протестил, результат идентичный. Т.е., если я правильно понимаю, всё работает.
Y = λf.(λx.f (x x)) (λx.f (x x))

trurl

  • Full Member
  • ***
  • Сообщений: 131
    • Просмотр профиля
Re: Расширенный тест на производительность.
« Ответ #168 : Декабрь 12, 2016, 08:34:00 pm »
Значит, дело в системе. Ну да, у меня же и си не открывает. Но почему тогда моя прога на xds валилась? Потому, что 32-битный?

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3009
    • Просмотр профиля
Re: Расширенный тест на производительность.
« Ответ #169 : Декабрь 12, 2016, 08:36:05 pm »
Значит, дело в системе. Ну да, у меня же и си не открывает. Но почему тогда моя прога на xds валилась? Потому, что 32-битный?
Либо так, либо у xds те же либы иначе реализованы. Кроме того, мы же сейчас попробовали ulm и pim, но не пробовали iso.
Y = λf.(λx.f (x x)) (λx.f (x x))

trurl

  • Full Member
  • ***
  • Сообщений: 131
    • Просмотр профиля
Re: Расширенный тест на производительность.
« Ответ #170 : Декабрь 12, 2016, 08:44:58 pm »
А можно ещё iso?

MODULE tiso;
IMPORT SYSTEM, IOChan, ChanConsts, IOConsts, RndFile;
IMPORT STextIO, SWholeIO;
VAR
    inbuf: ARRAY [0..1024] OF CARDINAL;
    locsRead : CARDINAL;
    inchn: IOChan.ChanId; 
    res: ChanConsts.OpenResults;
BEGIN
  RndFile.OpenOld(inchn, "input", RndFile.raw, res);
  IF res = ChanConsts.opened THEN
    IOChan.RawRead(inchn, SYSTEM.ADR(inbuf), SIZE(inbuf), locsRead);
    SWholeIO.WriteCard(locsRead,8);
    STextIO.WriteLn;
    RndFile.Close(inchn);
  ELSE
    STextIO.WriteString("open fail");
    STextIO.WriteLn
  END;
END tiso.


valexey_u

  • Hero Member
  • *****
  • Сообщений: 3009
    • Просмотр профиля
Re: Расширенный тест на производительность.
« Ответ #171 : Декабрь 12, 2016, 08:54:29 pm »
# ./tiso
    4100
# ls -l input
-rw-r--r-- 1 root root 4294967296 Dec 11 14:29 input
Y = λf.(λx.f (x x)) (λx.f (x x))

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3009
    • Просмотр профиля
Re: Расширенный тест на производительность.
« Ответ #172 : Декабрь 12, 2016, 09:06:44 pm »
Но чтобы быть уверенным до конца, я бы таки в тестах пробежался бы до конца файла.
Y = λf.(λx.f (x x)) (λx.f (x x))

Valery Solovey

  • Hero Member
  • *****
  • Сообщений: 507
    • Просмотр профиля
Re: Расширенный тест на производительность.
« Ответ #173 : Декабрь 12, 2016, 09:13:12 pm »
Хм, на FAT32 все работает, даже XDS.
На FAT32 же нельзя делать файлы объёмом даже в 4 гигабайта ровно -- только меньше...
Это если размер кластера не менять. Но если его увеличить, то и размер файла может быть гораздо больше, чем 4 ГБ.

Geniepro

  • Hero Member
  • *****
  • Сообщений: 1949
  • Знайте- истина в том, что повторено трижды подряд!
    • Просмотр профиля
Re: Расширенный тест на производительность.
« Ответ #174 : Декабрь 13, 2016, 11:28:48 am »
Хм, на FAT32 все работает, даже XDS.
На FAT32 же нельзя делать файлы объёмом даже в 4 гигабайта ровно -- только меньше...
Это если размер кластера не менять. Но если его увеличить, то и размер файла может быть гораздо больше, чем 4 ГБ.
И как это сделать? Вот я взял и отформатировал флешку 32 ГБт в FAT32, указав максимальный размер кластера -- 64 кБт, но файл размером 4.3 ГБт всё равно не записывается -- запись прерывается на 91% файла. Выходит, что не работает этот рецепт...
to iterate is human, to recurse, divine

Салат «рекурсия»: помидоры, огурцы, салат…

trurl

  • Full Member
  • ***
  • Сообщений: 131
    • Просмотр профиля
Re: Расширенный тест на производительность.
« Ответ #175 : Декабрь 13, 2016, 01:00:13 pm »
Размер файла так не увеличить, он ограничен структурой записи в каталоге. Только размер тома можно.

Valery Solovey

  • Hero Member
  • *****
  • Сообщений: 507
    • Просмотр профиля
Re: Расширенный тест на производительность.
« Ответ #176 : Декабрь 13, 2016, 01:02:56 pm »
из вики:
Цитировать
Максимально возможный размер файла для тома FAT32 — ~ 4 ГБ — 4 294 967 295 байт (в FAT32 под размер файла отведено 4 байта. 4 байта - это 32 бита. 232-1 — 4 294 967 295 байт. Поэтому размер файла не может быть больше этого значения, иначе не получится указать его длину. Хотя цепочку в FAT таблице можно продолжать и дальше, но тогда для определения размера файла придется каждый раз пробегать по всей цепочке, а это будет занимать много времени.
Таким образом, файл может быть большим, но, похоже, его не создать стандартными средствами.

trurl

  • Full Member
  • ***
  • Сообщений: 131
    • Просмотр профиля
Re: Расширенный тест на производительность.
« Ответ #177 : Декабрь 13, 2016, 05:36:55 pm »
Почитал я TFM. Большие файлы в 32-битных системах рекомендуется открывать через fopen64 или open64, которые делают системный вызов open со специальным флагом. В gm2 все пути ведут к open, в xds - к fopen.
Подозреваю, что все, собранное  с gcc -m32 и на 64-битной системе не сможет открыть 2GB файл.

trurl

  • Full Member
  • ***
  • Сообщений: 131
    • Просмотр профиля
Re: Расширенный тест на производительность.
« Ответ #178 : Декабрь 15, 2016, 06:06:26 am »
А почему mege_rs не попал в тесты?

Geniepro

  • Hero Member
  • *****
  • Сообщений: 1949
  • Знайте- истина в том, что повторено трижды подряд!
    • Просмотр профиля
Re: Расширенный тест на производительность.
« Ответ #179 : Декабрь 15, 2016, 09:38:18 am »
Предлагаю добавить в тесты файлы с нестандартными размерами, например 119 946 308 байт или 163 840 004 байт (достаточно большое простое число, умноженное на 4). Идея в том, что бы файл не делился на блоки равных размеров -- это может выявить ошибки в алгоритмах сортировки.
to iterate is human, to recurse, divine

Салат «рекурсия»: помидоры, огурцы, салат…