AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX Blogs
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 01.09.2009, 21:05   #1  
Blog bot is offline
Blog bot
Участник
 
25,631 / 848 (80) +++++++
Регистрация: 28.10.2006
Channel9: Peter Villadsen and Gustavo Plancarte: X++ to MSIL
Источник: http://channel9.msdn.com/posts/Charl...tor-X-to-MSIL/
==============

Dynamics Program Manager Peter Villadsen and Software Developer Gustavo Plancarte teach us about a new tool they've developed that translates X++ byte code into MSIL. We learn a lot of history along the way and gain insights into the process of taking X++ into the .NET age.

Microsoft Dynamics features a proprietary language called X++ (basically a superset of Java, with some strong data primitives added) and a complete stack (compiler, interpreter and debugger) that goes with it. The new feature Peter and team have developed is a tool to generate managed code from the X++ intermediate language produced by the X++ compiler. This will have profound impact on the performance of the business applications written in X++, and it very clearly points to where they'll be going in the next few releases of Dynamics Ax.

Tune in.



Источник: http://channel9.msdn.com/posts/Charl...tor-X-to-MSIL/
__________________
Расскажите о новых и интересных блогах по Microsoft Dynamics, напишите личное сообщение администратору.
За это сообщение автора поблагодарили: belugin (10).
Старый 02.09.2009, 10:33   #2  
MikeR is offline
MikeR
MCT
Аватар для MikeR
MCBMSS
Лучший по профессии 2015
Лучший по профессии 2014
 
1,628 / 627 (24) +++++++
Регистрация: 28.11.2005
Адрес: просто землянин
Так понял, что выполняется преобразование из Х++ в Р код (аналог асеблера) с промежуточным просмотром исходника в XML. А в студии можно преобразовать его в C# и соответственно разрабатывать на C#.
__________________
Axapta book for developer
Старый 02.09.2009, 10:37   #3  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
XML преобразуется в MSIL

а в C# IL можно преобразовать не в студии а в рефлекторе.
Старый 02.09.2009, 10:39   #4  
MikeR is offline
MikeR
MCT
Аватар для MikeR
MCBMSS
Лучший по профессии 2015
Лучший по профессии 2014
 
1,628 / 627 (24) +++++++
Регистрация: 28.11.2005
Адрес: просто землянин
что за рефлектор?
__________________
Axapta book for developer
Старый 02.09.2009, 10:47   #6  
MikeR is offline
MikeR
MCT
Аватар для MikeR
MCBMSS
Лучший по профессии 2015
Лучший по профессии 2014
 
1,628 / 627 (24) +++++++
Регистрация: 28.11.2005
Адрес: просто землянин
логичный вопрос когда (в каком релизе) окончательно прибьют старый добрый Х++?
__________________
Axapta book for developer
Старый 02.09.2009, 10:50   #7  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
даже если кто-то это знает, тебе этого никто не скажет ибо NDA
Старый 02.09.2009, 13:40   #8  
MikeR is offline
MikeR
MCT
Аватар для MikeR
MCBMSS
Лучший по профессии 2015
Лучший по профессии 2014
 
1,628 / 627 (24) +++++++
Регистрация: 28.11.2005
Адрес: просто землянин
Появилась идея немного перевести контент, бо такое ощущение, что мало кто понял к чему идем.
Кину свои пять копеек в начало перевода.

Итак, в обсуждении принимает участие Питер Виладсен (старший программный менеджер)
(Набиваю на одном дыхании, поэтому, возможны небольшие ошибки и опускаю слова, сказанные не по существу).
Питер Виладсен - я работаю в команде по разработке языка Х++ и выводу его на следующий уровень, о чем подробно сейчас я вам и расскажу, а так же о том, как генерируется AOL код, - далее представляет Густава старшего SDE из Дании, который как раз и занимается этим вопросом.
Далее идет вопрос, про что же такое язык Х++. Х++ - это DSL, язык на котором основана бизнес логика ERP Dynamics, которому 15 лет. Язык привязан к тем типам, которые используются в системе. Язык очень мощный, так как использует всю мощь объектно-ориентированных языков. Также в нем есть поддержка обработки запросов данных.
Ведущий - получается, что он аналогичен Linq
Питер - да.
Ведущий - технология Linq очень похожа, может быть расскажете поподробнее.
Питер - за прошедшие 15 лет ничего существенно не менялось, ни в одном языке не было такой поддержки выборки данных.... Теперь в некоторых языках появляется подобная поддержка....
было бы удобнее отлавливать ошибки на этапе компиляции (compiler time) а не на этапе исполнения (Run time) ..
__________________
Axapta book for developer
За это сообщение автора поблагодарили: mazzy (5), belugin (5).
Старый 02.09.2009, 14:32   #9  
DSPIC is offline
DSPIC
Боец
 
1,077 / 1243 (44) ++++++++
Регистрация: 11.04.2008
Цитата:
логичный вопрос когда (в каком релизе) окончательно прибьют старый добрый Х++?
Вот уроды... Лучше бы расширяли бизнес-логику и баги фиксили.
Глядя на 2009 невольно замечаешь, что последних становится все больше и больше, даже в том, что до сих пор работало. Боюсь представить, что будет, когда application засунут в БД и заменят X++ си-шарпом. Короче, ерундой занимаются, зарплату отбивают...
Старый 02.09.2009, 15:50   #10  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Цитата:
Сообщение от DSPIC Посмотреть сообщение
Лучше бы расширяли бизнес-логику и баги фиксили.
А быстродействие совсем совсем не нужно?
Старый 02.09.2009, 16:12   #11  
DSPIC is offline
DSPIC
Боец
 
1,077 / 1243 (44) ++++++++
Регистрация: 11.04.2008
Цитата:
Сообщение от belugin Посмотреть сообщение
А быстродействие совсем совсем не нужно?
Хотелось бы, конечно, на это надеяться, но по своим наблюдениям могу судить, что от версии к версии программных продуктов быстродействие только уменьшается, причем не сопоставимо с расширением функциональности...
За это сообщение автора поблагодарили: kashperuk (1).
Старый 02.09.2009, 16:22   #12  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
у меня после перехода 4 -> 2009 возниклю ощущение, что быстродействие UI уменьшилось (гридов там всяких). А процессов - разносок увеличилось. См. также статью федотенко про новое в себестоимости и закрытии склада в 2009
Старый 02.09.2009, 16:37   #13  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,945 / 3229 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Цитата:
Сообщение от belugin Посмотреть сообщение
у меня после перехода 4 -> 2009 возниклю ощущение, что быстродействие UI уменьшилось (гридов там всяких). А процессов - разносок увеличилось. См. также статью федотенко про новое в себестоимости и закрытии склада в 2009
Надеюсь дело не в железе было ?
Старый 02.09.2009, 16:54   #14  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
процесс перехода заключался в гонянии по очереди того и другого на одной машине - а у вас другие впечатления?
Старый 02.09.2009, 17:27   #15  
DSPIC is offline
DSPIC
Боец
 
1,077 / 1243 (44) ++++++++
Регистрация: 11.04.2008
Цитата:
Сообщение от belugin Посмотреть сообщение
у меня после перехода 4 -> 2009 возниклю ощущение, что быстродействие UI уменьшилось (гридов там всяких). А процессов - разносок увеличилось. См. также статью федотенко про новое в себестоимости и закрытии склада в 2009
Это скорее говорит о том, что производительность можно поднимать за счет усовершенствования кода\архитектуры и т.п., а не по принципу "Подкинем в топку угля и поедем быстрее, пофигу что колёса овальные".

В настоящий момент, например, я знакомлюсь с новым функционалом "Управление печатью" в ax2009. Открытие формы "Управление печатью" из заказов на продажу у меня занимает ~30 сек., причем это фактически на пустой базе и некастомизированном приложении...
Старый 02.09.2009, 18:37   #16  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Цитата:
Сообщение от DSPIC Посмотреть сообщение
Это скорее говорит о том, что производительность можно поднимать за счет усовершенствования кода\архитектуры и т.п., а не по принципу "Подкинем в топку угля и поедем быстрее, пофигу что колёса овальные".

В настоящий момент, например, я знакомлюсь с новым функционалом "Управление печатью" в ax2009. Открытие формы "Управление печатью" из заказов на продажу у меня занимает ~30 сек., причем это фактически на пустой базе и некастомизированном приложении...
Замена GC на недетерминированный это архитекутра или нет? Я не знаю, почему тормозит Управление Печатью, но вполне возможно что из-за GC - обзектов там довольно много создается.
Старый 02.09.2009, 19:07   #17  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,945 / 3229 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Цитата:
Сообщение от belugin Посмотреть сообщение
процесс перехода заключался в гонянии по очереди того и другого на одной машине - а у вас другие впечатления?
Пока не составил своего мнения. Недостаточно подробно смотрел.
Старый 02.09.2009, 21:21   #18  
MikeR is offline
MikeR
MCT
Аватар для MikeR
MCBMSS
Лучший по профессии 2015
Лучший по профессии 2014
 
1,628 / 627 (24) +++++++
Регистрация: 28.11.2005
Адрес: просто землянин
вырвал немного времени и продолжу.
Питер – мы предприняли значительное усилие для построения такой возможности. Это не просто язык с возможность компилирования, интерпретирования и отладчиком, так как и в visual studio есть отладчик и так далее. Теперь у нас есть .net и linq, которые имеют более мощные возможности. Я люблю linq. Но прежде этого не было, поэтому было принято решение перестроить мир. Я думаю, нам следует это сделать, не управлять только структурой. У нас есть студия .net и linq.
Ведущий - давайте перейдем к рассмотрению работы.
Питер – давайте рассмотри от этой части до этой части. Слева у нас есть артефакт Х++ - это просто исходный код. Далее нарисован Х++ компилятор, который берет исходный код плюс хранимые мета данные. Это ключевое место, доступ к метаданным, ссылка на таблицу. Мы получаем немедленную ошибку компиляции при отсутствии таблицы…
Итак, компилятор формирует множество различной информации ссылочной и так далее. Но основной результат – это Р код, сурдо код. Концепция сурдо кода – это верхний уровень, язык инструкций процессора, ассемблер.
__________________
Axapta book for developer
Старый 02.09.2009, 22:10   #19  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,945 / 3229 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Цитата:
Сообщение от belugin Посмотреть сообщение
процесс перехода заключался в гонянии по очереди того и другого на одной машине - а у вас другие впечатления?
Максим, мне казалось что применительно к аксапте скорость работы exe-ника не является узким местом. Основные проблемы - это долгое выполнение запросов и блокировки.

Единственная задача, с которой сталкивался и Аксапта не могла решить - это попытка решения оптимизационной задачи выбора наилучшего маршрута доставки груза - слишком много вариантов перебирать в памяти. Наложились ограничения на число объектов, объем памяти и скорость вычислений. Такую задачу проще делегировать dll-ке написанной не на управляемом языке а-ля C# - X++, а налабать обычную dll на С++ - Delphi. Но думаю что этот пример скорее исключение из правила.
Старый 02.09.2009, 22:35   #20  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Цитата:
Сообщение от Logger Посмотреть сообщение
Максим, мне казалось что применительно к аксапте скорость работы exe-ника не является узким местом. Основные проблемы - это долгое выполнение запросов и блокировки.
Где не является, а где и является. Было одно место при разноске больших журналов, где существенную долю составляло простое присваивание типа a = b, где b - ссылка на объект с кучей связанных объектов.

Именно из-за детерминированного сборщика мусора, который обязан собрать весь мусор прямо в момент его появления (кто-то блогпост еще писал по этому поводу).

А если говорить про Ax2009, то кроме упомянутого fed'ом изменения в закрытии склада еще масса усилий потрачено на устранения частого обмена между клиентом и сервером (chatiness reduction)
Теги
.net, msil, visual studio, x++, компиляция, перспективы

 


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 18:24.