Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Re: Caché 2007.1 Field Test 2 / 15 сообщений из 15, страница 1 из 1
21.11.2006, 12:11
    #34143208
Re: Caché 2007.1 Field Test 2
Студия есть новая?
...
Рейтинг: 0 / 0
05.12.2006, 11:13
    #34176811
Hoar Frost
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Re: Caché 2007.1 Field Test 2
Отладчик по методам класса и мак-программам. try/catch для обработки ошибок вместо старого синтаксиса. Подсказчик по коду.

Есть что-нибудь, что еще нужно?
...
Рейтинг: 0 / 0
05.12.2006, 11:28
    #34176865
Maksim UM
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Re: Caché 2007.1 Field Test 2
Может уже и заработало, но в Test1 не обнаружил.
Было бы неплохо, что бы работала подсказка по ##this (те у ##this показывались
свойства и методы...)
...
Рейтинг: 0 / 0
05.12.2006, 12:00
    #34177029
MX -- ALEX
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Re: Caché 2007.1 Field Test 2
Hoar FrostОтладчик по методам класса и мак-программам. try/catch для обработки ошибок вместо старого синтаксиса. Подсказчик по коду.

Есть что-нибудь, что еще нужно?

скорость в CACHE вполне приличная
но если прибавить - будет совсем распрекрасно

есть ли прибавка в скорости ?
или что-либо новое что позволит еще быстрее работать

============
...
Рейтинг: 0 / 0
05.12.2006, 13:24
    #34177362
VadimF
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Re: Caché 2007.1 Field Test 2
MX -- ALEX
скорость в CACHE вполне приличная
но если прибавить - будет совсем распрекрасно

есть ли прибавка в скорости ?
или что-либо новое что позволит еще быстрее работать
============

Усовершенствование программ.

Документация 2007.1
Routine Performance Enhancements
COS routine management has been extensively revised in 2007.1. As a result, the way routines are managed by Caché is now much more efficient. The amount of overhead spent invoking a new routine may up to an order of magnitude less in this release. Furthermore, in prior releases, the number of routine buffers could become a source of contention in systems with dozens of cpus; this is far less likely.
Among the changes is the addition of a new per-process cache identifying recently used routines. The cache speeds up the process of locating routines which are used frequently within the process. In addition, the cache changes the way routine buffers are managed by the system.
In prior releases, only the actual routine buffers being executed were protected against change. All others could be modified. A consequence of this was that prior routines on the call stack could be changed (for example, by recompilation). To illustrate the issue, suppose a routine, A, was executing and then called routine, B. When B started running, A was available to be changed. If A was re-compiled while B was executing, the buffer holding A became obsolete and was released. When B attempted to return to A, Caché would notice this fact and report an <EDITED> error.
With the per-process cache in place, the <EDITED> error no longer occurs. This is because all routines on the call stack of any process have their current versions locked. So the associated buffers do not become obsolete. B always returns the proper version of its caller, A.
To carry the examination further, if B returns to A and, while A is executing, B is recompiled. The next call from A to B will execute the re-compiled version of B. Similarly, if A is re-compiled while B is executing and B then calls A, the new version of A will be invoked. When the new A returns to B and B subsequently returns, it will return to the prior version if A that was preserved in the routine buffer.
The initial size of the per-process cache (called the "routine vector") is set at system startup. The default is 256. This number can be changed via the function, $ZU(96,29,<value>). The cache can be cleared of all routines not in use with $ZU(96,31). Note that routines are cached by namespace; changing namespaces clears the cache. Changing the routine search path via $zu(39,...) also clears the cache.
Because the per-process cache causes system routine buffers to be held until they are no longer in use, it is possible for a large collection of processes to consume all available buffers. When this happens, Cache will force the reduction of each of the per-processes cache by some amount, freeing unused buffers. This reduction may recur until sufficient buffers are available for sustained operation.
Note:
By default each process may cache up to 256 routines. As the system starts running out of available buffers, it will adjust the number of cached routines allowed per process down by 10% every quarter-second. When the number of cached routines per process is 30% of the originally configured number, Caché will log a message to the console, indicating the system may no longer be running efficiently.
When the number reaches 20% of the original setting, Caché will log a warning; and at the 10% threshold will log a “severe” message to the console that indicates the system may hang.
The system will hang when it runs out of routine buffers and cannot free any for use.
Caution:
The routines held in the cache by dead processes keep the buffers they hold in use until the dead process is removed or the system shuts down.



Усовершенствования журнала

Документация 2007.1Journal Enhancements
With this release, a number of internal improvements have been made to the performance and reliability of synchronous journal writes. In addition, system management improvements have been made to enable journal files to be retained on shadow systems for a limited period of time.

Усовершенствования в SQL. Например:

Документация 2007.1Aggregate Optimizations — This release includes performance enhancements for SQL queries with multiple aggregates or with a combination of aggregates and GROUP BY.

Вадим
...
Рейтинг: 0 / 0
05.12.2006, 14:39
    #34177671
Ptn
Ptn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Re: Caché 2007.1 Field Test 2
По рутинам последние строчки ... как то настораживают :)

IMXO 256 это маловато.... Каждый класс может рождать по 4-8 рутин... не говоря уже о csp. IMXO
...
Рейтинг: 0 / 0
05.12.2006, 14:46
    #34177689
Sergei Obrastsov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Re: Caché 2007.1 Field Test 2
VadimF MX -- ALEX
скорость в CACHE вполне приличная
но если прибавить - будет совсем распрекрасно

есть ли прибавка в скорости ?
или что-либо новое что позволит еще быстрее работать
============

Усовершенствование программ.

Документация 2007.1
Routine Performance Enhancements
COS routine management has been extensively revised in 2007.1. As a result, the way routines are managed by Caché is now much more efficient.Вадим
Все, конечно, может быть. Но вот, навскидку, 5.2 медленнее 5.0. На простом умножении/делении
в цикле. Ненамного, но устойчиво. Мелочь, конечно, а неприятно.
...
Рейтинг: 0 / 0
07.12.2006, 19:40
    #34184494
Ptn
Ptn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Re: Caché 2007.1 Field Test 2
Sergei ObrastsovВсе, конечно, может быть. Но вот, навскидку, 5.2 медленнее 5.0. На простом умножении/делении
в цикле. Ненамного, но устойчиво. Мелочь, конечно, а неприятно.

Не удалось проверить :(

AXP-1700+
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
//  5 . 0 . 21 
$FNUMBER =      . 034756   ~        2 , 877 , 201 
DIV =           . 024283   ~        4 , 118 , 107 
MUL =           . 014496   ~        6 , 898 , 455 
MULDIV =        . 03743    ~        2 , 671 , 654 
HOROLOG =       . 072978   ~        1 , 370 , 276 
ZD =            . 047318   ~        2 , 113 , 361 
ZDH =           . 023916   ~        4 , 181 , 301 
PEICE =         . 024043   ~        4 , 159 , 215 
LENGTH =        . 023783   ~        4 , 204 , 684 
FIND =          . 034298   ~        2 , 915 , 622 
LISTBUILD =     . 009999   ~       10 , 001 , 000 
LISTGET3 =      . 020147   ~        4 , 963 , 518 
LISTGET7 =      . 023435   ~        4 , 267 , 122 
LISTFIND =      . 03844    ~        2 , 601 , 457 

//  5 . 2 
$FNUMBER =      . 039504   ~        2 , 531 , 389 
DIV =           . 024812   ~        4 , 030 , 308 
MUL =           . 013428   ~        7 , 447 , 125 
MULDIV =        . 036412   ~        2 , 746 , 347 
HOROLOG =       . 092883   ~        1 , 076 , 623 
ZD =            . 040346   ~        2 , 478 , 560 
ZDH =           . 024063   ~        4 , 155 , 758 
PEICE =         . 025705   ~        3 , 890 , 294 
LENGTH =        . 022846   ~        4 , 377 , 134 
FIND =          . 032434   ~        3 , 083 , 184 
LISTBUILD =     . 010303   ~        9 , 705 , 911 
LISTGET3 =      . 021194   ~        4 , 718 , 317 
LISTGET7 =      . 021388   ~        4 , 675 , 519 
LISTFIND =      . 038714   ~        2 , 583 , 045 

Есть какие-нибудь методики измерения ?

Интересует еще максимальная скорость выборки через SQL для простой таблицы из двух полей.
(SELECT a1,a2 FROM SQLUser.T1) через %ResultSet c последующим while

У меня получается максимум выборка ~55.000 тыс записей в секунду (если я ничего не путаю).

Хотелось бы узнать у собеседников - насколько это близко к максимально достижимому результату.
...
Рейтинг: 0 / 0
07.12.2006, 19:41
    #34184495
Ptn
Ptn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Re: Caché 2007.1 Field Test 2
Файл забыл приложить
...
Рейтинг: 0 / 0
08.12.2006, 02:54
    #34184886
Sergei Obrastsov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Re: Caché 2007.1 Field Test 2
Ptn
// 5.0.21
Код: plaintext
1.
2.
DIV =           . 024283   ~        4 , 118 , 107 
MUL =           . 014496   ~        6 , 898 , 455 
// 5.2
Код: plaintext
1.
2.
DIV =           . 024812   ~        4 , 030 , 308 
MUL =           . 013428   ~        7 , 447 , 125 

Ну, не буду спорить. Смотрим:

комп - Celeron, 1.2Ghz, 512Mb,
тупенький такой тестик:
Код: plaintext
1.
f q= 1 : 1 : 10  s t=$zh f f= 1 : 1 :1e6 s a=f* 3 . 1415926  i f=1e6 w !,$zh-t

получаем:
//Cache for Windows NT (Intel) 5.0.11 (Build 5401)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
. 593793 
. 593716 
. 59248 
. 591399 
. 591754 
. 591568 
. 588518 
. 595346 
. 599763 
. 590741 

//Cache for Windows (Intel) 5.2 (Build 329_su)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
. 621468 
. 631665 
. 622674 
. 619441 
. 621049 
. 617484 
. 621149 
. 633528 
. 622206 
. 620592 

Угу, посмотрели. Теперь деление:
Код: plaintext
1.
f q= 1 : 1 : 10  s t=$zh f f= 1 : 1 :1e6 s a=f/ 3 . 1415926  i f=1e6 w !,$zh-t

Аналогично:
//Cache for Windows NT (Intel) 5.0.11 (Build 5401)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
. 814633 
. 807602 
. 816079 
. 793291 
. 809804 
. 810414 
. 802831 
. 814909 
. 802893 
. 801848 

//Cache for Windows (Intel) 5.2 (Build 329_su)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
. 838112 
. 842657 
. 835055 
. 835232 
. 835379 
. 829963 
. 841458 
. 835603 
. 834153 
. 840585 

Вот так.
Код: plaintext
1.
2.
3.
DIV	new i,t,z set t=$ZH for i= 1 : 1 :$$$COUNTPASS { set z= 2 . 4567 / 1 . 031 } set z=$ZH
	w "DIV = ",$c( 9 ),$c( 9 ),(z-t),$c( 9 )," ~ ",$j($FN(i/(z-t),",", 0 ), 15 ),!
	q
Ваш тест использовать не стал, завязан на реализацию NEW и скобочного IF, следовательно не чист.

P.S. Да, я понимаю, что в конце стоило бы поставить QUIT :) Будет чуть быстрее в обоих вариантах. Но общей картины это не меняет.
...
Рейтинг: 0 / 0
08.12.2006, 08:39
    #34185046
Sergei Obrastsov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Re: Caché 2007.1 Field Test 2
Sergei Obrastsov
Ваш тест использовать не стал, завязан на реализацию NEW и скобочного IF, следовательно не чист.

Что-то я тут спросонья не то написал. Причем тут NEW и IF? :) Но действительно лучше напрямую
...
Рейтинг: 0 / 0
08.12.2006, 08:57
    #34185073
Ptn
Ptn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Re: Caché 2007.1 Field Test 2
(чешет репу) - будем думать....
...
Рейтинг: 0 / 0
08.12.2006, 14:54
    #34186477
VadimF
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Re: Caché 2007.1 Field Test 2
Странные результаты получились. Во всяком случае Cache' 5.2 быстрее Cache' 5.1. на наборе тестовых приложений в лаборатории InterSystems, которая занимается исследованиями производительности.

Еще пара комментариев
1. Почему нельзя применять new и if {} ?
2. Вы тестируете Cache' 5.2. Single User, которая ограничена по производительности. Не факт, что это влияет на этот тест, но все таки. Попробуйте лучше многопользовательскую версию.
2. Усовершенствования программ в Cache 2007.1.

Вадим
...
Рейтинг: 0 / 0
08.12.2006, 15:11
    #34186539
Sergei Obrastsov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Re: Caché 2007.1 Field Test 2
VadimFСтранные результаты получились. Во всяком случае Cache' 5.2 быстрее Cache' 5.1. на наборе тестовых приложений в лаборатории InterSystems, которая занимается исследованиями производительности.

Не спорю. Смотря, правда, что тестировать :)

VadimF
Еще пара комментариев
1. Почему нельзя применять new и if {} ?

Да можно конечно. Но это лишние затраты, не относящиеся непосредственно к вычислениям.

VadimF
2. Вы тестируете Cache' 5.2. Single User, которая ограничена по производительности. Не факт, что это влияет на этот тест, но все таки. Попробуйте лучше многопользовательскую версию.

Чем ограничена? Вроде только размером cache для глобалей? Уж не вставлен ли туда дополнительный цикл на каждую команду?

VadimF
2. Усовершенствования программ в Cache 2007.1.

Ну, это вряд ли относится к п-коду, насколько я прочитал. Программы - да, будут грузиться быстрее, но вот выполняться быстрее - эт вряд ли. Я, конечно, не являюсь эдаким знатоком компиляторов, но разницу между оптимизациями по размеру кода и по скорости выполнения все-таки вижу.
...
Рейтинг: 0 / 0
12.12.2006, 01:26
    #34191917
Sergei Obrastsov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Re: Caché 2007.1 Field Test 2
Hу вот, я снова возвращаюсь к теме скорости. Жаль, что никто больше не захотел высказаться.
Пользуясь случаем, благодарю за присланный ключик, правда на _SU от него проку нет, но все-равно спасибо большое! :) Итак, открою маленький секрет - это результаты тестирования в
командном режиме. Не надо спешить забрасывать меня, эээ, отходами, я потом все скажу и по этому поводу тоже. Во избежание кривотолков, та же самая строчка, но уже в программном виде,
ну и результаты конечно же.

Комп тот же: Celeron, 1.2GHz, 512Mb, Cache 5.01 и Cache 5.2 запущены одновременно.

тест:
Код: plaintext
1.
f q= 1 : 1 : 10  s t=$zh f f= 1 : 1 :1e6 s a=f* 3 . 1415926  i f=1e6 w !,$zh-t q

//Cache for Windows NT (Intel) 5.0.11 (Build 5401)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
. 403342 
. 405468 
. 421174 
. 413723 
. 413539 
. 424475 
. 414722 
. 406756 
. 404847 
. 40553 

//Cache for Windows (Intel) 5.2 (Build 329_su)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
. 408371 
. 415352 
. 438575 
. 420914 
. 409139 
. 411986 
. 40438 
. 42033 
. 413872 
. 407692 

Ну, почти одинаково. В общем итоге 5.2 чуть-чуть выигрывает, что не удивительно.
Ну а теперь обещаное НО... А НО в данном случае означает - сгенерированные программы,
а это SQL и стандартные методы классов, кхгм, используют XECUTE. Вопросы будут?
...
Рейтинг: 0 / 0
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Re: Caché 2007.1 Field Test 2 / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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