电脑知识
少儿编程背景素材(少儿编程素材下载)
2023-04-12 11:14

从机器汇编的角度,C的语句同样存在问题。谁敢说一句简单的strcpy背后可能发生什么,不同的指令集,机器架构,内存架构的实现可能完全不同,而且C库的实现可能还没有利用到最新的机器指令呢。所以,从这个方向评价,是没有出路的。而且对于非常小的数据集,big O可能毫无意义。而一般的字符串处理,长度都不大。一个简单的O(N)要比复杂的O(1)更快不是没有例子。所以问题的关键在于两点∶第一是针对接口编程。所有人都知道这个道理,然而实际使用的时候往往未经严格profile就沉迷在性能讨论中。依我陋见,除非是设计通用库才考虑通用的,一般的,大而化之的情况。编程语言的类型系统提供了足够的支持手段来强化针对接口的最佳实践。另外一个就是如何把性能问题优雅地解决。这方面还没有成熟的方案。基于模板的技术能定制不同的实现策略,通过在实例化模板的时候选择不同的策略来选择性能,然而这个还是不够方便。理想的方案也许是可以根据输入自动选择适配最佳性能的实现,但是这个还看不到。

发表评论
0评