2

在我的应用程序中,我正在下载数千条记录,我必须将它们惰性化到 CoreData。

我必须估计下载和处理数据的时间。下载时间取决于用户的实习速度。

您能告诉我在 CoreData 中插入 10000 条记录需要多少时间吗?

谢谢,杰克。

4

2 回答 2

1

您在一个问题中提出了几个问题,并且已经得到了回答。让我总结一下,并为您提供有关您的问题的更多信息。

  • 批量插入时间:取决于数据类型和设备的计算能力/硬盘。它还取决于您实际执行批量插入的方式。
  • 如果需要,提高性能:您可以做很多事情来提高性能。如果您在批量插入对象时遇到性能问题,请查看 Stackoverflow 上的以下帖子:提高批量插入的性能。Core Data Programming guide 中还有一章叫做 Efficiently Importing Data,你应该阅读它。核心数据编程指南:高效导入数据
  • 估计下载的剩余时间:对剩余时间的简单计算只会考虑当前速度和要下载的剩余字节数。这通常是一个非常糟糕的估计,会跳很多。为了平滑估计,您应该使用移动平均线。移动平均线会考虑以前的值。在 Stackoverflow 上也可以找到一种利用移动平均值来估计剩余时间的算法。
于 2013-04-29T11:35:43.820 回答
0

为什么不在下载完成后插入 NSLog-commands 并在 CoreData 操作完成后插入另一个来检查自己呢?

控制台将为您提供操作开始/结束的确切时间戳。

就像 David Rönnqvist 之前所说的:在大多数情况下,下载比将项目插入数据库需要更长的时间。

于 2013-04-29T11:07:17.207 回答