巴解组织的辉煌与贫穷 - 页 4

 
Integer:

...假设它的工作速度非常快,因为没有if或switch调用来改变程序的工作方式,只有在初始化过程中选择了所需的类--子类,然后一切工作都很直接和简单。

...

MetaDriver

...

在有 "真正的 "指针的语言中,不会有这样的效果,开关会在那里失去,选择列表越大。

...

伙计们,抽出开关的文件。一个好的开关是指其性能不取决于选择数量的开关式过渡。1个选择,100个或1000个--其过渡速度将是恒定的。
Как работает оператор switch в Си/Си++ - CyberForum.ru - форум программистов и сисадминов
  • Evg
  • www.cyberforum.ru
ВНИМАНИЕ! Вопросы по существу обсуждаемого вопроса просьба задавать здесь или создать тему на форуме и кинуть на неё ссылку в блог или мне в личку. Причин для этого несколько. Я, как и любой другой автор, всегда могу упустить интересный момент обсуждаемой темы (что подтвердилось на практике). А потому задаваемый вопрос может закрывать...
 
Integer:
为什么我需要了解编译机制?只是为了相信一个坏的结果比一个好的结果要好?

这是一个奇怪的说法。你试图解决编译器级别的优化问题,但你却不知道编译器是如何工作的。

 
C-4:
伙计们,请阅读开关文档。一个好的开关是指其性能不取决于选择数量的开关式过渡。1个选择,100个或1000个--其过渡速度将是恒定的。
是的,如果有足够的元素,我们可以用直接跳表的方式进行切换,就像例子中那样。
 

我在编程方面非常接近于零,我知道OOP是为了方便而不是为了速度。这是真的--如果你知道如何使用它,OOP是一个很方便的东西。

另一方面,在测试器中花时间处理不正确的传播,对元引号来说是更好的。如果你不能对其进行充分的测试,使用它编写EA是没有意义的。其中大部分适用于FORTS上的交易。

 
dimeon:

我在编程方面非常接近于零,我知道OOP是为了方便而不是为了速度。这是真的--如果你知道如何使用它,OOP是一个很方便的东西。

另一方面,在测试器中花时间处理不正确的传播,对元引号来说是更好的。如果你不能对其进行充分的测试,使用它编写EA是没有意义的。这主要涉及FORTS的交易。

你是否已经在某个地方给出了详细的解释(证明)?

在这里,习惯于用证据来证实你的陈述,否则你甚至不会看他们。;)

 

而一般来说,顶部启动器的例子表明有内联。没有它,在调试模式 下,结果是相反的,OOP更快。

这张照片暗示,这些同志正在一个黑暗的房间里寻找一只黑猫。

 
Renat:

...

另一方面,虚拟方法不能被切断--它总是被调用。结果是,在一种情况下,只有一个循环,而在另一种情况下,在循环中还有一个调用。

...

顺便说一下,你也可以删除空循环。代码。

void OnStart(){
   for(int i = 0; i < 1000000; i++)
      foo();
}

void foo(void){}

可以简化为一个简单的。

void OnStart(){
   ;
}
 
Vinin:

证据将来自于另一方。或者再一次只是说说而已。

总的来说,我只对事实感兴趣。

虽然我已经知道OOP比较慢,但它提供了相当具体的便利条件

周一,我将通过对真正的OOP项目进行剖析的例子来说明,它在极限情况下的性能倾向于系统函数调用的性能。
 
C-4:

这是一个奇怪的说法。你试图解决编译器级别的优化问题,但你却不知道它是如何工作的。

对不起,你弄错了,我并不是要优化编译器。如果你不明白我在做什么,试着从头再读一遍这个主题,但要更仔细,也尽量不要巧妙地偏离主题。
 
Renat:
是的,我们有一个开关,如果有足够的元素,可以直接跳过表格,就像例子中那样。

本例中的例子采取了最简单的变体,即键值是单次递增的,所以偏移量是简单计算的。但如果我们有这样的变体。

case 10: ...

case 100: ... case 1000: ... case 1000000: ...

在这里,按照我的理解,索引是通过二进制搜索 定义的。 你有这两种方法吗?

原因: