Зависимость скорости чтения TPS от доступа

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8028
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 28 раз
Поблагодарили: 96 раз

Зависимость скорости чтения TPS от доступа

Сообщение Игорь Столяров »

Привет всем !

Возник такой вопрос.
Зависит ли скорость чтения из TPS файла от способа доступа к нему ?
Т.е. есть разница как открыть файл Share(TPSFile) или Open(TPSFile,40H) ?
Есть большой файл из которого нужно в 99% случаев только делать выборки.

Набросал тест - вроде явного прогресса в скорости при открытии только для чтения не вижу ...
Гипотетически скорость при доступе на чтение должна увеличиваться, системе ведь не нужно
отслеживать конкуренцию на доступ и захват записей ....
Make Clarion Great Again ! 😎
kreator
✯ Ветеран ✯
Сообщения: 5159
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 11 раз
Поблагодарили: 26 раз

Зависимость скорости чтения TPS от доступа

Сообщение kreator »

Есть ещё всякие операторы FLUSH, BUFFER, STREAM. Но мне кажется всё это фигня. Зависимость больше от операционки. Я бы открывал изначально в режиме single-user, подстраховался бы на всякий случай. Второй юзер принесёт падение скорости однозначно, Винда так работает.
We are hard at work… for you. :)
Аватара пользователя
Губин Игорь
Шубуршун
Сообщения: 2584
Зарегистрирован: 16 Сентябрь 2005, 16:35
Откуда: Москва
Благодарил (а): 3 раза
Поблагодарили: 26 раз

Зависимость скорости чтения TPS от доступа

Сообщение Губин Игорь »

Игорь Столяров писал(а): Гипотетически скорость при доступе на чтение должна увеличиваться, системе ведь не нужно
отслеживать конкуренцию на доступ и захват записей ....
По моему опыту - при открытии файла только на чтение скорость возрастает
Это я только кажусь дураком! На самом деле я полный идиот!
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8028
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 28 раз
Поблагодарили: 96 раз

Зависимость скорости чтения TPS от доступа

Сообщение Игорь Столяров »

Губин Игорь писал(а): По моему опыту - при открытии файла только на чтение скорость возрастает
Спасибо. Я вроде бы получил положительный результат при записи потоком под транзакцией в TPS файл (500 MByte), если
с других компьютеров по сети он открыт на чтение. При открытии на запись - скорость записи падает.
Make Clarion Great Again ! 😎
gopstop2007
Полимат
Сообщения: 1810
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 24 раза
Поблагодарили: 10 раз

Зависимость скорости чтения TPS от доступа

Сообщение gopstop2007 »

пользуюсь .SetQuickScan(1) на больших объемах скорость чтения существенно заметна
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8028
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 28 раз
Поблагодарили: 96 раз

Зависимость скорости чтения TPS от доступа

Сообщение Игорь Столяров »

gopstop2007 писал(а): пользуюсь .SetQuickScan(1) на больших объемах скорость чтения существенно заметна
Возможно. Но к сожалению это оптическая иллюзия. :)
В справке однозначно написано: "The QUICKSCAN driver string is supported by the ASCII, BASIC, and DOS drivers".
Make Clarion Great Again ! 😎
gopstop2007
Полимат
Сообщения: 1810
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 24 раза
Поблагодарили: 10 раз

Зависимость скорости чтения TPS от доступа

Сообщение gopstop2007 »

я про этот

Код: Выделить всё

Relate:Orders.SetQuickScan(1)                     !enable quickscan for primary
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8028
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 28 раз
Поблагодарили: 96 раз

Зависимость скорости чтения TPS от доступа

Сообщение Игорь Столяров »

Да, конечно. Если этот вопрос интересен, открой код метода RelationManager.SetQuickScan в файле ABFILE.CLW

Он просто выполняет код:

Код: Выделить всё

    IF SELF.Me.IsOpened()
      SEND(SELF.Me.File,'QUICKSCAN=' & CHOOSE(On = 1,'on','off'))
    END
Make Clarion Great Again ! 😎
gopstop2007
Полимат
Сообщения: 1810
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 24 раза
Поблагодарили: 10 раз

Зависимость скорости чтения TPS от доступа

Сообщение gopstop2007 »

но чего то спидовцы его пихают везде? вот кусок например, подсчет сумм :)

Код: Выделить всё

  SETCURSOR(Cursor:Wait)
  Relate:GrExpenses.SetQuickScan(1)
  SELF.Reset
  IF SELF.UseMRP
     IF SELF.View{PROP:IPRequestCount} = 0
          SELF.View{PROP:IPRequestCount} = 60
     END
  END
  LOOP
    IF SELF.UseMRP
       IF SELF.View{PROP:IPRequestCount} = 0
            SELF.View{PROP:IPRequestCount} = 60
       END
    END
    CASE SELF.Next()
    OF Level:Notify
      BREAK
    OF Level:Fatal
      SETCURSOR()
      RETURN
    END
    SELF.SetQueueRecord
    IF (GRE:OutClient = SETUP:N_OutItems)
      l_SumMinus:Sum += GRE:SumCash
    END
    IF (GRE:InClient = SETUP:N_OutItems)
      l_SumPlus:Sum += GRE:SumCash
    END
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8028
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 28 раз
Поблагодарили: 96 раз

Зависимость скорости чтения TPS от доступа

Сообщение Игорь Столяров »

Потому что неизвестно какой файловый драйвер используется. Это универсальный код.
Для TPS драйвера строка с QICKSCAN просто игнорируется. Впрочем как и {PROP:IPRequestCount} (используется в IP Driver).
Make Clarion Great Again ! 😎
gopstop2007
Полимат
Сообщения: 1810
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 24 раза
Поблагодарили: 10 раз

Зависимость скорости чтения TPS от доступа

Сообщение gopstop2007 »

эх Игорь, наломали всю малину :D
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8028
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 28 раз
Поблагодарили: 96 раз

Зависимость скорости чтения TPS от доступа

Сообщение Игорь Столяров »

gopstop2007 писал(а): эх Игорь, наломали всю малину
Как раз этим и занимаемся - поиском программных опций, которые реально ускоряют работу с БД.
А что касается кода SV - то там действительно много лишнего, но зато это хороший учебный материал. ;)

У меня давно есть немой вопрос, зачем файлы БД при создании тех же REPORT открываются шаблонами
SV в общем режиме с доступом на запись .... Как минимум - это опасно при аварийном завершении работы программы.
Make Clarion Great Again ! 😎
Ответить