Во сколько раз Рефал+/32 быстрее Рефала/16 (на задаче select )


Sergei M. Abramov (abram@botik.ru)
Tue, 26 Oct 1999 17:29:44 +0300


День добрый, всем!

Во сколько раз Рефал+/32 быстрее Рефала+/16 (на задаче select) ? -- Ответ
ниже.

==========Предыстория=============

Летом (во время семинара) я написал 4 рефал-плюс-программы решения задачи от
Арк.Климова: select, select1, select2, select3 -- каждая последущая -- все
плюсовее и плюсовее (первая--по сути Рефал-пять-ная).

Почти все эти программы выполнялись на машине Андрея Немытых

    о select (модифицированный) -- на рефале-5;
    о select, select1, select2 -- на рефале+/16
         бит (а другого не было тогда под рукой ;-)

Время счета Р+-ных версий ("", "1", "2") падало, и приближалось к
Рефал-5-ому времени, все еще уступая Рефалу-5.

select3 гонялся только на моей машине, и я предсказывал (сравнивая времена
на одной моей машине версий "2" и "3"), что при прогоне на машине Андрея
Немытых select3 обгонит select/Рефал-5. Но чуть-чуть. (Такой замер не был
сделан--руки не дошли...)

Короче, для меня тогда было ясно, что select3/Р+/16 бит сравним с
select/Рефал-5 -- чуть-чуть лучше или чуть-чуть хуже... чуть-чуть не
считается!

==========Конец предыстории========

И вот недавно, мне хватило смелости (и сноровки) поставить и своить
Рефал+/32бит под Виндовс 95...

/* ОБМЕН ОПЫТОМ:

У меня было много психологического ступора перед установкой Рефал+/32. Но
когда решился, особой сноровки при установке Рефал+/32бит под Вин'95 просто
не потребовалось:
    -- Дважды нажал кнопку ОК (один раз для Цигвина, один раз для
Рефала-Плюс);
    -- Ни разу не правил AUTOEXEC.BAT, CONFIG.SYS -- см. дальше ;-)
    -- Вставил в конце C:\REFAL-PLUS\REFINIT.BAT одну строчку:

   NC.EXE

    -- На Десктоп вытащил Shortcut C:\REFAL-PLUS\REFINIT.BAT и как
результат, получил Shortcut на Нортон Коммандер, в котором Рефал+
32-битовый!
    -- Когда насладился этим всласть, не удержался, сделал примитивную
иконку (прилагаю) для этого "Нортон Коммандера, в котором Рефал+
32-битовый".

Ранее у меня был (и остался) Shortcut на Нортон Коммандер, в котором Рефал+
был (и остался) 16 битовый. Теперь, открыв два окна -- два этих "разных"
Нортонов-коммандеров,-- я собираю рефал программы то так, то этак ;-)

*/

При использовании, неожидано для себа, я заметил, что Рефал+/32бит/Вин
оказался БЫСТРЕЕ Рефал+/16бит/ДОС!

/* Если никого это не удивляет, то меня удивило. Я точно помню (был
трезвым!), что первые версии Рефал+/32бит/ДОС ПМ были МЕДЛЕННЕЕ чем
Рефал+/16бит/ДОС. */

А на сколько Рефал+/32бит/Вин оказался БЫСТРЕЕ Рефал+/16бит/Дос? Интересно
ведь, правда?

Я достал свои программки select, select1, select2, select3 и прогнал их под
Рефалом+/16ДОС и Рефалом+/32Вин на одной и той же своей машине (P-II-266,
RAM 128MB). Результат--неожиданный:

                На задаче select
      Рефал+/32 Вин быстрее Рефала+/16 ДОС
               не "на чуть-чуть",
             а примерно в ТРИ РАЗА!

Я не могу себе объяснить, почему это так, но это так. Подробности--ниже в
таблицах.

Спасибо ребятам (А.Слепухин, С.Битюков) за Рефал+/32 Вин!

Удачи,

Сергей

Астрономическое время выполнения Рефал+ ных программ select, select1,
select2, select3.

---------------------------------------------------
Аргумент select select1 select2 select3
---------------------------------------------------
1234567890 3.63 3.19 3.02 2.47 R+/16
                1.76 1.09 1.05 0.82 R+/32
1234567890 19.22 16.98 16.42 12.91 R+/16
                7.03 5.77 5.55 4.45 R+/32
1234567890ab 107.65 95.85 92.61 71.13 R+/16
               38.94 32.25 31.58 24.61 R+/32
1234567890abc 631.15 564.63 547.17 411.11 R+/16
              228.00 190.92 182.57 143.85 R+/32
---------------------------------------------------

Во сколько раз Рефал+/32 быстрее Рефала+/16 на задаче select? Вот, смотрите:
---------------------------------------------
Аргумент select select1 select2 select3
---------------------------------------------
1234567890 2.1 2.9 2.9 3.0
1234567890 2.7 2.9 3.0 2.9
1234567890ab 2.8 3.0 2.9 2.9
1234567890abc 2.8 3.0 3.0 2.9
---------------------------------------------

Свертки:
 min (по всей таблице) -- 2.1
 average (по всей таблице) -- 2.8
 average' (по всей таблице) -- 2.9
 max -- 3.0

/* average'(по всей таблице) =

       (время-всего-пакета-тестов-Р+16бит)
    = -----------------------------------
       (время-всего-пакета-тестов-Р+32бит)

       сумма-всех-16-времен(по всей таблице)
    = -------------------------------------
       сумма-всех-32-времен(по всей таблице)
*/





This archive was generated by hypermail 2.0b3 on Tue Oct 26 1999 - 17:30:51 MSD