![]() |
#1 |
Боец
|
AX2012 X++ Comparison tool works slowly?
A useful hint how to improve performance of X++ comparison tool for AX2012: Just try to turn-on the parameter “Execute business logic in CIL” in your profile, it’ll compare elements extra fast.
It’s a common case when developers keep this option OFF that pushes Comparison tool to be executed in classic X++ mode instead of CIL. Some details: \Classes\SysCompareText\run Вложение 11024 Последний раз редактировалось DSPIC; 28.09.2017 в 01:50. |
|
|
За это сообщение автора поблагодарили: mazzy (2), Logger (3), MikeR (2), alex55 (1). |
![]() |
#2 |
Участник
|
|
|
|
За это сообщение автора поблагодарили: mazzy (2), Logger (3), MikeR (2). |
![]() |
#3 |
Участник
|
В 2012-й не исследовал, но в 2009-й еще могло тормозить на больших объектах которые лежат на куче слоев. Например, есть SalesTable табличка с кучей кастомизаций и большим числом методов. Аксапта при формировании комбобоксов для сравнения грузит в память treenode из каждого слоя (примерно 5 штук) и из каждого old слоя - еще 5 штук. И зачем-то делает это дважды. На этом может теряться секунд 20-40 - зависит от нагрузки на сервера. Можно это место оптимизировать - подгружая в память treenode объекта со слоя не сразу, а только когда (и если) он вообще понадобится. Но это модификация не на пару строк кода.
|
|
![]() |
#4 |
MCTS
|
Цитата:
Сообщение от DSPIC
![]() A useful hint how to improve performance of X++ comparison tool for AX2012: Just try to turn-on the parameter “Execute business logic in CIL” in your profile, it’ll compare elements extra fast.
It’s a common case when developers keep this option OFF that pushes Comparison tool to be executed in classic X++ mode instead of CIL. |
|
![]() |
#5 |
Боец
|
не препятствует. Главное чтобы CIL был собран в области компаратора.
|
|
![]() |
#6 |
Британский учённый
|
Цитата:
![]()
__________________
Людям физического труда для восстановления своих сил нужен 7-8 часовой ночной сон. Людям умственного труда нужно спать часов 9-10. Ну а программистов будить нельзя вообще. |
|
![]() |
#7 |
MCTS
|
Могли бы пояснить что имеется в виду? Перед тем как что-то сравнить нужно сначала это что-то откомпилить в CIL, чтобы сравнение работало с включенной галкой выполнять в CIL?
|
|
![]() |
#8 |
MCTS
|
Собственно там в комментах как раз ссылка на статью с примером реализации исключения компаратора из проверки глобального параметра выполнять в CIL. Только ссылка битая, вот нормальная: Do yourself a favor, and make this change on your Dev system - https://community.dynamics.com/ax/b/...our-dev-system
|
|
|
За это сообщение автора поблагодарили: Logger (1). |
![]() |
#9 |
Британский учённый
|
Я про то, что если вы захардкодите выполнение в CIL а он у вас не рабочий, к примеру после установки хотфикса - при попытке сравнить будет вылетать ошибка и придется убирать код, что бы заработало.
__________________
Людям физического труда для восстановления своих сил нужен 7-8 часовой ночной сон. Людям умственного труда нужно спать часов 9-10. Ну а программистов будить нельзя вообще. |
|
![]() |
#10 |
MCTS
|
Цитата:
Единственно мне пока не совсем понятно в какой именно части должен быть нерабочим CIL, чтобы перестало работать сравнение через CIL: в любой или только в части данного класса и объектах которые он использует? Мне казалось что второе верно, но для меня это вообще очень редкий кейс. Последний раз редактировалось alex55; 28.10.2016 в 13:02. |
|
![]() |
#11 |
Британский учённый
|
Цитата:
Сообщение от alex55
![]() Вообще я про хардкод ничего не писал. Принудительное выполнение можно и через новый параметр реализовать, идея была в том чтобы от глобального параметра отвязаться. Но спасибо за полезное замечание.
Единственно мне пока не совсем понятно в какой именно части должен быть нерабочим CIL, чтобы перестало работать сравнение через CIL: в любой или только в части данного класса и объектах которые он использует? Мне казалось что второе верно, но для меня это вообще очень редкий кейс. Ну например у меня недавно было после восстановления из бэкапа и установки хотфиксов. Сравнение не работало пока не переключил на xpp. Поэтому я бы не советовал подход автора Do yourself a favor, and make this change on your Dev system, а делал бы сразу через отдельный параметр. Надеюсь теперь все точки расставил...
__________________
Людям физического труда для восстановления своих сил нужен 7-8 часовой ночной сон. Людям умственного труда нужно спать часов 9-10. Ну а программистов будить нельзя вообще. |
|
![]() |
#12 |
MCTS
|
Цитата:
Сообщение от Link
![]() У меня принудительно ассоциируется с кодом, а параметр с гибким подходом.
Ну например у меня недавно было после восстановления из бэкапа и установки хотфиксов. Сравнение не работало пока не переключил на xpp. Поэтому я бы не советовал подход автора Do yourself a favor, and make this change on your Dev system, а делал бы сразу через отдельный параметр. Надеюсь теперь все точки расставил... ![]() |
|
Теги |
syscompareform, полезное, сравнение объектов, сравнение слоев |
|
|