|
Вопрос по производительности !!!
|
|||
---|---|---|---|
#18+
Господа Всем здравствуйте !!! Простой маленький код программы глушит сервер наповал !!! В чем моя ошибка ??? Код: plaintext 1. 2. 3. 4. 5. 6.
Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2005, 15:42 |
|
Вопрос по производительности !!!
|
|||
---|---|---|---|
#18+
ValeriuГоспода Всем здравствуйте !!! Простой маленький код программы глушит сервер наповал !!! В чем моя ошибка ??? Код: plaintext 1. 2. 3. 4. 5. 6.
Спасибо. Валерий , у меня Ваш код выполнялся невыносимо долго - 13 секунд видимо так медленно работает $o(^$GLOBAL.. но это не зависание :) ------------- ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2005, 09:56 |
|
Вопрос по производительности !!!
|
|||
---|---|---|---|
#18+
Все O' Key !!! Спасибо Дмитрию Зюльманову подсказал !!! Код: plaintext 1. 2. 3. 4. 5. 6. 7.
Алекс, спасибо что отозвался !!! ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2005, 10:32 |
|
Вопрос по производительности !!!
|
|||
---|---|---|---|
#18+
ValeriuВсе O' Key !!! Спасибо Дмитрию Зюльманову подсказал !!! [src]GlbList() N Val,Nacop,Return d GetDir^%GD($zu(5),"GDir") ? Валерий, Дмитрий, а для чего d GetDir^%GD($zu(5),"GDir") ? ------------------- ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2005, 11:21 |
|
Вопрос по производительности !!!
|
|||
---|---|---|---|
#18+
Конкретно для меня, этот код возвращает пользовательскому приложению (VB,Delphi etc.) список глобалей содержащихся в области. Это типа D ^%GD.... ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2005, 14:38 |
|
Вопрос по производительности !!!
|
|||
---|---|---|---|
#18+
ValeriuКонкретно для меня, этот код возвращает пользовательскому приложению (VB,Delphi etc.) список глобалей содержащихся в области. Это типа D ^%GD.... это понятно а каким способом он там быстро бежит по списку глобов как мы видим прохождение по $o(^$GLOBALS.. идет очень тоскливо - медленно нет ли у Вас исходника ^%GD ? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2005, 15:37 |
|
Вопрос по производительности !!!
|
|||
---|---|---|---|
#18+
Хотелось и мне поглядеть, ведь сравнить-то надо, но к сожалению исходника нету... В MSM-е, M3 $o(^$GLOBAL работает как и привыкли, а здесь с наворотами. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2005, 15:45 |
|
Вопрос по производительности !!!
|
|||
---|---|---|---|
#18+
Люди, да вы что ! При установке поставьте галку "Исходники утилит управления" и любуйтесь на исходный текст %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 и парсинг блоков глобального каталога... ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2005, 21:06 |
|
Вопрос по производительности !!!
|
|||
---|---|---|---|
#18+
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 секунд ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2005, 08:43 |
|
Вопрос по производительности !!!
|
|||
---|---|---|---|
#18+
MX - ALEX и все равно интересно как удалось добится чтобы проход в цикле по списку глобалей по $o(^$GLOBALS.. тянулся 13 секунд А чего уж тут непонятного... Все силы ИС брошены на модные передовые технологии, а поддержку стандарта языка поручили каким-нибудь студентам, наверное... В MSM так вперед не рвались, зато за качеством следили :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2005, 09:06 |
|
Вопрос по производительности !!!
|
|||
---|---|---|---|
#18+
LittleCat MX - ALEX и все равно интересно как удалось добится чтобы проход в цикле по списку глобалей по $o(^$GLOBALS.. тянулся 13 секунд А чего уж тут непонятного... Все силы ИС брошены на модные передовые технологии, а поддержку стандарта языка поручили каким-нибудь студентам, наверное... В MSM так вперед не рвались, зато за качеством следили :-) убью, студент ! ... кстати не подскажете как в CACHE перебросить узел глобали в другой КИП ? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2005, 10:46 |
|
Вопрос по производительности !!!
|
|||
---|---|---|---|
#18+
Получение списка глобалов через ssvn ^$global и системной ^%GD это вообще-то разные результаты. Первое - получение на логическом уровне (включая текущий маппинг из других областей), второе - на физическом уровне, читает что прописано в файле данных. Это традиционная дилемма cache - как список получать так опять думать которым же из способов пользоваться в текущей задаче. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2005, 11:04 |
|
Вопрос по производительности !!!
|
|||
---|---|---|---|
#18+
MX - ALEX кстати не подскажете как в CACHE перебросить узел глобали в другой КИП ? А по полной ссылке, как и раньше ;-) Например так... s ^["SAMPLES"]a=1 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2005, 11:38 |
|
Вопрос по производительности !!!
|
|||
---|---|---|---|
#18+
ну яПолучение списка глобалов через ssvn ^$global и системной ^%GD это вообще-то разные результаты. Первое - получение на логическом уровне (включая текущий маппинг из других областей), второе - на физическом уровне, читает что прописано в файле данных. Это традиционная дилемма cache - как список получать так опять думать которым же из способов пользоваться в текущей задаче. Насколько я знаю, %GD и отмаппированные глобалы тоже показывает ;-) Так что пока разницы не видно (кроме реализации, конечно)... ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2005, 11:55 |
|
Вопрос по производительности !!!
|
|||
---|---|---|---|
#18+
ну яЭто традиционная дилемма cache - как список получать так опять думать которым же из способов пользоваться в текущей задаче. А диллема связана только с реализацией, концептуально ее нет - чем ближе решение к стандарту языка, тем лучше, тем выше переносимость кода, сопровождаемость. Как известно, продукты написанные на стандартном языке, без использования всяких фишек, живут десятилетиями, а вот те, где применены всякие "изюминки", быстро умирают, увы.... ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2005, 12:09 |
|
Вопрос по производительности !!!
|
|||
---|---|---|---|
#18+
LittleCat ну яПолучение списка глобалов через ssvn ^$global и системной ^%GD это вообще-то разные результаты. Первое - получение на логическом уровне (включая текущий маппинг из других областей), второе - на физическом уровне, читает что прописано в файле данных. Это традиционная дилемма cache - как список получать так опять думать которым же из способов пользоваться в текущей задаче. Насколько я знаю, %GD и отмаппированные глобалы тоже показывает ;-) Так что пока разницы не видно (кроме реализации, конечно)... Блин, я даже купился на прикол и специально пошел проверил. Даже напугался что и правда функционал поменялся и оба показывают одно и то же. Поберегите мое сердечко, плиз ;-), не надо больше таких шуток. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2005, 12:13 |
|
Вопрос по производительности !!!
|
|||
---|---|---|---|
#18+
ну я 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 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2005, 12:26 |
|
Вопрос по производительности !!!
|
|||
---|---|---|---|
#18+
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 вижу. Вы проверяли при маппинге имени целиком или частично с заданием индексов? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2005, 12:34 |
|
Вопрос по производительности !!!
|
|||
---|---|---|---|
#18+
ну я 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 его не показывает. Создаешь - показывает. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2005, 12:38 |
|
Вопрос по производительности !!!
|
|||
---|---|---|---|
#18+
LittleCat MX - ALEX кстати не подскажете как в CACHE перебросить узел глобали в другой КИП ? А по полной ссылке, как и раньше ;-) Например так... s ^["SAMPLES"]a=1 точно ! спасибо а все-таки у кого за сколько секунд ползет сотня глобалей в цикле по $o(^$GLOBALS(.. ведь вопрос не сам по себе - а возможно и в других случаях будет тормоз по схожей причине - лучше знать заранее где слабое звено - или у меня лыжи не смазаны ? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2005, 12:44 |
|
Вопрос по производительности !!!
|
|||
---|---|---|---|
#18+
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 ведет себя точно так же... ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2005, 12:50 |
|
Вопрос по производительности !!!
|
|||
---|---|---|---|
#18+
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 без маппинга и пока я не представляю как именно это воспроизвести у себя. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2005, 13:12 |
|
Вопрос по производительности !!!
|
|||
---|---|---|---|
#18+
ну я У меня нет оснований Вам не верить, но и нет оснований не верить тому что наблюдаю у себя уже много лет и на разных версиях. Остается либо приехать к Вам и убедиться лично в деталях, либо пусть рассудят представители ИС. Для запроса в WRC у меня не хватает оснований потому что на моем сервере все работает как всегда - через ssvn ^$global с маппингом, через ^%GD без маппинга и пока я не представляю как именно это воспроизвести у себя. Проверил на Код: plaintext
1. Все базы данных локальные 2. рабочая область USER, описываем маппинг одного глобала (пусть это будет ^a), базу данных для его хранения меняем на SAMPLES 3. Глобал пока не создан, в области USER выполняем %GD, глобал не наблюдаем. Выполняем простейший код Код: plaintext
4. Создаем глобал простым присваиванием Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2005, 13:55 |
|
Вопрос по производительности !!!
|
|||
---|---|---|---|
#18+
Все базы локальные. В области 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, а он кроме каталога текущего датасета также берет и мапленые. Спасибо за участие. Разобрались, кажется... ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2005, 14:13 |
|
|
start [/forum/topic.php?fid=39&fpage=91&tid=1559699]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
77ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
2ms |
others: | 240ms |
total: | 426ms |
0 / 0 |