Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Кто тестировал Cache 5.2 ?
|
|||
|---|---|---|---|
|
#18+
Есть ли у кого сравнительный анализ по поводу скорости вычислений чисел с плавающей запятой, как в этом случае выглядит обращение к такой математике, какие ньюансы программирования? Как это все выглядит если в одном выражении присутствуют числа целые, булевые и с плавающей запятой? Особенно интересно как это выглядит не на одиночных вычислениях, а при высоком темпе обработки, примерно тысяча вычислений в секунду? Заранее благодарен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2006, 11:57 |
|
||
|
Кто тестировал Cache 5.2 ?
|
|||
|---|---|---|---|
|
#18+
AlexKBЕсть ли у кого сравнительный анализ по поводу скорости вычислений чисел с плавающей запятой, как в этом случае выглядит обращение к такой математике, какие ньюансы программирования? Как это все выглядит если в одном выражении присутствуют числа целые, булевые и с плавающей запятой? Особенно интересно как это выглядит не на одиночных вычислениях, а при высоком темпе обработки, примерно тысяча вычислений в секунду? Заранее благодарен. а что, они обещали увеличить скорость вычислений? нафига, спрашивается, и так хватало за глаза. что, конкретно, интересует? С уважением. Сергей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2006, 12:08 |
|
||
|
Кто тестировал Cache 5.2 ?
|
|||
|---|---|---|---|
|
#18+
Я ведь спрашивал есть ли анализ? Меня очень интересует. Если вводили числа с плавающей запятой, то скорость должна повыситься. Я применяю Cache в АСУТП, а там работа в реальном времени. Это не то что сделал запрос, а сам пошел за пивом. Через 100 мС результат уже никому не нужен - или вовремя, или досвиданья. Продолжаю ждать сравнительный анализ, но с удовольствием послушаю и треп, иногда в нем есть больше пользы чем в догмах "коммунистов". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2006, 12:17 |
|
||
|
Кто тестировал Cache 5.2 ?
|
|||
|---|---|---|---|
|
#18+
AlexKBЯ ведь спрашивал есть ли анализ? Меня очень интересует. Если вводили числа с плавающей запятой, то скорость должна повыситься. Я применяю Cache в АСУТП, а там работа в реальном времени. Это не то что сделал запрос, а сам пошел за пивом. Через 100 мС результат уже никому не нужен - или вовремя, или досвиданья. Продолжаю ждать сравнительный анализ, но с удовольствием послушаю и треп, иногда в нем есть больше пользы чем в догмах "коммунистов". с какой радости Cache перестал справляться с вычислениями? ну вот я сейчас прогнал ради интереса проверку на 5.0.11 - за секунду 170 тыс. вычислений. мало? С уважением. Сергей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2006, 12:24 |
|
||
|
Кто тестировал Cache 5.2 ?
|
|||
|---|---|---|---|
|
#18+
Вот пример одного из самых простых выражений без лишней мишуры, а ее поверьте еще хватает, поэтому я радуюсь каждой сэкономленной микросекунде. C036() set tmp = (0.063*(70-^SystemVars(1220))+$$C034)*$$C010*$$C035*(^SystemVars(1221)-^SystemVars(1220)) quit tmp C010() set tmp = 0.412+(0.00085*(^SystemVars(1221)-^SystemVars(1220))/2) quit tmp C034() set tmp = ^SystemVars(10090)*^SystemVars(1307)+^SystemVars(10080) quit tmp C035() set tmp = (-0.00000115278*^SystemVars(1220)*^SystemVars(1220))-(0.000543873438*^SystemVars(1220))+1.003519360345 quit tmp Анализ есть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2006, 12:35 |
|
||
|
Кто тестировал Cache 5.2 ?
|
|||
|---|---|---|---|
|
#18+
AlexKBВот пример одного из самых простых выражений без лишней мишуры, а ее поверьте еще хватает, поэтому я радуюсь каждой сэкономленной микросекунде. C036() set tmp = (0.063*(70-^SystemVars(1220))+$$C034)*$$C010*$$C035*(^SystemVars(1221)-^SystemVars(1220)) quit tmp а ведь вроде серьезные люди. нда... 1. обращения к глобалям 2. обращения к своим функциям а правило ведь простое: в выражении должны быть только числа. если это невозможно, то только ЛОКАЛЬНЫЕ переменные. никаких прыганий по функциям и уж тем более работы с глобалями, пусть они хоть десять раз болтаются в памяти Анализ есть?[/quot] а надо? :) С уважением. Сергей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2006, 12:44 |
|
||
|
Кто тестировал Cache 5.2 ?
|
|||
|---|---|---|---|
|
#18+
Из Ваших утверждений видно что Вы давно не тестировали код. Работа с локалями, когда их тысячи, очень сильно замедляет работу. Функции в примере урезаны, оставлены только вычисления. На самом деле у них есть еще много нужной работы. Вы если имеете ответ на поставленный вопрос - то слушаю внимательно, иначе будет много других вопросов. Почему на форуме ВОПРОС->треп, треп, треп? А где же ответ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2006, 13:01 |
|
||
|
Кто тестировал Cache 5.2 ?
|
|||
|---|---|---|---|
|
#18+
AlexKBИз Ваших утверждений видно что Вы давно не тестировали код. Работа с локалями, когда их тысячи, очень сильно замедляет работу. Функции в примере урезаны, оставлены только вычисления. На самом деле у них есть еще много нужной работы. Вы если имеете ответ на поставленный вопрос - то слушаю внимательно, иначе будет много других вопросов. как интересно. а глобали, значитца, ее ускоряют? это откуда ж такой вывод, если не секрет? $$C034 - обращение к процедуре, возвращающей значение, сиречь собственной функции. простая замена глобальной переменной ^SystemVars локальной SystemVars даст первый выигрыш. второй выигрыш даст уход от индексов. третий - замена $$-вызовов переменными. тысячи локалей - это просто плохое программирование. я не призываю отказываться от индексированных переменных вообще, только в случае борьбы за скорость. впрочем, как я уже говорил, проблема надумана, надо переписывать плохой код. Почему на форуме ВОПРОС->треп, треп, треп? А где же ответ? я вообще-то ответил. проблема не в версии Cache. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2006, 13:24 |
|
||
|
Кто тестировал Cache 5.2 ?
|
|||
|---|---|---|---|
|
#18+
Боюсь, не Вам судить плохой код, или хороший, без знания предметной области (код приведенный мной, неполный). Если у Вас нет ни прямого, ни косвенного ответа на поставленный вопрос, то мне с Вами не о чем разговаривать. Болтайте о фантазиях с другими. Мой жизненный опыт дает мне основания не принимать во внимание Ваши замечания по этому вопросу. С нетерпением жду от тех кто тестировал Cache 5.2 сравнительный анализ и другую информацию по поставленному вопросу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2006, 13:36 |
|
||
|
Кто тестировал Cache 5.2 ?
|
|||
|---|---|---|---|
|
#18+
AlexKBВот пример одного из самых простых выражений без лишней мишуры, а ее поверьте еще хватает, поэтому я радуюсь каждой сэкономленной микросекунде. C036() set tmp = (0.063*(70-^SystemVars(1220))+$$C034)*$$C010*$$C035*(^SystemVars(1221)-^SystemVars(1220)) quit tmp C010() set tmp = 0.412+(0.00085*(^SystemVars(1221)-^SystemVars(1220))/2) quit tmp C034() set tmp = ^SystemVars(10090)*^SystemVars(1307)+^SystemVars(10080) quit tmp C035() set tmp = (-0.00000115278*^SystemVars(1220)*^SystemVars(1220))-(0.000543873438*^SystemVars(1220))+1.003519360345 quit tmp Анализ есть? 1) Посмотрите средства профилирования тынц Это поможет выяснить где реальная просадка по времени. 2) Имеет смысл заменить $$C034 -> $$$C034 где #define C034 (^SystemVars(10090)*^SystemVars(1307)+^SystemVars(10080)) и так далее. 3) Сократите вычисления, например 0.00085*(^SystemVars(1221)-^SystemVars(1220))/2 это 0.000425*(^SystemVars(1221)-^SystemVars(1220)) 4) Покрутите кеш глобалов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2006, 13:43 |
|
||
|
Кто тестировал Cache 5.2 ?
|
|||
|---|---|---|---|
|
#18+
Уважаемые оппоненты, не берите во внимание приведенный код, потому что: 1 Код на самом деле генерится программно, разбирая справочные данные, без участия программиста. 2 Код приведен не полностью, а только вычислительная часть, на самом деле кода в функциях больше в разы. 3 если бы я привел голые числа, то Вы бы мне посоветовали вручную все это превратить в одно число. 4 На сегодняшний день быстродействие вполне устраивает и с большим запасом, где то в 60% (это оттестировано). Я задал вопрос на перспективу, для меня очень важен ответ на поставленный вопрос, просто я пока не имею возможности получить 5.2 Как у Райкина (Насосы-Колесы) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2006, 13:57 |
|
||
|
Кто тестировал Cache 5.2 ?
|
|||
|---|---|---|---|
|
#18+
В Release Notes написано: IEEE 8-byte Floating Point Support Support has been added for IEEE 8-byte floating point (a.k.a. "double") values, making Caché more attractive for calculation-intensive applications. This enhancement includes: • A new internal data type for both scalars and list members • A new intrinsic function to cast a value to a double • Assembler optimizations to enable Caché to take advantage of processor-specific floating point instructions • Object and SQL client enhancements to handle new server data types Я пока не тестировал Cache' 5.2. Можно скачать и попробовать! Можно немного подождать, так как очень скоро появится Release Candidate! Что касается сравнения производительности локальные переменные - глобалы, для больших переменных лучше использовать глобалы. Полностью поддерживаю идею использовать профилировщик. Вот еще материал на эту тему старая, но интересная презентация: Мониторинг и оптимизация производительности . Вадим ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2006, 14:53 |
|
||
|
Кто тестировал Cache 5.2 ?
|
|||
|---|---|---|---|
|
#18+
Спасибо, Вадим. Наконец-то первый вразумительный ответ. Скачать и попробовать пока-что не могу, поэтому и спрашиваю. Свой код профилирую постоянно, разными методами. По поводу ^CACHETEMP... хотелось бы поподробнее информации, у кого есть практическая, пока пользоваться не пробовал. Интересно что там кроме отсутствия журналирования скрыто еще. В 5.2 локальные глобалы это развитие ^CACHETEMP..., или дополнение. По поводу преобразования ToFloat FromFloat - это будут открытые функции для программиста, или внутренние? Сейчас приходится своими силами выполнять преобразование 4-х байтного float-числа туда и обратно. Хотелось бы поподробнее о Float, да на русском. И еще, по поводу BMC Patrol. Какой продукт с сайта можно скачать, чтобы попробовать, там их много. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2006, 15:33 |
|
||
|
Кто тестировал Cache 5.2 ?
|
|||
|---|---|---|---|
|
#18+
1. CACHETEMP - находится в памяти, если достаточен размер кеша данных и программ. Соответственно, работает все очень быстро! Вот фрагмент документации: Temporary Globals For certain operations, you may need the power of globals without requiring persistence. For example, you may want to use a global to sort some data which you do not need to store to disk. For these operations, Caché provides temporary globals. Temporary globals have the following characteristics: * Temporary globals are stored within the CACHETEMP database, which is always defined to be a local (that is, a non-network) database. All globals mapped to the CACHETEMP database are treated as temporary globals. * Changes to temporary globals are not written to disk. Instead the changes are maintained within the in-memory buffer pool. A large temporary global may be written to disk if there is not sufficient space for it within the buffer pool. * For maximum efficiency, changes to temporary globals are not logged to a journal file. * Temporary globals are automatically deleted whenever the Caché system is restarted. (Note: it can be a very long time before a live system is restarted; so you should not count on this for cleaning up temporary globals.) By default, Caché defines any global whose name starts with “CacheTemp” as being a temporary global. To avoid conflict with any temporary globals that Caché itself may use, you should start your temporary global names with “CacheTempUser”. Caché SQL uses temporary globals as scratch space for optimizing complex queries. It may also uses temporary globals as temporary indices during the execution of certain queries (for sorting, grouping, calculating aggregates, etc.) 2. Информация по process-private globals появится в Cache' 5.2. RC Support has been added for process-private globals. Like local variables, they are accessible only by the process that creates them and are automatically deleted when that process halts. However, like globals they are essentially unlimited in size. 3. BMC Patrol - старый продукт BMC. BMC сейчас предлагает новую линейку продуктов. С какими-то есть интеграция. Если интересны детали - напишите, будем разбираться. Советую обратить внимание на поддержку SNMP в Cache' 5.1. Вадим ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2006, 14:43 |
|
||
|
|

start [/forum/topic.php?fid=39&gotonew=1&tid=1559568]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
27ms |
get topic data: |
9ms |
get first new msg: |
5ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 234ms |
| total: | 353ms |

| 0 / 0 |
