性能方面,将文件嵌入dll的资源部分是不对的?
这可能看起来很愚蠢,但是试图在dll中嵌入一些信息,以后可以通过某些方法获取,以防整个解决方案和文档丢失并且我们只有dll。
做这样的事情有什么缺点?
是建议还是禁止?
答案 0 :(得分:5)
嵌入式资源有效地非常完成。在引擎盖下,它使用操作系统的需求分页虚拟内存功能。内存映射文件的完全等价物。换句话说,资源可以在内存中直接访问。在开始使用资源之前,您不需要为资源付费。第一次访问资源会强制从文件中读取并复制到RAM中。再次取消映射非常便宜,操作系统可以简单地丢弃页面。没有办法提高效率。
奖牌的另一面是永久映射到虚拟内存。换句话说,您的进程会丢失资源占用的内存空间。你会更快地耗尽可用的地址空间,更有可能出现OutOfMemoryException。
这不是你通常担心的事情,直到你在32位进程中吞噬半个千兆字节。并且不要在64位进程中烦恼。