c - 存储 gsl 矩阵的外部结构

标签 c memory

我想知道是否有某种数据库或内存结构可以在程序评估期间保存数据并轻松访问它们。 问题是:我正在用 C 编写程序,该程序对复杂矩阵进行操作。这些矩阵创建一次,然后其他函数使用它们来计算不同的数量。我的想法是将它们保存在我可以轻松访问的地方,而无需存储在 RAM 内存中。这个“内存结构”应该知道这些是gsl_matrix_complex结构。存在这样的事情吗?

最佳答案

很抱歉在答案 block 中提出这个问题,但我的声誉不允许我以“评论”的形式提出问题:)

我很好奇您不想将矩阵存储在内存中,但我怀疑您对“内存外”存储的要求可能是一个术语问题。您能详细说明一下您的问题吗?我们谈论的数据量是多少? MB的? GB的?结核病?

处理内存中的数据比处理磁盘中的数据要快得多。

虽然我不熟悉 gsl_matrix_complex,但您可能希望考虑使用在磁盘上存储矩阵的 C 结构(或结构级别)。当您需要处理这些矩阵时,将它们从磁盘中直接读取到结构中,并从结构中处理它们的数据 - IE、内存。当然,这是假设您所讨论的可用数据量可以合理地存储在内存中并且适用于您正在处理的机器。如果您正在处理的数据量很大(我说的是GB、TB等),您将需要考虑一个有效的结构和磁盘文件记录系统,您可以将“ block ”加载到内存中并处理这些 block 。

祝你一切顺利!

关于c - 存储 gsl 矩阵的外部结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28719045/

相关文章:

c# - C#中的缓存内存模拟

arrays - 如何检查直线多边形是否相交

c - C 中的函数和指针

c# - Array.Resize 是否删除旧数组?

multithreading - NSOperationQueue调用performSelectorOnMainThread导致应用程序崩溃

php - 为什么 ini_set ('memory_limit' ) 不起作用?

java - 内存消耗 java.util.Date vs java.time.LocalDate vs org.joda.time.DateTime

C strcpy 复制字符串并添加另一个字符

c - c语言中函数的声明

使用 Matlab Coder 将 C char 数组转换为 Matlab 字符串