Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Размер глобала
|
|||
|---|---|---|---|
|
#18+
Как можно средствами COS узнать размер глобала ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2005, 13:30 |
|
||
|
Размер глобала
|
|||
|---|---|---|---|
|
#18+
Смотря какой размер... Если просто данных, то можно пробежаться по глобалу и считать размеры (медленно). Или см. работу утилиты ^%GSIZE. Оттуда можно взять код. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2005, 14:19 |
|
||
|
Размер глобала
|
|||
|---|---|---|---|
|
#18+
А где можно найти утилиту %GSIZE? В проводнике в областях %SYS и %CACHELIB в списке программ её нету. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2005, 13:39 |
|
||
|
Размер глобала
|
|||
|---|---|---|---|
|
#18+
Mr NА где можно найти утилиту %GSIZE? В проводнике в областях %SYS и %CACHELIB в списке программ её нету. А Вы попробуйте задать маску поиска *.obj ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2005, 15:27 |
|
||
|
Размер глобала
|
|||
|---|---|---|---|
|
#18+
LittleCat Mr NА где можно найти утилиту %GSIZE? В проводнике в областях %SYS и %CACHELIB в списке программ её нету. А Вы попробуйте задать маску поиска *.obj Хотелось бы посмотреть исходный код этой утилиты, но по поиску *.int или *.mac ничего не находится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2005, 16:16 |
|
||
|
Размер глобала
|
|||
|---|---|---|---|
|
#18+
При установке Cache нужно поставить галку - грузить исходники системных утилит (неуверен что работает в демо версии). Можно еще при распаковке дистрибутива найти исходники (непомню в какой директории). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2005, 16:49 |
|
||
|
Размер глобала
|
|||
|---|---|---|---|
|
#18+
Maksim UM(неуверен что работает в демо версии). Демо-версия ничем не отличается от полноценной кроме возможностей многопользовательской работы, так что смело ставьте галку и изучайте исходные тексты системных утилит :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2005, 20:20 |
|
||
|
Размер глобала
|
|||
|---|---|---|---|
|
#18+
LittleCat Демо-версия ничем не отличается от полноценной кроме возможностей многопользовательской работы А разве там не урезаны некоторые вещи? Например, размер буфера и что-то еще? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2005, 10:12 |
|
||
|
Размер глобала
|
|||
|---|---|---|---|
|
#18+
Многопользовательская версия и Cache' PC - отдельные дистрибутивы. Для Cache' PC не нужен лицензионный ключ. Cache' PC не может использовать лицензионный ключ. В демоверсии ограничены размеры буфера глобалов и программ. Это негативно сказывается на производительности. Данные и программы не кэшируются в памяти, а каждый раз запрашиваются с диска. Соответственно, если нужно тестировать производительность Cache', нужно запрашивать многопользовательскую версию с временной лицензией в офисе InterSysystems. Вадим ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2005, 11:35 |
|
||
|
Размер глобала
|
|||
|---|---|---|---|
|
#18+
Поставил версию 5.0.15, нашёл в ней исходники %GSIZE, в инсталяхе версии 5.0.5 почему-то не мог найти опцию установки исходников. Из найденного кода получилась следующая функция, которая в качестве параметра получает имя глобала без знака "^" и возвращает размер глобала в байтах: GSize(G) S DIR = "" If $zbitget($zversion(0),21) { Set dirinfo=$zu(49,DIR) Set bigdb=$Piece(dirinfo,",",21) Set blksiz=$Piece(dirinfo,",",2) } else { Set bigdb=0 Set blksiz=2048 } Set datasize=$Case(blksiz,2048:2036,:(blksiz-$zu(40,32,10))) s (n,k,c)=0 ;n:bytes,k:blocks,c:contiguous blocks? Set rc=$$GetGlobalPointers^%DM(DIR,G,,.b) //If ('rc) Do ShowMessage(rc,$Get(IO,0)) Quit "" o 63 f q:'b d q:$d(err) s p=b+1,b=$$GetLinkBlockFromViewBuffer^%DMREPAIR(bigdb),c=c+(p=b) . v b s t=$$GetBlockTypeFromViewBuffer^%DMREPAIR(bigdb) . i t-8,t-12 s err="?TOB: "_b_":"_t q ;unexpected type of block . s n=n+$$GetOffsetFromViewBuffer^%DMREPAIR(bigdb),k=k+1 ;q:t=8 ;so much for normal data blocks . Set n=n-$Case(bigdb,0:0,:$zu(40,32,10)) ;Adjust number for header bytes . f i=1:1 s x=$v(i*2-1,-6) q:x="" d q:$d(err) . . ;Next line covers all the long string types for both 2k and bigdb . . s v=$v(i*2,-6) If $a(v)'=5,($a(v)'=$Case(bigdb,0:9,:7)),($a(v)'=3) Quit . . s nb=$p(v,",",2),r=$p(v,",",3) ;nb: # of blocks,r:#bytes in last block . . s n=n+((nb-1)*blksiz)+r,k=k+(nb-1)+''r c 63 //q n_","_k_","_c_$g(err) Set bytes = $fn(n,",") Quit bytes ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2005, 12:07 |
|
||
|
Размер глобала
|
|||
|---|---|---|---|
|
#18+
Mr NПоставил версию 5.0.15, нашёл в ней исходники %GSIZE, в инсталяхе версии 5.0.5 почему-то не мог найти опцию установки исходников. Из найденного кода получилась следующая функция, которая в качестве параметра получает имя глобала без знака "^" и возвращает размер глобала в байтах: GSize(G) S DIR = "" If $zbitget($zversion(0),21) { Set dirinfo=$zu(49,DIR) Set bigdb=$Piece(dirinfo,",",21) Set blksiz=$Piece(dirinfo,",",2) } else { Set bigdb=0 Set blksiz=2048 } Set datasize=$Case(blksiz,2048:2036,:(blksiz-$zu(40,32,10))) s (n,k,c)=0 ;n:bytes,k:blocks,c:contiguous blocks? Set rc=$$GetGlobalPointers^%DM(DIR,G,,.b) //If ('rc) Do ShowMessage(rc,$Get(IO,0)) Quit "" o 63 f q:'b d q:$d(err) s p=b+1,b=$$GetLinkBlockFromViewBuffer^%DMREPAIR(bigdb),c=c+(p=b) . v b s t=$$GetBlockTypeFromViewBuffer^%DMREPAIR(bigdb) . i t-8,t-12 s err="?TOB: "_b_":"_t q ;unexpected type of block . s n=n+$$GetOffsetFromViewBuffer^%DMREPAIR(bigdb),k=k+1 ;q:t=8 ;so much for normal data blocks . Set n=n-$Case(bigdb,0:0,:$zu(40,32,10)) ;Adjust number for header bytes . f i=1:1 s x=$v(i*2-1,-6) q:x="" d q:$d(err) . . ;Next line covers all the long string types for both 2k and bigdb . . s v=$v(i*2,-6) If $a(v)'=5,($a(v)'=$Case(bigdb,0:9,:7)),($a(v)'=3) Quit . . s nb=$p(v,",",2),r=$p(v,",",3) ;nb: # of blocks,r:#bytes in last block . . s n=n+((nb-1)*blksiz)+r,k=k+(nb-1)+''r c 63 //q n_","_k_","_c_$g(err) Set bytes = $fn(n,",") Quit bytes в версии 5.1 ругается - Set rc=$$GetGlobalPointers^%DM(DIR,G,,.b) ^ <LINER>GSize+21^MXF ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2005, 15:29 |
|
||
|
Размер глобала
|
|||
|---|---|---|---|
|
#18+
to MX - ALEX. Покажите, пожалуйста, как в вашей версии выглядит код функции detail утилиты %GSIZE. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2005, 16:21 |
|
||
|
Размер глобала
|
|||
|---|---|---|---|
|
#18+
Mr Nto MX - ALEX. Покажите, пожалуйста, как в вашей версии выглядит код функции detail утилиты %GSIZE. не знаю как посмотреть исходный код утилиты %GSIZE ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2005, 09:20 |
|
||
|
Размер глобала
|
|||
|---|---|---|---|
|
#18+
to MX - ALEX: Откройте в проводнике ветку Области->%SYS->Программы. Выберите из списка программу %GSIZE.int и два раза щёлкните по ней. Если её нету в списке, то попробуйте задать маску поиска *.int. Если и после этого её и других программ с расширением int не будет в списке, то скорее всего у вас не установлены исходники. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2005, 09:41 |
|
||
|
Размер глобала
|
|||
|---|---|---|---|
|
#18+
Mr Nto MX - ALEX: Откройте в проводнике ветку Области->%SYS->Программы. Выберите из списка программу %GSIZE.int и два раза щёлкните по ней. Если её нету в списке, то попробуйте задать маску поиска *.int. Если и после этого её и других программ с расширением int не будет в списке, то скорее всего у вас не установлены исходники. в версии 5.1 нет проводника как в 5.0 %GSAVE в списках программ %SYS не значится хотя работает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2005, 14:37 |
|
||
|
|

start [/forum/topic.php?fid=39&msg=33288781&tid=1559677]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
42ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
| others: | 233ms |
| total: | 372ms |

| 0 / 0 |
