Runtime: [mscorlib] Movendo mais funções String para código gerenciado

Criado em 1 mai. 2016  ·  3Comentários  ·  Fonte: dotnet/runtime

Do jeito que está, muitas funções de string de 'alto nível' como IndexOf , LastIndexOf , Replace etc. são implementadas nativamente quando podem ser escritas em código gerenciado. Percebi que isso foi feito com uma das sobrecargas de string.Replace em f007485, então talvez seja bom fazer isso para tornar o código mais acessível para iniciantes, se eles não estão familiarizados com como o código C ++ mapeia para C #.

area-System.Runtime enhancement untriaged

Comentários muito úteis

Analisamos isso no passado e movemos tudo o que poderia ser movido sem perda significativa de desempenho. Mover mais depende de ter otimizações gerenciadas muito boas para todas as arquiteturas coreclr.

Isso faz sentido considerar apenas quando RyuJIT ou melhor codegen estiver disponível para todas as arquiteturas nas quais o coreclr é executado (x86, x64, arm, arm64).

BTW: As implementações gerenciadas de todos os métodos de string estão disponíveis no corert repo.

Todos 3 comentários

Analisamos isso no passado e movemos tudo o que poderia ser movido sem perda significativa de desempenho. Mover mais depende de ter otimizações gerenciadas muito boas para todas as arquiteturas coreclr.

Isso faz sentido considerar apenas quando RyuJIT ou melhor codegen estiver disponível para todas as arquiteturas nas quais o coreclr é executado (x86, x64, arm, arm64).

BTW: As implementações gerenciadas de todos os métodos de string estão disponíveis no corert repo.

@jkotas Ah, então é por isso que as implementações no repositório corert são gerenciadas; uma vez que é AOT compilado e otimizado pelo compilador C ++, eles obtêm um codegen melhor do que a implementação JIT, que ainda é um trabalho em andamento para algumas das plataformas que você mencionou (arm, arm64). Obrigado por esclarecer isso, faz sentido agora.

Fechando a partir da resposta @jkotas acima, não há mais nada a ser feito aqui. @jamesqo sinta-se à vontade para reabrir se você pensar o contrário.

Esta página foi útil?
0 / 5 - 0 avaliações