Я наткнулся на невероятно хорошее поведение с PostSharp. Чтобы оценить скорость, я написал небольшую программу, которая будет выполнять одну функцию определенное количество раз, и если PostSharp будет включен, она будет генерировать и удалять несколько сотен строк, только в памяти (нефиксированная композиция, поэтому они не являются автоматическими, интернирован). Цикл выполняется в нетривиальном (несколько миллисекунд) времени.PostSharp не влияет на скорость
Теперь я не могу измерить разницу на нескольких миллионах тиражей, а безумный запуск ~ 40 миллиардов итераций составил разницу всего в несколько наносекунд против версии non-PostSharp, совершающей одинаковое количество вызовов. Для меня это невозможно. В моем тесте должно быть что-то не так. У меня был код, проверенный моими коллегами, поэтому я уверен, что код делает то, что я намерен.
Итак, что-то не так с использованием генерации строк (что является ожидаемым использованием в предполагаемых приложениях) в качестве медленного моделирования для эталонов?
В качестве альтернативы, кто-то другой выполнил (или знал) анализ производительности во время выполнения PostSharp?
Спасибо.
Пожалуйста, разместите короткую, но полную программу, которая показывает проблемы, чтобы другие могли работать с фактическим кодом и фактами вместо вашей интерпретации. Я уверен, что в вашем тестировании есть что-то странное, поскольку PostSharp добавит немного кода к каждому методу в дополнение к фактическому коду, который вы попросили добавить, маловероятно, что это не повлияет на время выполнения. –