【问题标题】:advantages of embedding text files compared to reading from disk与从磁盘读取相比,嵌入文本文件的优势
【发布时间】:2016-09-23 12:01:17
【问题描述】:

我有一个 .net 应用程序,该应用程序有一组(大约 100 个)文本文件,每次用户运行该进程时,这些文件都会被打开 - 读取 - 操作并保存为新文件。在某些情况下,同一个“模板”文件可以在一个进程中使用数百次。所以它们基本上是我用来为我的应用程序创建所需文件的模板。目前我已将它们包含在我的项目的文件夹中,并在我的解决方案中为“复制到输出文件夹”选项选择了“始终复制”。因此它们在本地 PC 上被复制、存储和访问。

我的问题 - 将这些文件嵌入到我的解决方案中是否有优势?具体来说,如果嵌入文件而不是进入目录并打开文件并读取文件,那么 IO 进程会运行得更快吗...

此外,如果您对这样做或不这样做的其他原因有任何意见,我想听听他们的意见。这些文件将不时更新。我的理解是每次保存文件时我都必须重新编译。使用这些文件的部分原因是为了避免这种情况,因此我希望提高性能以弥补轻松更新的损失。

谢谢

【问题讨论】:

    标签: .net performance file-io text-files embedding


    【解决方案1】:

    这里没有太多来自任何人的输入,所以我进行了测试。 我想我会分享结果以防其他人想知道。

    我测试了打开嵌入文件的时间范围,读取它并将行保存到本地 PC 上保存的新文件中,然后关闭嵌入文件。我设置了一个循环 1000 次来调用这个例程,创建 1000 个文件需要 11 秒。

    在另一个例程中,我打开了保存到本地磁盘而不是嵌入可执行文件中的相同文件,读取它并将其作为新文件保存在本地 PC 上。还设置循环1000次调用这个例程,耗时2秒。

    我运行了多次,每次都得到相同的结果。 我还运行了一个测试并看到了结果,然后关闭了应用程序重新启动并再次运行了测试。我只是想确定内存中没有任何内容。每次的结果都是一样的。

    因此,简而言之,嵌入式文件的读写时间比访问文件系统外的文件要长。

    【讨论】:

      猜你喜欢
      • 2020-07-26
      • 1970-01-01
      • 1970-01-01
      • 2023-03-13
      • 2013-08-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多