Runtime: [mscorlib] 将更多字符串函数移至托管代码

创建于 2016-05-01  ·  3评论  ·  资料来源: dotnet/runtime

就目前而言,许多“高级”字符串函数,如IndexOfLastIndexOfReplace等,当它们可以用托管代码编写时是本地实现的。 我注意到这是通过 f007485 中的string.Replace重载之一完成的,所以如果新手不熟悉 C++ 代码如何映射到C#。

area-System.Runtime enhancement untriaged

最有用的评论

我们过去曾对此进行过研究,并移动了所有可以移动而不会造成重大性能损失的内容。 移动更多取决于对所有 coreclr 架构进行很好的托管优化。

只有当运行 coreclr 的所有架构(x86、x64、arm、arm64)都可以使用 RyuJIT 或更好的代码生成时,才考虑这样做是有意义的。

顺便说一句:所有字符串方法的托管实现都可以在 corert 存储库中找到。

所有3条评论

我们过去曾对此进行过研究,并移动了所有可以移动而不会造成重大性能损失的内容。 移动更多取决于对所有 coreclr 架构进行很好的托管优化。

只有当运行 coreclr 的所有架构(x86、x64、arm、arm64)都可以使用 RyuJIT 或更好的代码生成时,才考虑这样做是有意义的。

顺便说一句:所有字符串方法的托管实现都可以在 corert 存储库中找到。

@jkotas啊,这就是管理 corert 存储库中的实现的原因; 由于它是通过 AOT 编译并由 C++ 编译器优化的,因此它们获得了比 JIT 实现更好的代码生成器,对于您提到的某些平台(arm、arm64),JIT 实现仍在进行中。 感谢您澄清这一点,现在有意义了。

从上面的@jkotas响应结束,这里没有什么@jamesqo 可以随时重新打开。

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

noahfalk picture noahfalk  ·  3评论

nalywa picture nalywa  ·  3评论

sahithreddyk picture sahithreddyk  ·  3评论

Timovzl picture Timovzl  ·  3评论

EgorBo picture EgorBo  ·  3评论