我编写了一个C++程序,该程序将数组作为输入,并计算该数组中两个元素对的最大乘积。
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++程序的性能?
发布于 2016-11-23 05:36:48
如果您需要来自stdin的大量值,那么创建一个包含100万个随机生成的值的文件,并以正确的格式,然后使用如下内容:
cat filename | ./application...or,生成随机数并将它们写入标准输出(但是,很可能会慢一点),同时在程序中从标准输入中读取它们:
./datagen | ./application所以,你需要的任务,将会完成。
附注:如果你使用的是Windows,我所展示的命令可以在PowerShell中执行,因为Windows Command Shell不支持我写的管道。
发布于 2020-04-30 22:27:34
首先,在我们有两种解决方案的情况下使用压力测试。1>Correct,但速度很慢,无法在应答中提交。(超过时间限制的情况)。2>Wrong,但速度很快,必须提交。现在,压力测试的代码附在下面。我们有两个函数。第一个函数返回第一个案例的输出acc,第二个函数返回第二个案例的输出。现在,我们通过随机生成数字或数组来比较这两个结果,并在无限循环中进行比较。有关详细说明,请参阅代码。
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";
}}
https://stackoverflow.com/questions/36662980
复制相似问题