哪个会更快

时间:2012-03-04 04:15:17

标签: c performance pipe gnuplot popen

我有一个管道到gnuplot在c中我传递100,000点作为内联数据。我需要从这个数据集中绘制多条线。问题是Gnuplot在绘制单行后会忘记内联数据。现在我可以将这些数据写入磁盘上的文件,然后我可以告诉Gnuplot绘制文件中的所有行,或者我可以将所有点写入数组,然后通过管道创建多个内联条目到gnuplot我假设只使用内存,根本不需要触摸磁盘。我不知道如果我将100,00写入磁盘一次或将100,000保存在一个数组中然后通过管道仅使用内存将它们传递给Gnuplot会更快,但是我必须为每一行重复(最多可能是10行),所以我必须在内存位置之间复制500,000个点,而不是100,000个到磁盘。任何意见将不胜感激。

1 个答案:

答案 0 :(得分:2)

使用mmap将它们写出来,并将文件传递给gnuplot。