Информация об изменениях

Сообщение Re[32]: Новости C#12 от 26.11.2023 12:35

Изменено 26.11.2023 12:41 Serginio1

Re[32]: Новости C#12
Здравствуйте, ·, Вы писали:

S>>C удовольствием почитаю варианты.

·>Да как обычно, догонять Яву. Развивать оптимизатор компилятора и JIT, упрощать API тулчейна.
·>https://github.com/dotnet/csharplang/issues/7009#issuecomment-1462040663
·>https://wttech.blog/blog/2020/method-handles-and-lambda-metafactory/
·>https://openjdk.org/jeps/457
Здесь ветка по сути про SG, которым может управлять любой программист.
А вот поиск и модификация IL кода конечно интересная и нужная вещь, но это совсем другая ветка, которая ну никак не отменяет SG.
Тут нужно учитывать, что сторонний IL код могут запрещать редактировать, а для оптимизации собственного кода в большинстве случаев достаточно SG.
Та же самая модификация кода происходит через обертку метода

https://rsdn.org/forum/dotnet/8636103.1
Автор: Silver_S
Дата: 15.11 16:40


[Prop] void MyProp_(int val)
{
    _myProp = val;
}

//Генератор создает код:
int _myProp;
public int MyProp 
{
    get => this._myProp;
    set
    {
        if(value == this._myProp)
            return;
        MyProp_(value);               
    }
}


То есть проблема есть только в оптимизации уже написанного кода или чужого скомпилированного.
Есть PostSharp для модификации IL кода, есть InterceptsLocation
Чем больше инструментов тем лучше. А, то, что тебе не нравится это только твои проблемы. Ты один в этой ветке против InterceptsLocation

Ну можно не только IL код модифицировать, но и машинный!
Re[32]: Новости C#12
Здравствуйте, ·, Вы писали:

S>>C удовольствием почитаю варианты.

·>Да как обычно, догонять Яву. Развивать оптимизатор компилятора и JIT, упрощать API тулчейна.
·>https://github.com/dotnet/csharplang/issues/7009#issuecomment-1462040663
·>https://wttech.blog/blog/2020/method-handles-and-lambda-metafactory/
·>https://openjdk.org/jeps/457
Здесь ветка по сути про SG, которым может управлять любой программист.
А вот поиск и модификация IL кода конечно интересная и нужная вещь, но это совсем другая ветка, которая ну никак не отменяет SG.
Тут нужно учитывать, что сторонний IL код могут запрещать редактировать, а для оптимизации собственного кода в большинстве случаев достаточно SG.
Та же самая модификация кода происходит через обертку метода

https://rsdn.org/forum/dotnet/8636103.1
Автор: Silver_S
Дата: 15.11 16:40


[Prop] void MyProp_(int val)
{
    _myProp = val;
}

//Генератор создает код:
int _myProp;
public int MyProp 
{
    get => this._myProp;
    set
    {
        if(value == this._myProp)
            return;
        MyProp_(value);               
    }
}


То есть проблема есть только в оптимизации уже написанного кода или чужого скомпилированного.
Есть PostSharp для модификации IL кода, есть InterceptsLocation
Чем больше инструментов тем лучше. А, то, что тебе не нравится это только твои проблемы. Ты один в этой ветке против InterceptsLocation

Ну можно не только IL код модифицировать, но и машинный!

https://github.com/dotnet/csharplang/issues/7009#issuecomment-1823434878

Как человек, написавший как IL-фреймворк, так и AOP-фреймворк на основе Roslyn, я могу сказать, что переписывание IL осталось в прошлом. Единственный случай, который я вижу, — это инструментарий времени выполнения, основанный на профилирующем API.