小编Joh*_* G.的帖子

性能是否会提升"GOTO"声明存在的"真正"目的?

今天我打开了一个微软的.Net正则表达式实现,它让我觉得这可能是gotoC#语言中存在语句的唯一原因(它主要强调'开发者'概念的清晰度,其中goto似乎完全没有位置)也可能是微软使用CLR库实现的唯一原因 - 性能提升.我还记得在System.Web.UI.dll中微软的ASP.NET页面/控件渲染中看到类似的优化.这是一个有效的(或记录在案的?)假设吗?你见过它使用微软下,除了提高代码执行时间任何其他情况?谢谢.

以下是微软自己的正则表达式实现中的摘录(不仅仅是在细节上进行检查),它们再次广泛使用goto来实现性能提升:

public override void Go() 
{
    int num4;
    int num5;
    string runtext = base.runtext;
    int runtextstart = base.runtextstart;
    int runtextbeg = base.runtextbeg;
    int runtextend = base.runtextend;
    int runtextpos = base.runtextpos;
    int[] runtrack = base.runtrack;
    int runtrackpos = base.runtrackpos;
    int[] runstack = base.runstack;
    int runstackpos = base.runstackpos;
    runtrack[--runtrackpos] = runtextpos;
    runtrack[--runtrackpos] = 0;
    runstack[--runstackpos] = runtextpos;
    runtrack[--runtrackpos] = 1;
    if ((((runtextpos != base.runtextstart) || 
       (4 > (runtextend - runtextpos))) || 
       ((runtext[runtextpos] != …
Run Code Online (Sandbox Code Playgroud)

.net c# performance goto

2
推荐指数
1
解决办法
1388
查看次数

标签 统计

.net ×1

c# ×1

goto ×1

performance ×1