#include "stdafx.h"
#include <sstream>
#include <iostream>
#include <time.h>
using namespace std;
string buildKeyStram(const string &market, const string &stockcode, string direction)
{
stringstream sskey;
sskey << market << "_" << stockcode << "_" << direction;
return sskey.str();
}
string buildKeyString1(const string &market, const string &stockcode, string direction)
{
string sskey;
sskey = market + "_" + stockcode + "_" + direction;
return sskey;
}
string buildKeyString2(const string &market, const string &stockcode, string direction)
{
string sskey;
sskey += market;
sskey+= "_";
sskey+= stockcode;
sskey+= "_";
sskey+= direction;
return sskey;
}
string buildKeySprintf(const string &market, const string &stockcode, string direction)
{
char buffer[128];
sprintf_s(buffer, "%s\_%s\_%d", market.c_str(), stockcode.c_str(), direction.c_str());
return buffer;
}
int _tmain(int argc, _TCHAR* argv[])
{
long i = 0;
time_t start,end;
time(&start);
while(i<10000000)
{
buildKeyStram("SH", "000002", "1");
++i;
}
time(&end);
double cost=difftime(end,start);
printf("buildKeyStram cost Time:%f\n",cost);
i = 0;
time(&start);
while(i<10000000)
{
buildKeySprintf("SH", "000002", "1");
++i;
}
time(&end);
cost=difftime(end,start);
printf("buildKeySprintf cost Time:%f\n",cost);
i = 0;
time(&start);
while(i<10000000)
{
buildKeyString1("SH", "000002", "1");
++i;
}
time(&end);
cost=difftime(end,start);
printf("buildKeyString1 cost Time:%f\n",cost);
i = 0;
time(&start);
while(i<10000000)
{
buildKeyString2("SH", "000002", "1");
++i;
}
time(&end);
cost=difftime(end,start);
printf("buildKeyString2 cost Time:%f\n",cost);
getchar();
}
win32 Release 下
buildKeyStram cost Time:34.000000buildKeySprintf cost Time:11.000000
buildKeyString1 cost Time:6.000000
buildKeyString2 cost Time:3.000000