Каков минимальный Крест коммуникационная потеря производительности AppDomain?

Ҡ¦ энергозависимый модификатор гарантирует, что любой поток, который читает поле, будет видеть последний раз записанное значение. ” - Josh Bloch

, Если Вы думаете об использовании volatile, читайте на пакете java.util.concurrent , который имеет дело с атомарным поведением.

сообщение Википедии на Шаблон "одиночка" показывает энергозависимый используемый.

19
задан Yiannis 11 March 2013 в 12:20
поделиться

3 ответа

Если вы подсчитав количество строк IL, задействованных в каждом сценарии, вы увидите, что при удаленном взаимодействии CLR выполняет гораздо больше, чем в 100 раз больше работы. Прямой вызов - это всего лишь несколько кодов операций, но с удаленным взаимодействием задействовано несколько классов, реальные / прозрачные прокси, проверки безопасности, сериализация, yadda yadda yadda. Вам нужно будет решить эту проблему через дизайн - не существует волшебной палочки для улучшения производительности за счет реализации.

вы увидите, что при удаленном взаимодействии CLR выполняет гораздо больше, чем в 100 раз больше работы. Прямой вызов - это всего лишь несколько кодов операций, но с удаленным взаимодействием задействовано несколько классов, реальные / прозрачные прокси, проверки безопасности, сериализация, yadda yadda yadda. Вам нужно будет решить эту проблему через дизайн - не существует волшебной палочки для улучшения производительности за счет реализации.

вы увидите, что при удаленном взаимодействии CLR выполняет гораздо больше, чем в 100 раз больше работы. Прямой вызов - это всего лишь несколько кодов операций, но с удаленным взаимодействием задействованы несколько классов, реальные / прозрачные прокси, проверки безопасности, сериализация, yadda yadda yadda. Вам нужно будет решить эту проблему через дизайн - не существует волшебной палочки для улучшения производительности за счет реализации.

11
ответ дан 30 November 2019 в 05:13
поделиться

Есть ли способ вызвать один вспомогательный метод, который принимает параметры о том, сколько раз вы хотите вызывать нужный метод? Производительность вызовов между доменами приложений сильно зависит от реализации. Я считаю, что это могло бы быть значительно лучше в CLR 4.0, но я не совсем разбираюсь в деталях.

В общем, вы хотите избежать накладных расходов, «группируя» вызовы с помощью вспомогательного метода.

1
ответ дан 30 November 2019 в 05:13
поделиться

Я видел те же результаты . Я не могу объяснить, почему он намного медленнее, за исключением того, что он быстрее, чем два разных процесса, работающих и взаимодействующих друг с другом. В моем дизайне я столкнулся с аналогичной дилеммой. В конце концов, я изменил свой дизайн, чтобы создать независимые домены приложений; домен приложения мог выполнять свою работу без необходимости связываться с другим доменом приложения во время выполнения ... Он будет сообщать данные только после завершения.

за исключением того, что это быстрее, чем когда два разных процесса работают и взаимодействуют друг с другом. В моем дизайне я столкнулся с аналогичной дилеммой. В конце концов, я изменил свой дизайн, чтобы создать независимые домены приложений; домен приложения мог выполнять свою работу без необходимости связываться с другим доменом приложения во время выполнения ... Он будет сообщать данные только после завершения.

за исключением того, что это быстрее, чем когда два разных процесса работают и взаимодействуют друг с другом. В моем дизайне я столкнулся с аналогичной дилеммой. В конце концов, я изменил свой дизайн, чтобы создать независимые домены приложений; домен приложения мог выполнять свою работу без необходимости связываться с другим доменом приложения во время выполнения ... Он будет сообщать данные только после завершения.

0
ответ дан 30 November 2019 в 05:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: