|
СУБД GT.M
|
|||
---|---|---|---|
#18+
Антон Аксёнов , Я бы поступил следующим образом: 1) в mumps community завёл топик с темой "Performance: MSM vs GT.M"; 2) опубликовал законченный код для теста (генерация данных, проход по ним). Если код для этих СУБД отличается, то оба варианта; 3) указал какие параметры СУБД/ОС и с какими значениями были установлены (желательно указать все, отличные от дефолтных); 4) указал параметры железа, версии СУБД/OС; 5) указал полученные результаты в обеих системах: время выполнения, загрузка CPU, кол-во disk I/O и др. 6) и в конце задал бы вопрос: "How to speed up?" ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2011, 13:55 |
|
СУБД GT.M
|
|||
---|---|---|---|
#18+
Вот ваш кэш, в колонке VIRT: Код: plaintext 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2011, 14:01 |
|
СУБД GT.M
|
|||
---|---|---|---|
#18+
$q медленный? Ого, у нас всё на нём. Вся логика навигации по глобалям только на нём. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2011, 17:29 |
|
СУБД GT.M
|
|||
---|---|---|---|
#18+
$q медленный? Ого, у нас всё на нём. Вся логика навигации по глобалям только на нём. Честно говоря мы тоже используем $q очень часто, но особых тормозов не заметил. Очень удобно сразу читать полностью узел, а потом косвенную от него содержимое. Для нашего редактора глобалов (GUI) на стороне клиента, отправка со стороны сервера GT.M осуществляется именно этим способом. Вот только не пробовали сравнивать c другими методами. Может и стоит ... ??? Примерно делаем вот так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2011, 08:47 |
|
СУБД GT.M
|
|||
---|---|---|---|
#18+
Я в критичном месте переписываю узел с которым надо работать в локаль а уже затем обхожу локаль. Если обработка локалей а для CACHE это так значительно быстрее то это имеет смысл. А вот для GTM не знаю так ли это. Например: K bf M bf=^DDD(1,2,3) а затем уже обрабатываю локаль bf как мне надо. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2011, 11:52 |
|
СУБД GT.M
|
|||
---|---|---|---|
#18+
misha_sharЯ в критичном месте переписываю узел с которым надо работать в локаль а уже затем обхожу локаль. Если обработка локалей а для CACHE это так значительно быстрее то это имеет смысл. По моему опыту Cache с глобалью работет быстрее, чем с локалью. По крайней мере, создание и обработка большого временного массива ^||array(...) на порядок быстрее, чем array(...). ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2011, 12:19 |
|
СУБД GT.M
|
|||
---|---|---|---|
#18+
ser_shumisha_sharЯ в критичном месте переписываю узел с которым надо работать в локаль а уже затем обхожу локаль. Если обработка локалей а для CACHE это так значительно быстрее то это имеет смысл. По моему опыту Cache с глобалью работет быстрее, чем с локалью. По крайней мере, создание и обработка большого временного массива ^||array(...) на порядок быстрее, чем array(...).Смотря какая версия Caché используется: Large Local Arrays Проверил в версии 2011.2.FT1: set N=2000000 set t=$ZH for i=1:1:N s a(i)=i w "time1= ",$ZH-t," s.",! set t=$ZH for i=1:1:N s ^||b(i)=i w "time2= ",$ZH-t," s.",! Результат (второй запуск): Код: plaintext 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2011, 12:43 |
|
СУБД GT.M
|
|||
---|---|---|---|
#18+
А вот с локалью в GT.M мне тоже интересно. Вот спросить некого ! На форуме что есть comp.lang.mumps , сообщения перебираются за неделю ... Все ушли на фронт ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2011, 13:20 |
|
СУБД GT.M
|
|||
---|---|---|---|
#18+
Тест что представил servit запустил только первый, поскольку второй не поддерживается в GT.M Код: plaintext 1. 2. 3. 4.
Показал 1 с. Опять в GT.M не понятно как меньше сек. посмотреть. $h-меньше 1 с не выдает. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2011, 13:29 |
|
СУБД GT.M
|
|||
---|---|---|---|
#18+
servitСмотря какая версия Caché используется: Large Local Arrays Проверил в версии 2011.2.FT1: Я давно тестировал версию 2008. Приятный результат в версии 2011 :) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2011, 15:23 |
|
СУБД GT.M
|
|||
---|---|---|---|
#18+
ser_shuЯ давно тестировал версию 2008. Приятный результат в версии 2011 :)Такой же неплохой результат должен быть и в версии 2010.2. Ведь согласно ссылке выше улучшение появилось с версии 2010.2. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2011, 16:00 |
|
СУБД GT.M
|
|||
---|---|---|---|
#18+
ValeriuОпять в GT.M не понятно как меньше сек. посмотреть. $h-меньше 1 с не выдает.Вот, что я нашёл: Get a timing in milliseconds Там же по ссылке можно найти ещё один совет:BhaskarProbably best accomplished with a call to gettimeofday() via GT.M's interface to call C functions. But please don't call the OS directly if you want to set a timeout. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2011, 16:34 |
|
СУБД GT.M
|
|||
---|---|---|---|
#18+
Valeriuпоскольку второй не поддерживается в GT.M^||b - это приватный глобал процесса, наиболее близкий аналог в GT.M: ^b($job) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2011, 16:37 |
|
СУБД GT.M
|
|||
---|---|---|---|
#18+
servitВот, что я нашёл: Get a timing in milliseconds Там же по ссылке можно найти ещё один совет: Не особенно помогло :) То 1 сек то 0 сек. Но факт что скорость присутствует !!! Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2011, 17:01 |
|
СУБД GT.M
|
|||
---|---|---|---|
#18+
Я еще раз хочу подчеркнуть, что у меня стоит обычная машина, не сервер !!! ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2011, 17:04 |
|
СУБД GT.M
|
|||
---|---|---|---|
#18+
ValeriuЯ еще раз хочу подчеркнуть, что у меня стоит обычная машина, не сервер !!!Я даже не сомневался. У меня тоже обычный компьютер: Intel Core2 CPU E6700, 2 Gb RAM ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2011, 17:21 |
|
СУБД GT.M
|
|||
---|---|---|---|
#18+
Все тоже самое, только AMD Athlon(tm) II X2 220 Processor .... ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2011, 17:30 |
|
СУБД GT.M
|
|||
---|---|---|---|
#18+
Alexey Maslov^||b - это приватный глобал процесса, наиболее близкий аналог в GT.M: ^b($job) В Cache конструкция ^||b вместо ^b($job) дает три приятных бонуса: - буфера практически не сбрасываются на диск - не журналируется - после завершения процесса (даже аварийного) не остается грязи в файлах БД, так как пишется в системную CACHETEMP. (Не в тему, но может пригодится кому в Cache) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2011, 18:04 |
|
СУБД GT.M
|
|||
---|---|---|---|
#18+
В общем, для истории - свой проект мы запустили на GT.M. GT.M вполне себе годная. Вот если бы версия под Windows была, но увы. Остро не хватает. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2013, 18:06 |
|
СУБД GT.M
|
|||
---|---|---|---|
#18+
Антон Аксёнов, А почему именно под Windows, чем Linux как сервер не устраивает ? Или это в однопользовательской среде запускать? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2013, 18:14 |
|
СУБД GT.M
|
|||
---|---|---|---|
#18+
Антон Аксёнов, а чем MINIM не подходит ? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2013, 00:18 |
|
СУБД GT.M
|
|||
---|---|---|---|
#18+
Артём, История-то как раз пока известна только вам. Может, поделитесь? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2013, 12:21 |
|
СУБД GT.M
|
|||
---|---|---|---|
#18+
Антон Аксёнов, извините за опечатку в имени. Обращался к вам. Имел в виду, что если черкнёте пару строк: - что за проект - использованные технологии - ожидаемая/имеющаяся нагрузка - впечатления... и всё что сочтёте нужным рассказать - и действительно, чем не угодил Linux? , многим было бы интересно. Не так уж много стартапов под М в целом и под GT.M в частности. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2013, 12:44 |
|
|
start [/forum/topic.php?fid=39&msg=38462500&tid=1557025]: |
0ms |
get settings: |
7ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
131ms |
get topic data: |
13ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
others: | 256ms |
total: | 481ms |
0 / 0 |