Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как ускорить работы метода в классе?
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! Есть такая проблема. В классе Каши написано несколько методов которые выполняют решение дифференциальных уравнений все уравнения динамические и исполняються с помощью метода XECUTE Всё прекрасно работает, но одна проблема - очень медленно! т.к. задача решаеться большим кол-вом циклов а при большей точности кол-во итераций только увеличиваеться. Как увеличить скорость работы? Подскажите пожалуйста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2007, 16:05 |
|
||
|
Как ускорить работы метода в классе?
|
|||
|---|---|---|---|
|
#18+
Меняй алгоритЬм! ---------- Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2007, 16:41 |
|
||
|
Как ускорить работы метода в классе?
|
|||
|---|---|---|---|
|
#18+
Алгоритм поменять нельзя Знаю что на языке С он летает Переписывать его на другом языке и подключать как dll слишком трудоемко У меня возникла мысль что Каши когда компилиирует метод класса и создает int программу много лишего текста тащит за собой Может стоит создать самому эту int программу. И вообще такой вопрос. Каши ведь ничего не компилирует в байт-код т.е. посути он каждый раз всё заново интерпретирует? или я ошибаюсь а если не ошибаюсь то ведь это очень замедляет скорость работы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2007, 18:25 |
|
||
|
Как ускорить работы метода в классе?
|
|||
|---|---|---|---|
|
#18+
"Интерпритатору" далеко до "транслятора" это факт известный... Но как вариант можно рассмотреть "генерацию" программы с нужным (что там у тебя?) "кодом" и последующий ее запуск. Хоть бы пример чтоли привел того что у тебя есть... ---------- Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2007, 09:02 |
|
||
|
Как ускорить работы метода в классе?
|
|||
|---|---|---|---|
|
#18+
Пример не проблема. Метод Ньютона на Каши вот и весь пример. Код: 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. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2007, 10:25 |
|
||
|
Как ускорить работы метода в классе?
|
|||
|---|---|---|---|
|
#18+
Такие экзекюты однозначно пихать в программки и потом запускать. ---------- Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2007, 13:04 |
|
||
|
Как ускорить работы метода в классе?
|
|||
|---|---|---|---|
|
#18+
Да что Вы, право, какая генерация программок... Здесь, ИМХО, незнание основ... Вот, например: Код: plaintext 1. 2. 3. 4. Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2007, 13:21 |
|
||
|
Как ускорить работы метода в классе?
|
|||
|---|---|---|---|
|
#18+
То что интерпретатору далеко до компилятора, это верно подметили, к тому же Xecute очень долгий. А вообще, в Cache как я понял с математикой и вычислениями не очень, это ведь все-таки в первую очередь БД... Так что могу посоветовать писать длл и цеплять. Оптимизация тут если и поможет, то не намного... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2007, 13:21 |
|
||
|
Как ускорить работы метода в классе?
|
|||
|---|---|---|---|
|
#18+
Alexey MaslovДа что Вы, право, какая генерация программок... Здесь, ИМХО, незнание основ... Вот, например: Код: plaintext 1. 2. 3. 4. Код: plaintext 1. 2. Если бы было всё так просто! я же тут не просто присвоение делаю! Дело в том что в переменной Train.Type.W.GetAt(1) которую я присваиваю ^U это не просто значение! это функция записаная в текстовом виде примерно такого содержания 1+2*x^y+3*x^(2*y)+ и т.д. т.е. это полином. От того и XECUTE используеться, а глобал ^U ну так для контроля и отладки. Меня теперь больше интерисует стоит ли связывать с переписыванием всего в int программу или лучше сразу начать делать на стороннем языке? отсюда еще один вопрос Кто-нибуть пробовал .Net подключать из Cache и насколько это дас прирост производительности. Или всё таки не испытывать судьбу и на С++ ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2007, 13:40 |
|
||
|
Как ускорить работы метода в классе?
|
|||
|---|---|---|---|
|
#18+
Можно отпрофилировать программу (Do ^%SYS.MONLBL) и попытаться выявить критический участок, чтобы заняться оптимизацией именно его. Только уберите сначала ^U (а то он будет портить статистику). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2007, 13:56 |
|
||
|
Как ускорить работы метода в классе?
|
|||
|---|---|---|---|
|
#18+
Dysanя же тут не просто присвоение делаю! Дело в том что в переменной Train.Type.W.GetAt(1) которую я присваиваю ^U это не просто значение! это функция записаная в текстовом виде примерно такого содержания 1+2*x^y+3*x^(2*y)+ и т.д. т.е. это полином. От того и XECUTE используеться, а глобал ^U ну так для контроля и отладки. Что мешает сгенерить целиком INT код? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2007, 13:57 |
|
||
|
Как ускорить работы метода в классе?
|
|||
|---|---|---|---|
|
#18+
DysanМеня теперь больше интерисует стоит ли связывать с переписыванием всего в int программу или лучше сразу начать делать на стороннем языке? На каком языке писать - дело конечно хозяйское... Но выбрав язык нужно использовать его возможности на 100%. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2007, 14:21 |
|
||
|
Как ускорить работы метода в классе?
|
|||
|---|---|---|---|
|
#18+
Кстати, для хранения промежуточных данных в последних версиях Cache' появились Process Private Globals . Посмотрите еще материалы школы по увеличению производительности. Увеличение производительности приложений на Caché и Ensemble. , упражнения . Вадим ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2007, 11:21 |
|
||
|
Как ускорить работы метода в классе?
|
|||
|---|---|---|---|
|
#18+
А для решения этой задачи обязательно использовать Cache? Задача привязана к каким-то даннным в базе? Этих данных сотни мега-гибагайт? Уж больно несответвующим выглядит инструмент ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2007, 12:38 |
|
||
|
Как ускорить работы метода в классе?
|
|||
|---|---|---|---|
|
#18+
за ссылки спасибо прочту. Блок А.Н.А для решения этой задачи обязательно использовать Cache? Задача привязана к каким-то даннным в базе? Этих данных сотни мега-гибагайт? Уж больно несответвующим выглядит инструмент Да. Задача привязана именно этой базе. Для решения задачи не обязательно использовать Cache но я подумал раз в БД есть язык и такие удобные ООП возможности то почему бы ими не воспользоваться. Однако не совсем помогло. Что ж как будет время будем спрягать с другим языком. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2007, 21:07 |
|
||
|
|

start [/forum/topic.php?fid=39&msg=34834458&tid=1559183]: |
0ms |
get settings: |
4ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
35ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
28ms |
get tp. blocked users: |
1ms |
| others: | 214ms |
| total: | 302ms |

| 0 / 0 |
