powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Вопрос по производительности !!!
25 сообщений из 25, страница 1 из 1
Вопрос по производительности !!!
    #33220965
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Господа Всем здравствуйте !!!
Простой маленький код программы глушит сервер наповал !!!
В чем моя ошибка ???

Код: plaintext
1.
2.
3.
4.
5.
6.
Glist()   N glb,Var      
           s glb="" 
           s Var=""
cikl       s gl=$o(^$GLOBAL(glb)) i gl="" g endGlist
           s Var=Var_gl_"~"
           s glb=gl g cikl
endGlist  q Var

Спасибо.
...
Рейтинг: 0 / 0
Вопрос по производительности !!!
    #33222226
MX - ALEX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ValeriuГоспода Всем здравствуйте !!!
Простой маленький код программы глушит сервер наповал !!!
В чем моя ошибка ???

Код: plaintext
1.
2.
3.
4.
5.
6.
Glist()   N glb,Var      
           s glb="" 
           s Var=""
cikl       s gl=$o(^$GLOBAL(glb)) i gl="" g endGlist
           s Var=Var_gl_"~"
           s glb=gl g cikl
endGlist  q Var

Спасибо.
Валерий ,
у меня Ваш код выполнялся невыносимо долго - 13 секунд
видимо так медленно работает $o(^$GLOBAL..
но это не зависание :)
-------------
...
Рейтинг: 0 / 0
Вопрос по производительности !!!
    #33222328
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все O' Key !!!

Спасибо Дмитрию Зюльманову подсказал !!!

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
GlbList() N Val,Nacop,Return
          d GetDir^%GD($zu( 5 ),"GDir")
          s Val=""
          s Nacop="" 
cikGL     s Return=$O(GDir(Val)) i Return="" g endGlDir
          s Nacop=Nacop_Return_"~"
          s Val=Return g cikGL
endGlDir  q Nacop 

Алекс, спасибо что отозвался !!!
...
Рейтинг: 0 / 0
Вопрос по производительности !!!
    #33222481
MX - ALEX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ValeriuВсе O' Key !!!

Спасибо Дмитрию Зюльманову подсказал !!!

[src]GlbList() N Val,Nacop,Return
d GetDir^%GD($zu(5),"GDir")


?
Валерий,
Дмитрий,

а для чего
d GetDir^%GD($zu(5),"GDir")
?
-------------------
...
Рейтинг: 0 / 0
Вопрос по производительности !!!
    #33223220
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Конкретно для меня, этот код возвращает пользовательскому приложению (VB,Delphi etc.) список глобалей содержащихся в области.

Это типа D ^%GD....
...
Рейтинг: 0 / 0
Вопрос по производительности !!!
    #33223394
MX - ALEX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ValeriuКонкретно для меня, этот код возвращает пользовательскому приложению (VB,Delphi etc.) список глобалей содержащихся в области.

Это типа D ^%GD....
это понятно
а каким способом он там быстро бежит по списку глобов
как мы видим прохождение по $o(^$GLOBALS..
идет очень тоскливо - медленно

нет ли у Вас исходника ^%GD ?
...
Рейтинг: 0 / 0
Вопрос по производительности !!!
    #33223427
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хотелось и мне поглядеть, ведь сравнить-то надо, но к сожалению
исходника нету... В MSM-е, M3 $o(^$GLOBAL работает
как и привыкли, а здесь с наворотами.
...
Рейтинг: 0 / 0
Вопрос по производительности !!!
    #33224113
LittleCat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Люди, да вы что ! При установке поставьте галку "Исходники утилит управления" и любуйтесь на исходный текст %GD !! Интересующий кусок :
%GDGetDir(NSP,save) ; gets global directory for a dataset (implied namespace)
i $zbitget($zversion(0),21) g bigdb
n DIR,DIRINFO,GDBLOCK,BYTEPTR,LOC,remnode,remlock,t,name ;HYY072
s remlock=0,$zt="errdir" g:$p(NSP,"^",2)]"" remote
s DIR=$p(NSP,"^",3),DIRINFO=$zu(49,DIR),GDBLOCK=+$p(DIRINFO,",",7)
; s DIR="MINE",DIRINFO="MINE",GDBLOCK=+$p(DIRINFO,",",7)
o 63:NSP
f v GDBLOCK d s GDBLOCK=$v(2040,0,"3O") q:'GDBLOCK
. f BYTEPTR=0:9:$v(2046,0,2)-1 d
. . f LOC=BYTEPTR:1 q:'$v(LOC,0)
. . s name=$v(BYTEPTR,0,BYTEPTR-LOC),BYTEPTR=LOC+1
. . s @save@(name)=$v(BYTEPTR+2,0)_"^"_$V(BYTEPTR+3,0,"3O")_"^"_$V(BYTEPTR+6,0,"3O")_"^"_$V(BYTEPTR,0)_"^"_$V(BYTEPTR+1,0)
q
т.е. ничего интересного, работа через VIEW и парсинг блоков глобального каталога...
...
Рейтинг: 0 / 0
Вопрос по производительности !!!
    #33224352
MX - ALEX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
LittleCatЛюди, да вы что ! При установке поставьте галку "Исходники утилит управления" и любуйтесь на исходный текст %GD !! Интересующий кусок :
%GDGetDir(NSP,save) ; gets global directory for a dataset (implied namespace)
i $zbitget($zversion(0),21) g bigdb
n DIR,DIRINFO,GDBLOCK,BYTEPTR,LOC,remnode,remlock,t,name ;HYY072
s remlock=0,$zt="errdir" g:$p(NSP,"^",2)]"" remote
s DIR=$p(NSP,"^",3),DIRINFO=$zu(49,DIR),GDBLOCK=+$p(DIRINFO,",",7)
; s DIR="MINE",DIRINFO="MINE",GDBLOCK=+$p(DIRINFO,",",7)
o 63:NSP
f v GDBLOCK d s GDBLOCK=$v(2040,0,"3O") q:'GDBLOCK
. f BYTEPTR=0:9:$v(2046,0,2)-1 d
. . f LOC=BYTEPTR:1 q:'$v(LOC,0)
. . s name=$v(BYTEPTR,0,BYTEPTR-LOC),BYTEPTR=LOC+1
. . s @save@(name)=$v(BYTEPTR+2,0)_"^"_$V(BYTEPTR+3,0,"3O")_"^"_$V(BYTEPTR+6,0,"3O")_"^"_$V(BYTEPTR,0)_"^"_$V(BYTEPTR+1,0)
q
т.е. ничего интересного, работа через VIEW и парсинг блоков глобального каталога...
спасибо за наводку
установлен CACHE-5.1 - там какой то портал - ничего не понятно
раньше был MSM - все понятно
и все равно интересно как удалось добится чтобы проход в цикле
по списку глобалей по $o(^$GLOBALS.. тянулся 13 секунд
...
Рейтинг: 0 / 0
Вопрос по производительности !!!
    #33224372
LittleCat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MX - ALEX
и все равно интересно как удалось добится чтобы проход в цикле
по списку глобалей по $o(^$GLOBALS.. тянулся 13 секунд
А чего уж тут непонятного... Все силы ИС брошены на модные передовые технологии, а поддержку стандарта языка поручили каким-нибудь студентам, наверное... В MSM так вперед не рвались, зато за качеством следили :-)
...
Рейтинг: 0 / 0
Вопрос по производительности !!!
    #33224613
MX - ALEX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
LittleCat MX - ALEX
и все равно интересно как удалось добится чтобы проход в цикле
по списку глобалей по $o(^$GLOBALS.. тянулся 13 секунд
А чего уж тут непонятного... Все силы ИС брошены на модные передовые технологии, а поддержку стандарта языка поручили каким-нибудь студентам, наверное... В MSM так вперед не рвались, зато за качеством следили :-)

убью, студент ! ...

кстати не подскажете как в CACHE перебросить узел глобали в другой КИП
?
...
Рейтинг: 0 / 0
Вопрос по производительности !!!
    #33224673
Фотография ну я
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Получение списка глобалов через ssvn ^$global и системной ^%GD это вообще-то разные результаты.
Первое - получение на логическом уровне (включая текущий маппинг из других областей), второе - на физическом уровне, читает что прописано в файле данных. Это традиционная дилемма cache - как список получать так опять думать которым же из способов пользоваться в текущей задаче.
...
Рейтинг: 0 / 0
Вопрос по производительности !!!
    #33224783
LittleCat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MX - ALEX
кстати не подскажете как в CACHE перебросить узел глобали в другой КИП
?
А по полной ссылке, как и раньше ;-) Например так...

s ^["SAMPLES"]a=1
...
Рейтинг: 0 / 0
Вопрос по производительности !!!
    #33224861
LittleCat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну яПолучение списка глобалов через ssvn ^$global и системной ^%GD это вообще-то разные результаты.
Первое - получение на логическом уровне (включая текущий маппинг из других областей), второе - на физическом уровне, читает что прописано в файле данных. Это традиционная дилемма cache - как список получать так опять думать которым же из способов пользоваться в текущей задаче.
Насколько я знаю, %GD и отмаппированные глобалы тоже показывает ;-) Так что пока разницы не видно (кроме реализации, конечно)...
...
Рейтинг: 0 / 0
Вопрос по производительности !!!
    #33224916
LittleCat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну яЭто традиционная дилемма cache - как список получать так опять думать которым же из способов пользоваться в текущей задаче.
А диллема связана только с реализацией, концептуально ее нет - чем ближе решение к стандарту языка, тем лучше, тем выше переносимость кода, сопровождаемость. Как известно, продукты написанные на стандартном языке, без использования всяких фишек, живут десятилетиями, а вот те, где применены всякие "изюминки", быстро умирают, увы....
...
Рейтинг: 0 / 0
Вопрос по производительности !!!
    #33224937
Фотография ну я
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LittleCat ну яПолучение списка глобалов через ssvn ^$global и системной ^%GD это вообще-то разные результаты.
Первое - получение на логическом уровне (включая текущий маппинг из других областей), второе - на физическом уровне, читает что прописано в файле данных. Это традиционная дилемма cache - как список получать так опять думать которым же из способов пользоваться в текущей задаче.
Насколько я знаю, %GD и отмаппированные глобалы тоже показывает ;-) Так что пока разницы не видно (кроме реализации, конечно)...
Блин, я даже купился на прикол и специально пошел проверил. Даже напугался что и правда функционал поменялся и оба показывают одно и то же. Поберегите мое сердечко, плиз ;-), не надо больше таких шуток.
...
Рейтинг: 0 / 0
Вопрос по производительности !!!
    #33224987
LittleCat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну я LittleCat ну яПолучение списка глобалов через ssvn ^$global и системной ^%GD это вообще-то разные результаты.
Первое - получение на логическом уровне (включая текущий маппинг из других областей), второе - на физическом уровне, читает что прописано в файле данных. Это традиционная дилемма cache - как список получать так опять думать которым же из способов пользоваться в текущей задаче.
Насколько я знаю, %GD и отмаппированные глобалы тоже показывает ;-) Так что пока разницы не видно (кроме реализации, конечно)...
Блин, я даже купился на прикол и специально пошел проверил. Даже напугался что и правда функционал поменялся и оба показывают одно и то же. Поберегите мое сердечко, плиз ;-), не надо больше таких шуток.
Почему же прикол, прежде чем отпостить, естественно проверил у себя ;-)
Cache for Windows NT (Intel/P4) 5.0.17 (Build 6006) Wed Jun 22 2005 12:17:36 EDT
...
Рейтинг: 0 / 0
Вопрос по производительности !!!
    #33225024
Фотография ну я
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LittleCatПочему же прикол, прежде чем отпостить, естественно проверил у себя ;-)
Cache for Windows NT (Intel/P4) 5.0.17 (Build 6006) Wed Jun 22 2005 12:17:36 EDT
У меня Cache for Windows NT (Intel/P4) 5.0.15 (Build 5802) Fri Mar 18 2005 13:05:32 EST
Добавил маппинг глобала целиком. Через ^%GD его не вижу, через ssvn ^$global вижу.

Вы проверяли при маппинге имени целиком или частично с заданием индексов?
...
Рейтинг: 0 / 0
Вопрос по производительности !!!
    #33225043
LittleCat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну я LittleCatПочему же прикол, прежде чем отпостить, естественно проверил у себя ;-)
Cache for Windows NT (Intel/P4) 5.0.17 (Build 6006) Wed Jun 22 2005 12:17:36 EDT
У меня Cache for Windows NT (Intel/P4) 5.0.15 (Build 5802) Fri Mar 18 2005 13:05:32 EST
Добавил маппинг глобала целиком. Через ^%GD его не вижу, через ssvn ^$global вижу.

Вы проверяли при маппинге имени целиком или частично с заданием индексов?
Маппинг целиком глобала, но если он не существует, то %GD его не показывает. Создаешь - показывает.
...
Рейтинг: 0 / 0
Вопрос по производительности !!!
    #33225080
MX - ALEX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
LittleCat MX - ALEX
кстати не подскажете как в CACHE перебросить узел глобали в другой КИП
?
А по полной ссылке, как и раньше ;-) Например так...

s ^["SAMPLES"]a=1

точно ! спасибо

а все-таки у кого за сколько секунд ползет сотня глобалей
в цикле по $o(^$GLOBALS(..
ведь вопрос не сам по себе - а возможно и в других случаях
будет тормоз по схожей причине -
лучше знать заранее где слабое звено
- или у меня лыжи не смазаны ?
...
Рейтинг: 0 / 0
Вопрос по производительности !!!
    #33225108
LittleCat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LittleCat ну я LittleCatПочему же прикол, прежде чем отпостить, естественно проверил у себя ;-)
Cache for Windows NT (Intel/P4) 5.0.17 (Build 6006) Wed Jun 22 2005 12:17:36 EDT
У меня Cache for Windows NT (Intel/P4) 5.0.15 (Build 5802) Fri Mar 18 2005 13:05:32 EST
Добавил маппинг глобала целиком. Через ^%GD его не вижу, через ssvn ^$global вижу.

Вы проверяли при маппинге имени целиком или частично с заданием индексов?
Маппинг целиком глобала, но если он не существует, то %GD его не показывает. Создаешь - показывает.
Кстати, и ^$GLOBAL ведет себя точно так же...
...
Рейтинг: 0 / 0
Вопрос по производительности !!!
    #33225176
Фотография ну я
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LittleCat ну я LittleCatПочему же прикол, прежде чем отпостить, естественно проверил у себя ;-)
Cache for Windows NT (Intel/P4) 5.0.17 (Build 6006) Wed Jun 22 2005 12:17:36 EDT
У меня Cache for Windows NT (Intel/P4) 5.0.15 (Build 5802) Fri Mar 18 2005 13:05:32 EST
Добавил маппинг глобала целиком. Через ^%GD его не вижу, через ssvn ^$global вижу.

Вы проверяли при маппинге имени целиком или частично с заданием индексов?
Маппинг целиком глобала, но если он не существует, то %GD его не показывает. Создаешь - показывает.
У меня нет оснований Вам не верить, но и нет оснований не верить тому что наблюдаю у себя уже много лет и на разных версиях. Остается либо приехать к Вам и убедиться лично в деталях, либо пусть рассудят представители ИС. Для запроса в WRC у меня не хватает оснований потому что на моем сервере все работает как всегда - через ssvn ^$global с маппингом, через ^%GD без маппинга и пока я не представляю как именно это воспроизвести у себя.
...
Рейтинг: 0 / 0
Вопрос по производительности !!!
    #33225299
LittleCat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну я
У меня нет оснований Вам не верить, но и нет оснований не верить тому что наблюдаю у себя уже много лет и на разных версиях. Остается либо приехать к Вам и убедиться лично в деталях, либо пусть рассудят представители ИС. Для запроса в WRC у меня не хватает оснований потому что на моем сервере все работает как всегда - через ssvn ^$global с маппингом, через ^%GD без маппинга и пока я не представляю как именно это воспроизвести у себя.
Проверил на
Код: plaintext
Cache for UNIX (Linux/Intel)  4 . 1 . 5  (Build  183 ) Tue Mar  5   2002   15 : 32 : 10  EST
и опять полное совпадение... Может мы говорим о каких-то разных вещах ? Описываю эксперимент, может вместе разберемся, где отличия ?...
1. Все базы данных локальные
2. рабочая область USER, описываем маппинг одного глобала (пусть это будет ^a), базу данных для его хранения меняем на SAMPLES
3. Глобал пока не создан, в области USER выполняем %GD, глобал не наблюдаем.
Выполняем простейший код
Код: plaintext
USER>s a="" f  s a=$o(^$G(a)) q:a=""  w !,a
глобала не наблюдаем
4. Создаем глобал простым присваиванием
Код: plaintext
USER>s ^a= 1 
Выполняем d ^%GD, глобал ^a в списке присутствует, выполняем проход по ^$G, глобал в списке присутствует.
...
Рейтинг: 0 / 0
Вопрос по производительности !!!
    #33225365
Фотография ну я
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все базы локальные.
В области USER создаю маппинг глобала ^ZipCodeData из области SAMPLES.
При просмотре
s a="" f s a=$o(^$G(a)) q:a="" w !,a
глобаль ^ZipCodeData есть.
Делаю d ^%GD глобаль ^ZipCodeData есть.
Делаю d GetDir^%GD($zn,"list") глобали ^ZipCodeData не видно.
Делаю d Fetch^%GD("*") (выводит в ^%utility($j)) глобаль ^ZipCodeData видна.

Мы разошлись в том, что я все время пользовался GetDir^%GD.
Но ^%GD вызывает Fetch^%GD, а он кроме каталога текущего датасета также берет и мапленые.

Спасибо за участие.
Разобрались, кажется...
...
Рейтинг: 0 / 0
Вопрос по производительности !!!
    #33225374
LittleCat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну я
Спасибо за участие.
Разобрались, кажется...
Я тоже рад, что система у нас работает одинаково :-)))
...
Рейтинг: 0 / 0
25 сообщений из 25, страница 1 из 1
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Вопрос по производительности !!!
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]