Подводные грабли шаблонов в .Net
От: Максим Шеманарев США http://www.antigrain.com
Дата: 06.04.03 11:16
Оценка: 435 (12) +3
Статья:
Подводные грабли шаблонов в .Net
Автор(ы): Максим Шеманарев
Дата: 29.03.2003


Авторы:
Максим Шеманарев

Аннотация:
Статья посвящена некоторым тонкостям использования шаблонов классов (class templates) языка C++ при совместном использовании “управляемого” (managed) и стандартного C++. Статья предполагает знание основ управляемого C++ в среде .Net. Перед прочтением настоящей статьи настоятельно рекомендуется ознакомиться со статьей Игоря Ткачёва “Управляемый C++”
Автор(ы): Игорь Ткачёв
Дата: 05.02.2002
До сих пор трудно ответить на вопрос, что такое .Net. Эта статья, являясь введением в Managed Extensions for C++ (MC++), содержит описание ряда смелых экспериментов советских ученых, наконец-то позволяющих понять, что же такое .Net вообще, и место MC++ в нем, в частности.
, опубликованной в RSDN Magazine #0.
McSeem
Я жертва цепи несчастных случайностей. Как и все мы.
Последние сведения...
От: VladD2 Российская Империя www.nemerle.org
Дата: 07.04.03 22:22
Оценка:
Похоже, в дотнете 1.1 улучшили оптимизацию джита. Так что теперь скорость кода скомпилированного в IL всего на несколько процентов медленнее, чем аналогичного машинного.

Проверял на процедуре быстрой сортировки из Шустриков.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
И никуда нам не деться от этого...
От: null  
Дата: 07.04.03 11:16
Оценка:
От NET не убежишь. С этим нам теперь жить:). Спасибо за развернутое предупреждение:)
Re: Последние сведения...
От: VladD2 Российская Империя www.nemerle.org
Дата: 07.04.03 22:23
Оценка:
Забыл сказать... Речь естественно идет о МС++. Для Шарпа никаких изменений.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re: Подводные грабли шаблонов в .Net
От: sich Украина  
Дата: 03.02.04 11:03
Оценка:
Почитал статью, весьма интересная, но хочется сделать замечание. Дело в том, что автор несколько неправильно применял, на мой взгляд, модификатор unsafe, потому у него результаты мало отличались. я попробовал применить его следующим образом:
заголовок функции сортировки:
unsafe public static void Sort(int* array, int len) {...}
место вызова этой функции:

unsafe
{
fixed(int* p = array)
{
Sort(p, n);
}
}

в результате у меня полностью unmanaged c++ выдал 681 вызов в секунду, а чистый C# выдал 650 ! согласитесь, отличие незначительное!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.