gpt4 book ai didi

portability - 使用不可移植代码的理由

转载 作者:行者123 更新时间:2023-12-01 09:10:57 26 4
gpt4 key购买 nike

如果有人在优化代码、实现的清晰度、效率和可移植性方面证明他们的设计权衡是合理的,该如何选择?

这个问题的一个相关示例可能是大文件处理,其中“大文件”是“相当几 GB”的问题,可以使用随机访问方法进行简化。

读取和修改此文件的方法可能是:

  1. 无论如何都要使用流,并寻找所需的位置 - 可移植,但可能很慢,并且不清楚 - 这几乎适用于所有操作系统。
  2. 将文件的相关部分映射为一个大块。例如,为每个 block 映射一个 50MB 的文件 block 进行处理 - 这适用于许多操作系统,具体取决于为该系统实现 mmap 的细微之处。
  3. 只需 mmap 整个文件 - 这需要 64 位操作系统,并且是实现此功能的最有效和最清晰的方法,但不适用于 32 位操作系统。

最佳答案

不确定您要问什么,但设计过程的一部分是分析对可移植性和性能(以及其他因素)的要求。

如果您知道永远不需要移植代码,并且绝对需要最佳性能,那么您可以相应地调整您的实现。仅仅为了便携而便携是没有意义的。

另请注意,如果您既想要性能又想要可移植性,那么没有什么能阻止您为每个平台提供实现。当然,这会增加您的成本,所以实际上,这取决于您优先考虑您的需求。

关于portability - 使用不可移植代码的理由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1035744/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com