【问题标题】:Should you use external files to store large data?你应该使用外部文件来存储大数据吗?
【发布时间】:2019-05-08 06:30:30
【问题描述】:

我正在制作一个使用许多预定义大文本的应用程序。目前,我将它们存储在一个 RTF 文件中并从那里加载它们以将代码与内容分开。如果 rtf 文件大约有 1500-2000 行,并且在应用程序启动时被加载和拆分多次,应用程序是否需要很长时间才能加载,我应该在源代码中定义内容吗?

感谢您的帮助!

【问题讨论】:

    标签: swift performance data-storage


    【解决方案1】:

    我绝对不会倾向于在源代码本身中放置 2000 多行文本。单独的文件(或数据库或其他)更有意义。

    关于应用程序是否需要很长时间来加载它,您应该简单地对其进行基准测试(例如,在加载之前放置let start = CFAbsoluteTimeGetCurrent(),在加载之后放置let elapsed = CFAbsoluteTimeGetCurrent() - start,看看需要多长时间。

    顺便说一下,如果是 iOS,请确保您在实际设备上执行此操作,而不是在模拟器上获取准确时间。但是通常加载这样的小文件对于所需的时间来说是无关紧要的(例如,它可能仍然会比许多图像小)。

    我刚刚测试了加载一个标记相当多的 rtf(每个单词都有不同的颜色),它是 250kb。使用带有文件 URL 的 NSAttributedString 初始化程序,虽然它比纯文本文件(相同文本,无标记)慢一个数量级,但在我的 iPhone 上仍然只用了 70 毫秒。但显然,您应该对自己的文件进行基准测试。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-04-17
      • 1970-01-01
      • 2021-03-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-15
      相关资源
      最近更新 更多