情况是这样:从全国站点中提取某个变量日值数据,数据集是每个变量每个月一个txt文件,大小大概是8G,提取一遍一个站点6个变量要3个半小时,太慢了。。。大家有懂的可不可以给我提点建议 返回小木虫查看更多
气象数据
好几个问题所在 1. 文件所在分区是 硬盘,还是固态硬盘,或者是网络,读取速度影响非常大,一般来说固态硬盘 400MB,硬盘 60-80MB,网络<10MB 2. 导入数字所用的函数,是 fscan 还是其他的, 3. 数据文件的 数据格式 也会影响读取和转换速度 4. 电脑的内存大小,如果小于 16GB 的话,那有非常大可能,MATLAB 没法利用 连续内存空间(不要和剩余内存空间混淆),这个时候系统会调用硬盘作为缓存,读取速度至少会下降一半 还有,你应该是顺序读取,如果多文件的话,可以考虑并行处理,
网络数据下载用专门的软件,多线程并行,关键还受制于服务器端的网速,下载速度也就那样子了
不行就换其他语言吧,比如python
你不会用的循环吧?那样还不如用c语言写个脚本。Matlab要用向量语句,还可以加入索引文件。你的问题太抽象无法给出具体建议
量大用数据库吧
气象数据
好几个问题所在
1. 文件所在分区是 硬盘,还是固态硬盘,或者是网络,读取速度影响非常大,一般来说固态硬盘 400MB,硬盘 60-80MB,网络<10MB
2. 导入数字所用的函数,是 fscan 还是其他的,
3. 数据文件的 数据格式 也会影响读取和转换速度
4. 电脑的内存大小,如果小于 16GB 的话,那有非常大可能,MATLAB 没法利用 连续内存空间(不要和剩余内存空间混淆),这个时候系统会调用硬盘作为缓存,读取速度至少会下降一半
还有,你应该是顺序读取,如果多文件的话,可以考虑并行处理,
网络数据下载用专门的软件,多线程并行,关键还受制于服务器端的网速,下载速度也就那样子了
不行就换其他语言吧,比如python
你不会用的循环吧?那样还不如用c语言写个脚本。Matlab要用向量语句,还可以加入索引文件。你的问题太抽象无法给出具体建议
量大用数据库吧