日记大全

日记大全 > 句子大全

底层语言是不是比高级语言性能更好

句子大全 2023-07-09 02:02:01
相关推荐

根据我的经验,通常只有一种固定资源:时间。

使用高级语言

在指定的时间内使用高级语言,可以开发一个更强大的应用程序而不用牺牲功能,这些功能的执行速度与使用底层语言的速度一样快。

而且,大多数应用程序将其运行时的95%花费在等待用户输入,磁盘读/写和网络I / O上。在这种情况下,最快的语言只能提高剩余5%的性能,这是不值得的。

低级别与高级

如果需要写直接访问硬件的代码,那么最好还是用底层语言。或者硬件资源有限,可能会被迫使用底层语言。要是处理的工作没有这种限制,高级语言可以提供有价值的时间来与性能相提并论。

使用底层语言

用底层编程语言编写的程序本身就比较快。

话虽如此,还是有几点需要注意。

程序和它背后的算法一样好。因为在大多数情况下你使用的是底层程序,所以编写程序的人负责编写算法,所以程序和程序员一样好。在高级编程语言的情况下,可能有一个优化的库,它将以最好的方式为程序员做这件事。

越靠近底层,编写没有重大错误的程序的难度就越大。高级程序语言倾向于处理大多数开箱即用的常见问题,这样程序员就不需要处理这些问题。底层语言不会这样做,所以如果有什么需要处理的问题,编写程序的人需要记住这。

最底层的程序往往是过程或特定的,这意味着将它们移动到不同的处理器很困难,或者要整个程序重写。高级编程语言往往有不同处理器的编译器。程序可能仍然需要一些调整,但即便如此,这些调整也大多也是微不足道的。

最后,还有一个开发该程序所需时间的问题。越靠近底层,需要做的事情就越多,而高级语言已经跳出了框架。这意味着同样的程序,用高级编程语言需要一个月,用低级语言可能需要一年的时间。

越靠近底层,程序员需要描述的细节就越多。高级语言可能会用单行向控制台写入一行文本。底层语言中,同样的内容可能需要5-10行,因为程序员需要做一些在高级程序中由语言本身可以做的步骤。这个层次的细节使得优化代码的方法成为可能,因为有意识的程序员可能会决定高级程序使用的代码在他的场景中并不真正需要,所以完成的代码会更小,运行速度会更快。问题是,如果代码不是因为程序员忘记或者没有考虑某个崩溃场景而编写的,那么我们在这个程序中就有一个 bug。10行代码比1行代码更容易产生 bug。

在现实中,底层编程语言(如汇编程序)应该只用于需要极端优化的代码(要么运行得更快,要么比需要更小的程序)。

阅读剩余内容
网友评论
相关内容
拓展阅读
最近更新