Здравствуйте, mihailik, Вы писали:
S>> К сожалению get тормозят, правда совсем немного, но до инлайн не дотягивают.
M>Как повезёт. Некоторые JIT инлайнит, некоторые нет.
А чуть чуть поподробнее, насчет некоторых, имеется ввиду для нормальных компьютеров.
Во всяком случае в Видби да и в 2003 даже очень маленькие функции не инлайнятся.
Кстати по поводу в MSDN за сентрябрь ".Net Remoting" Реализация нестандартного маршалинга на основе .Net Remoting и Сom Interop. Кстати RealProxy можно создавать на основе интерфейса и переопределять его Invoke для удаленного доступа например через сокеты. Задача намного проще чем например в нативном TSocketConnection. Или на основе отображения генерить свои классы, только с одним аналогом транспарент прокси для ускорения. Интересно помтреть как в Delphi.Net реализована Corba.
Кстати http://homepages.borland.com/jkaster/ccds/delphi8/index.html
http://homepages.borland.com/jkaster/ccds/delphi8/remobjects_software/remobjects_client_sdk_for_net_borland_edition/Info.html
например
RemObjects SDK introduces the fast and efficient BinMessage protocol for this, a protocol that is both compact and efficient to parse/generate. This allows you to build clients and servers that consume fewer resources parsing requests and building response packets; it also allows you to build clients and servers that consume as little bandwidth as necessary when communication. This is especially important when building clients that will connect to the server via dialup connections or GSM/GPRS wireless networks.
и солнце б утром не вставало, когда бы не было меня
M>>Как повезёт. Некоторые JIT инлайнит, некоторые нет. S> А чуть чуть поподробнее, насчет некоторых, имеется ввиду для нормальных компьютеров.
Это одному Микрософту известно. В Роторе вроде бы, значительная часть оптимизаций не включена. Я точно не знаю, возможно какая-то функциональность по инлайнам есть и в Роторе.
Инлайн происходит во времы JIT-ования методов. Когда IL-код метода компилируется в x86-ассемблер, вызовы функций могут быть заменены на подстановку.
S>Во всяком случае в Видби да и в 2003 даже очень маленькие функции не инлайнятся.
Сдаётся мне, ты предполагаешь увидеть инлайн в IL-коде. А он происходит только в момент JIT. Причём, из-за такого способа, возможно инлайнить функции даже из чужих сборок.
S> Кстати по поводу в MSDN за сентрябрь ".Net Remoting" Реализация нестандартного маршалинга на основе .Net Remoting и Сom Interop.
Здравствуйте, mihailik, Вы писали:
M>>>Как повезёт. Некоторые JIT инлайнит, некоторые нет. S>> А чуть чуть поподробнее, насчет некоторых, имеется ввиду для нормальных компьютеров.
M>Это одному Микрософту известно. В Роторе вроде бы, значительная часть оптимизаций не включена. Я точно не знаю, возможно какая-то функциональность по инлайнам есть и в Роторе.
M>Инлайн происходит во времы JIT-ования методов. Когда IL-код метода компилируется в x86-ассемблер, вызовы функций могут быть заменены на подстановку.
S>>Во всяком случае в Видби да и в 2003 даже очень маленькие функции не инлайнятся.
M>Сдаётся мне, ты предполагаешь увидеть инлайн в IL-коде. А он происходит только в момент JIT. Причём, из-за такого способа, возможно инлайнить функции даже из чужих сборок.
Выводы исключительно по тестам.
S>> Кстати по поводу в MSDN за сентрябрь ".Net Remoting" Реализация нестандартного маршалинга на основе .Net Remoting и Сom Interop.
M>Это к чему вдруг ремотинг? :???
А это к пятничному разговору.
и солнце б утром не вставало, когда бы не было меня
Здравствуйте, csharpamateur, Вы писали:
C>Здравствуйте, Dr_Sh0ck, Вы писали:
C>Псевдоним (alias) который назначается через using виден только внутри файла или namespace в котором он объявлен.
А можно ли сделать такой адиас видимым вне сборки, что-то типа [public] typedef для COMa?
Здравствуйте, latemic, Вы писали:
C>>Псевдоним (alias) который назначается через using виден только внутри файла или namespace в котором он объявлен.
L>А можно ли сделать такой адиас видимым вне сборки, что-то типа [public] typedef для COMa?
В C# — нет. В Немерле, например, да (Type alias). Но использовать можно будет, опять же, так же с Немерле.
... << RSDN@Home 1.2.0 alpha rev. 665>>
Now playing: «Тихо в лесу…»
Help will always be given at Hogwarts to those who ask for it.
Здравствуйте, csharpamateur, Вы писали:
C>Я про боксинг для структур не говорил. Я имел в виду boxing как дополнительную операцию, подобную вызову конструктора или оператора приведения типа для структуры.
Боксинг в Net это преобразование Value-типа в Referense-тип.
Вызов конструктора будет как для int так идля struct MyStruct.
По поводу вложенных методов разбивай методы и недумай в итоге их соберут в один (благодоря JIT).
И лучше использовать свойства вместо введения нового типа. Если свойство не виртуальное и не содержит сложной обработки то оно будет заинлайнено JIT-ом.