Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
哪里是';持久性';在编译的MATLAB程序中存储的数据?_Matlab_Caching_Persistent Storage - Fatal编程技术网

哪里是';持久性';在编译的MATLAB程序中存储的数据?

哪里是';持久性';在编译的MATLAB程序中存储的数据?,matlab,caching,persistent-storage,Matlab,Caching,Persistent Storage,我在MATLAB中有一个应用程序,它在数据加载到自身时缓存数据。 此数据通过使用“持久”命令在函数中“缓存”。例如 persistent data if isempty(data) data = getData() % function that reads data in end 缓存此数据时,它会去哪里?我注意到,即使程序关闭并重新打开,缓存仍然存在。它正在写入磁盘吗?或者缓存是否存储在内存中 一些细节:这是一个使用Matlab编译器运行时创建的程序,它是使用R2014b编写的。我

我在MATLAB中有一个应用程序,它在数据加载到自身时缓存数据。 此数据通过使用“持久”命令在函数中“缓存”。例如

persistent data
if isempty(data)
    data = getData() % function that reads data in
end
缓存此数据时,它会去哪里?我注意到,即使程序关闭并重新打开,缓存仍然存在。它正在写入磁盘吗?或者缓存是否存储在内存中

一些细节:这是一个使用Matlab编译器运行时创建的程序,它是使用R2014b编写的。我不知道如何检查大数据可能有多大,所以在这方面的任何帮助都是一种奖励


编辑:缓存没有在我可以看到的程序实例之间持久化。我最初在程序的未编译版本中观察到了这一点,这是有意义的,因为缓存将与matlab实例一起保存。

它存储在内存中。正如您在编辑中所观察到的那样,它应该在MATLAB的一个会话中保持不变,但不能跨会话。如果您编译它并在MATLAB编译器运行时运行它,那么它不应该在关闭和重新运行编译后的程序的过程中持续存在——如果它持续存在,那就是一个bug


我从未见过编译的可执行文件会发生这种情况,但我见过为MATLAB生产服务器创建的编译组件会发生这种情况(在MATLAB生产服务器中,同一个运行时可以多次使用,并且在调用之间无法正确清除内容)。

它存储在内存中。正如您在编辑中所观察到的那样,它应该在MATLAB的一个会话中保持不变,但不能跨会话。如果您编译它并在MATLAB编译器运行时运行它,那么它不应该在关闭和重新运行编译后的程序的过程中持续存在——如果它持续存在,那就是一个bug


我从未见过编译的可执行文件会发生这种情况,但我见过为MATLAB Production Server创建的编译组件会发生这种情况(在MATLAB Production Server中,同一个运行时可以多次使用,并且在调用之间无法正确清除内容)。

持久数据应该在内存中。我怀疑它能否在新的程序实例化中持久化。getData做什么?可能是从文件中读取的?即使在关闭程序后它们仍然存在?!getData不是一个文字示例。它只是一个虚拟函数来表示我的代码的实际功能(从服务器获取数据负载),因为该函数不是很重要。如果有帮助的话,数据是一个结构。同样在第二次检查中,数据似乎不会在应用程序的不同实例中持久存在;我将在我的问题中澄清这一点。在你编辑之后,似乎没有多少问题了。我想您已经回答了自己的问题。持久数据应该在内存中。我怀疑它能否在新的程序实例化中持久化。getData做什么?可能是从文件中读取的?即使在关闭程序后它们仍然存在?!getData不是一个文字示例。它只是一个虚拟函数来表示我的代码的实际功能(从服务器获取数据负载),因为该函数不是很重要。如果有帮助的话,数据是一个结构。同样在第二次检查中,数据似乎不会在应用程序的不同实例中持久存在;我将在我的问题中澄清这一点。在你编辑之后,似乎没有多少问题了。我想你已经回答了你自己的问题。