使用c ++

时间:2017-11-12 16:09:31

标签: c++ graph time-measurement

我正在多次调用某些函数(5000-10000)并测量每次完成函数执行所需的时间。

例如:二维搜索,10个整数,11个整数,1000个整数... 现在我想绘制每一步完成搜索所需的图表。

我的整数数量为X,时间为Y.但我不知道如何将点连接到制作图表,Visual Studio 2015中是否有任何函数或库可以帮助我绘制图形?比如borland的“graphics.h”

编辑:使用Windows 10和Visual Studio 2015

2 个答案:

答案 0 :(得分:1)

标准C ++ 11或C ++ 14没有任何图形库。

但是你应该考虑使用Qt,一个用于C ++的免费软件跨平台GUI库。我想你会很高兴使用Qt graphics view框架。您还可以考虑其他一些特定的操作系统widget toolkit。或者只使用libcairo 输出 2D图形。

另一种可能性是输出一些文本文件(对于GNUplot,在JSON中,在SVG中,为CSV中的某些电子表格输出...等)并使用一些外部程序显示该图形(以文本格式)。你甚至可以在它们之间使用一些inter-process communication(例如一些FIFO或pipeline_popenbetter)。

BTW Windows是AFAIK而不是实时操作系统,但您并不需要实时评论,只需要一些交互性。 IMHO流水线到GNUplot很容易(至少在Linux上,也可能在Windows上......)。

答案 1 :(得分:-1)

我使用" windows.h"正如我在This link中看到的那样绘制一条线然后从搜索功能和绘制线中执行时间

它不是完全在控制台中绘图,而是在屏幕上绘图。但它完成了这项工作。

for (int i = 10000;i <= 100000;i += 500) {
    logarithm bSearch;
    //Measuring the time of binary search with the array of 'i' e
    searchResult = bSearch.BinarySearch(i);
    j = searchResult.getTime();
    //Here is drawing the line
    BCX_Line(hConWnd, width / 2 + i / 500 - 1 -20, height / 2 - j + 2, width / 2 + i / 500 - 20, height / 2 - (j), Cyan);
}