Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
    Mihhail Maslakov
    @ionoy
    я например его использую для всякой динамической фигни
    Nikita Tsukanov
    @kekekeks
    нука-нука
    для какой
    Mihhail Maslakov
    @ionoy
    пока бета
    Nikita Tsukanov
    @kekekeks
    что-то выглядит как какие-то страшные и ужасные хаки
    Mihhail Maslakov
    @ionoy
    TypeInfo мне подходит например для реализации динамических VM в Xamarin.Forms. они там делают вызов GetTypeInfo и уже у него спрашивают какие есть свойства для биндинга
    ну часть действительно хаки, спорить не буду
    но эта штука не тянет за собой никаких зависимостей, работает исключительно на Expression'ах
    Nikita Tsukanov
    @kekekeks
    а я такой сижу и думаю, как авалонию заставить работать вообще без System.Reflection
    Mihhail Maslakov
    @ionoy
    т.е. работает с любой платформой .NET Standard 2.0
    Nikita Tsukanov
    @kekekeks
    погоди, а как демка первая с сайта работает
    ты там рирайтишь код?
    Mihhail Maslakov
    @ionoy
    при компиляции я вставляю в методы код, который проверяет есть ли апдейт. если есть, то вызываем его
    если нет, то продолжаем выполнение
    Nikita Tsukanov
    @kekekeks
    а, то есть инструментация всего и вся
    Mihhail Maslakov
    @ionoy
    угу
    можно добавлять типы, члены типов и т.д.
    есть ограничения конечно, но для базовых вещей работает неплохо
    Nikita Tsukanov
    @kekekeks
    а апдейты ты докомпилируешь рослином?
    Mihhail Maslakov
    @ionoy
    да
    потом сериализую в XML и десериализую в ET
    но рослин только на стороне разработчика, так что приложение не становится от этого тяжелее
    что важно для мобильников, ну и вообще для скорости выполнения
    Nikita Tsukanov
    @kekekeks
    т. е. MSIL конвертируется в итоге в ET
    занятно
    Mihhail Maslakov
    @ionoy
    сейчас это скорее Roslyn AST -> ET
    хочу перейти на Roslyn IOperation -> ET
    но работы и так дофига
    ищу людей, кстати. так что если есть кто толковый на примете, посоветуйте пожалуйста
    зарплату могу волне нормальную обеспечить
    Nikita Tsukanov
    @kekekeks
    а по перфомансу твоё чудо-решение как?
    это ж на каждый вызов проверки надо делать
    плюс инлайнинг JIT-ом
    Mihhail Maslakov
    @ionoy
    это инструмент времени разработки. если есть метод, который реально вызывается миллион раз в секунду, то его можно добавить в исключения
    вообще я первоначально не предполагал инструментировать все методы по умолчанию
    но мне кажется это будет более юзер-френдли вариант, чем заставлять пользователя вручную каждый метод добавлять
    Nikita Tsukanov
    @kekekeks
    ну так-то да
    посмотри ещё в сторону API профайлеров
    Mihhail Maslakov
    @ionoy
    а так перформанс очень даже нормальный, на тех платформах которые поддерживают Emit и не полагаются на интерпретатор
    Nikita Tsukanov
    @kekekeks
    в моне и неткоре
    Mihhail Maslakov
    @ionoy
    мне кажется они не кроссплатформены, не?
    я когда смотрел в эту сторону
    Nikita Tsukanov
    @kekekeks
    есть такое, да
    но для инструментации можно их использовать
    в качестве более быстрых бакэндов
    если у тебя сборка под netcoreapp, то туда можно профайлер воткнуть
    Mihhail Maslakov
    @ionoy
    вообще надо будет эту тему изучить, ты прав
    я их когда-то откинул, и больше не брался
    Nikita Tsukanov
    @kekekeks
    тот же newrelic через апи профайлера код инструментирует