Closed. This question needs to be more focused。它当前不接受答案。
                            
                        
                    
                
                            
                                
                
                        
                            
                        
                    
                        
                            想改善这个问题吗?更新问题,使其仅通过editing this post专注于一个问题。
                        
                        在8个月前关闭。
                                                                                            
                
        
对于使语言“快速”运行的原因,我知之甚少,但是我认为,为极简主义而设计的语言也将非常快,对吗?

C比BrainFuck更接近英语,并且BrainFuck的编译器大小非常小,为1024字节,与Tiny C编译器(大小约为100 KB)相比几乎没有什么。

但是,所有在线网站都将C视为最快的语言条码字节码或汇编。

(清晰度编辑可将问题搁置)

如果我用C和BrainFuck编写了相同的程序(例如,它们计算了斐波那契数列的前100个数字),那么哪个程序可以在运行时更快地完成任务?哪一个编译速度更快?

最佳答案

是的,没有。有一些语言功能会使语言变慢(某些情况下是垃圾回收,动态类型仅在运行时才知道,…),而其他一些功能会使语言更复杂,但允许编译器具有更大的自由度。

恰当的例子:C ++的constexpr关键字实现起来有些复杂,但是允许程序员告诉编译器“此函数应用程序必须可由其结果替换”。在极端情况下,这使编译器可以以恒定的结果替换昂贵的函数调用(例如fast fourier transform),而无需任何运行时成本。

编译的C代码非常快,因为它几乎没有不直接映射到汇编器的功能,并且有近半个世纪的编译器优化。

关于c - 哪个可以更快地编译和/或计算斐波那契数列的前100个数字:C或Brainfuck ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56788072/

10-10 21:21
查看更多