首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在本地机器上对C++程序进行压力测试

在本地机器上对C++程序进行压力测试
EN

Stack Overflow用户
提问于 2016-04-16 18:31:39
回答 2查看 2.5K关注 0票数 0

我编写了一个C++程序,该程序将数组作为输入,并计算该数组中两个元素对的最大乘积。

代码语言:javascript
运行
复制
For example Input 3 elements:- 1,2,3 Max Product = 3*2 = 6. 

Another Example Input 5 elements :- 4,5,2,3,6 Max Product = 6*5 = 30

我想对它进行压力测试,即分析代码需要花费多少时间才能找到解决方案。我想给出大约一百万个输入,或者在我的本地机器上使输入变量的大小非常大,以对其进行压力测试。

谁能告诉我这怎么可能在我的本地机器上,或者有任何网站来检查C++程序的性能?

EN

回答 2

Stack Overflow用户

发布于 2016-11-23 05:36:48

如果您需要来自stdin的大量值,那么创建一个包含100万个随机生成的值的文件,并以正确的格式,然后使用如下内容:

代码语言:javascript
运行
复制
cat filename | ./application

...or,生成随机数并将它们写入标准输出(但是,很可能会慢一点),同时在程序中从标准输入中读取它们:

代码语言:javascript
运行
复制
./datagen | ./application

所以,你需要的任务,将会完成。

附注:如果你使用的是Windows,我所展示的命令可以在PowerShell中执行,因为Windows Command Shell不支持我写的管道。

票数 1
EN

Stack Overflow用户

发布于 2020-04-30 22:27:34

首先,在我们有两种解决方案的情况下使用压力测试。1>Correct,但速度很慢,无法在应答中提交。(超过时间限制的情况)。2>Wrong,但速度很快,必须提交。现在,压力测试的代码附在下面。我们有两个函数。第一个函数返回第一个案例的输出acc,第二个函数返回第二个案例的输出。现在,我们通过随机生成数字或数组来比较这两个结果,并在无限循环中进行比较。有关详细说明,请参阅代码。

代码语言:javascript
运行
复制
while(true){                //infinite while loop
int n=rand()%1000+2;    //randomly generating array size n
cout<<n<<"\n";          
vector<int> a;
for(int i==;i<n;i++)
{
    a.push_back(rand()%100000);//randomly generating array of size n
}
for(int i=0;i<n;++i)
{
    cout<<a[i]<<' ';

}
cout<<"\n";
long long answer1=function1(a);//putting array in function 1
long long answer2=function2(a);//putting array in function 2
if(answer1!=answer2)           //comparing results     
{
    cout<<"Wrong Answer :"<<answer1<<' '<<answer2<<"\n";
    break;

}
else
{
    cout<<"OK\n";
}

}

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36662980

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档