Ayrat
BenchmarkDotNet
а он умеет профилировать?
Nikolay
а он умеет профилировать?
Он выдаёт время выполнения, из этого сужу
Ayrat
БенчмаркДотНет для бенчмарков
Ayrat
Профилятор - для построения профилей выполнения
Nikolay
Nikolay
Получается так
Nikolay
Хотя помоему по всем критериям последний лучше
Ayrat
Данная картинка показывает что рядом со словом InterfaceWayStruct циферки меньше!
Ayrat
но он не показывает что именно тормозит
Ayrat
и именно этим отличается бенчмарк от профилятора
Nikolay
Ну сорян, тырыпрайз студию не завезли
Nikolay
Профилируем как умеем
Bonart
Ayrat
уапще бесплатный
Ayrat
картинки красивые
Ayrat
(я не пользовался)
Ayrat
но слышал
Bonart
Сейчас проще R# Ultimate взять. Сначал триал, потом подумать за денежку
Ayrat
Ну вот да. Тулинг для дотнета у жетбрейнс офигенный, а ценник околобесплатный
Ayrat
и недавно у них FriendsDay был или чот типа того, скидон 50% на всё
Ayrat
можно было на год лицуху на все продукты за 120 что ли взять
Bonart
Причем любой вменяемый работодатель все это охотно оплатит
Ayrat
Причем любой вменяемый работодатель все это охотно оплатит
Да что уж там, 120 можно и самому заплатить. Это 2 игрушки в стиме
Ayrat
ну ладно, в стиме подешевле. в PSN точно 2
Bonart
Да что уж там, 120 можно и самому заплатить. Это 2 игрушки в стиме
И это тоже. Можно заплатить за себя а работать в том числе и на контору - джеты такую практику не штрафуют
Romɑn
Есть у нас кто из Казани или Ебурга?
Pavel
Он выдаёт время выполнения, из этого сужу
можешь бросить. гляну в тырпрайзе
Pavel
если оно не большое
Nikolay
Щас протестить кое что хочу
Nikolay
можешь бросить. гляну в тырпрайзе
https://gist.github.com/Dolfik1/685b75cf2d3c3b3c97b741f1947ebd9a
Nikolay
TestInvoke интересует
Nikolay
Как её ускорить
Nikolay
Смотрю сравнение DI фреймворков, и тут такой фреймворк, abioc, и он работает быстрее ручного создания объектов. Это как вообще? 🤔
Ayrat
Смотрю сравнение DI фреймворков, и тут такой фреймворк, abioc, и он работает быстрее ручного создания объектов. Это как вообще? 🤔
посмотрел сорцы. Там парень при регистрации для каждого регистрируемого типа кодегенит свой велосипед для создания
Ayrat
Ну выкинул лишнее, убрал проверки, я хз
Nikolay
Ну кодген же
Быстрее руками написанного кода
Nikolay
Я понимаю по скорости было бы одинаково
Ayrat
Быстрее руками написанного кода
руками написанный код = new Class(); делает что-то ещё, что можно не делать Что именно - я не спец
Ayrat
Либа прикольная, но бесполезная
Ayrat
всё что она умеет это делать new Class быстрее
Ayrat
генериков-то нет
Ayrat
нахер нужен DI без генериков
Pavel
TestInvoke интересует
у меня стойкое ощущение что он вообще не вызывается
Pavel
работы с него 0 jit нахрен вырезает
Nikolay
dot trace показывает
Pavel
dot trace показывает
я хз что он показывает
Pavel
это в студии
Pavel
хз это про дот трейс
Nikolay
Я очень сильно сомневаюсь, что он видит внутренности IL Generator и оптимизирует
Nikolay
Это слишком сложно
Pavel
for (var i = 1; i < 20000; i ++) TestInvoke(invoker); и for (var i = 1; i < 200000; i ++) TestInvoke(invoker); дает совершенно одинаковый результат
Nikolay
Nikolay
Ну можно в консоль вывод сделать 🤷‍♂️
Nikolay
Я думаю он может простые какие-то блоки выкидывать
Nikolay
А вызов делегата в dynamic method довольно сложная вещь
Ayrat
Я очень сильно сомневаюсь, что он видит внутренности IL Generator и оптимизирует
Интересное заявление учитывая что именно для этого JIT и нужен. Компилировать IL в машинный код
Vladislav
Это не наезд если шо
Pavel
кароч профилер в тырпрайзе на этом примере тихо падает. (если включить в другом режиме падает громок). так что ниче не меряется
Pavel
неважно. если генерацию IL выбросить работает. ща времени разбираться нет
x
штота райдер модных слов не знает!
Ayrat
Я эту фичу вообще не понял честно говоря))) орфографию проверять в коде странно
Ayrat
даже интересно кто её продвигал
Ayrat
Отнюдь
Это глагол?
Hog
Нет - наречие
Hog
Кажется:)
Ayrat
Нет - наречие
да шучу я) как глагол, слово отнюдь приобретает новые смыслы просто