Зависимость скорости чтения TPS от доступа
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
- Игорь Столяров
- Ветеран движения
- Сообщения: 8028
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 28 раз
- Поблагодарили: 96 раз
Зависимость скорости чтения TPS от доступа
Привет всем !
Возник такой вопрос.
Зависит ли скорость чтения из TPS файла от способа доступа к нему ?
Т.е. есть разница как открыть файл Share(TPSFile) или Open(TPSFile,40H) ?
Есть большой файл из которого нужно в 99% случаев только делать выборки.
Набросал тест - вроде явного прогресса в скорости при открытии только для чтения не вижу ...
Гипотетически скорость при доступе на чтение должна увеличиваться, системе ведь не нужно
отслеживать конкуренцию на доступ и захват записей ....
Возник такой вопрос.
Зависит ли скорость чтения из TPS файла от способа доступа к нему ?
Т.е. есть разница как открыть файл Share(TPSFile) или Open(TPSFile,40H) ?
Есть большой файл из которого нужно в 99% случаев только делать выборки.
Набросал тест - вроде явного прогресса в скорости при открытии только для чтения не вижу ...
Гипотетически скорость при доступе на чтение должна увеличиваться, системе ведь не нужно
отслеживать конкуренцию на доступ и захват записей ....
Make Clarion Great Again ! 
-
- ✯ Ветеран ✯
- Сообщения: 5159
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 11 раз
- Поблагодарили: 26 раз
Зависимость скорости чтения TPS от доступа
Есть ещё всякие операторы 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 ! 
-
- Полимат
- Сообщения: 1810
- Зарегистрирован: 25 Март 2009, 21:55
- Благодарил (а): 24 раза
- Поблагодарили: 10 раз
Зависимость скорости чтения TPS от доступа
пользуюсь .SetQuickScan(1) на больших объемах скорость чтения существенно заметна
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
- Игорь Столяров
- Ветеран движения
- Сообщения: 8028
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 28 раз
- Поблагодарили: 96 раз
Зависимость скорости чтения TPS от доступа
Возможно. Но к сожалению это оптическая иллюзия.

В справке однозначно написано: "The QUICKSCAN driver string is supported by the ASCII, BASIC, and DOS drivers".
Make Clarion Great Again ! 
-
- Полимат
- Сообщения: 1810
- Зарегистрирован: 25 Март 2009, 21:55
- Благодарил (а): 24 раза
- Поблагодарили: 10 раз
Зависимость скорости чтения TPS от доступа
я про этот
Код: Выделить всё
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 ! 
-
- Полимат
- Сообщения: 1810
- Зарегистрирован: 25 Март 2009, 21:55
- Благодарил (а): 24 раза
- Поблагодарили: 10 раз
Зависимость скорости чтения TPS от доступа
но чего то спидовцы его пихают везде? вот кусок например, подсчет сумм

Код: Выделить всё
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).
Для TPS драйвера строка с QICKSCAN просто игнорируется. Впрочем как и {PROP:IPRequestCount} (используется в IP Driver).
Make Clarion Great Again ! 
-
- Полимат
- Сообщения: 1810
- Зарегистрирован: 25 Март 2009, 21:55
- Благодарил (а): 24 раза
- Поблагодарили: 10 раз
Зависимость скорости чтения TPS от доступа
эх Игорь, наломали всю малину 

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

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