#include <stdio.h>
#include <afx.h>
#include "PROFILE.h"
#define BUF_SIZE 256
#define BUF_SIZE1 1024*20
#define BUF_SIZE2 1024*1024
//测试各函数性能
////////////////StockBlock.ini读操作////////////////
void test_read_privateprofile_int()
{
unsigned long time_s1,time_e1,time_s2,time_e2;
int time_my[100],time_API[100],min_my,min_API,max_my,max_API;
float avg_my,avg_API;
// int k;
CPROFILE profile;
for(int i=0;i<100;i++)
{
time_s1 = GetTickCount();
// for(k=0;k<10;k++)
profile.read_privateprofile_int("BLOCK_STOCK_CONTEXT","C",0,".\\StockBlock.ini");
time_e1 = GetTickCount();
time_my[i] = time_e1-time_s1;
}
for(i=0;i<100;i++)
{
time_s2 = GetTickCount();
// for(k=0;k<10;k++)
::GetPrivateProfileInt("BLOCK_STOCK_CONTEXT","C",0,".\\StockBlock.ini");
time_e2 = GetTickCount();
time_API[i] = time_e2-time_s2;
}
min_my = max_my = avg_my = time_my[0];
min_API = max_API = avg_API = time_API[0];
for(i=1;i<100;i++)
{
if( time_my[i]>max_my)
max_my = time_my[i];
if( time_my[i]<min_my)
min_my = time_my[i];
avg_my += time_my[i];
if( time_API[i]>max_API)
max_API = time_API[i];
if( time_API[i]<min_API)
min_API = time_API[i];
avg_API += time_API[i];
}
avg_my = avg_my/100;
avg_API = avg_API/100;
printf("my fuction maximum time of read_privateprofile_int %d\n",max_my);
printf("API fuction maximum time of GetPrivateProfileInt %d\n",max_API);
printf("my fuction minimum time of read_privateprofile_int %d\n",min_my);
printf("API fuction minimum time of GetPrivateProfileInt %d\n",min_API);
printf("my fuction average time of read_privateprofile_int %f\n",avg_my);
printf("API fuction average time of GetPrivateProfileInt %f\n",avg_API);
}
void test_read_privateprofile_string()
{
char *buf1;
buf1 = (char *)malloc(BUF_SIZE1);
memset(buf1,0x00,BUF_SIZE1);
char *buf2;
buf2 = (char *)malloc(BUF_SIZE1);
memset(buf2,0x00,BUF_SIZE1);
unsigned long time_s1,time_e1,time_s2,time_e2;
int time_my[100],time_API[100],min_my,min_API,max_my,max_API;
float avg_my,avg_API;
// int k;
CPROFILE profile;
for(int i=0;i<100;i++)
{
time_s1 = GetTickCount();
// for(k=0;k<10;k++)
profile.read_privateprofile_string("BLOCK_STOCK_CONTEXT","C","this time is fail!",buf1,BUF_SIZE1,".\\StockBlock.ini");
time_e1 = GetTickCount();
time_my[i] = time_e1-time_s1;
}
for(i=0;i<100;i++)
{
time_s2 = GetTickCount();
// for(k=0;k<10;k++)
::GetPrivateProfileString("BLOCK_STOCK_CONTEXT","C","this time is fail!",buf2,BUF_SIZE1,".\\StockBlock.ini");
time_e2 = GetTickCount();
time_API[i] = time_e2-time_s2;
}
min_my = max_my = avg_my = time_my[0];
min_API = max_API = avg_API = time_API[0];
for(i=1;i<100;i++)
{
if( time_my[i]>max_my)
max_my = time_my[i];
if( time_my[i]<min_my)
min_my = time_my[i];
avg_my += time_my[i];
if( time_API[i]>max_API)
max_API = time_API[i];
if( time_API[i]<min_API)
min_API = time_API[i];
avg_API += time_API[i];
}
avg_my = avg_my/100;
avg_API = avg_API/100;
printf("my fuction maximum time of read_privateprofile_string %d\n",max_my);
printf("API fuction maximum time of GetPrivateProfileString %d\n",max_API);
printf("my fuction minimum time of read_privateprofile_string %d\n",min_my);
printf("API fuction minimum time of GetPrivateProfileString %d\n",min_API);
printf("my fuction average time of read_privateprofile_string %f\n",avg_my);
printf("API fuction average time of GetPrivateProfileString %f\n",avg_API);
}
void test_read_privateprofile_section()
{
char *buf1;
buf1 = (char *)malloc(BUF_SIZE2);
memset(buf1,0x00,BUF_SIZE2);
char *buf2;
buf2 = (char *)malloc(BUF_SIZE2);
memset(buf2,0x00,BUF_SIZE2);
unsigned long time_s1,time_e1,time_s2,time_e2; //时间变量
int time_my[100],time_API[100],min_my,min_API,max_my,max_API;
float avg_my,avg_API;
// int k;
CPROFILE profile;
for(int i=0;i<100;i++)
{
time_s1 = GetTickCount();
// for(k=0;k<10;k++)
profile.read_privateprofile_section("BLOCK_STOCK_CONTEXT",buf1,BUF_SIZE2,".\\StockBlock.ini");
time_e1 = GetTickCount();
time_my[i] = time_e1-time_s1;
}
for(i=0;i<100;i++)
{
time_s2 = GetTickCount();
// for(k=0;k<10;k++)
::GetPrivateProfileSection("BLOCK_STOCK_CONTEXT",buf2,BUF_SIZE2,".\\StockBlock.ini");
time_e2 = GetTickCount();
time_API[i] = time_e2-time_s2;
}
min_my = max_my = avg_my = time_my[0];
min_API = max_API = avg_API = time_API[0];
for(i=1;i<100;i++)
{
if( time_my[i]>max_my)
max_my = time_my[i];
if( time_my[i]<min_my)
min_my = time_my[i];
avg_my += time_my[i];
if( time_API[i]>max_API)
max_API = time_API[i];
if( time_API[i]<min_API)
min_API = time_API[i];
avg_API += time_API[i];
}
avg_my = avg_my/100;
avg_API = avg_API/100;
printf("my fuction maximum time of read_privateprofile_section %d\n",max_my);
printf("API fuction maximum time of GetPrivateProfileSection %d\n",max_API);
printf("my fuction minimum time of read_privateprofile_section %d\n",min_my);
printf("API fuction minimum time of GetPrivateProfileSection %d\n",min_API);
printf("my fuction average time of read_privateprofile_section %f\n",avg_my);
printf("API fuction average time of GetPrivateProfileSection %f\n",avg_API);
}
void test_read_privateprofile_sectionnames()
{
char *buf1;
buf1 = (char *)malloc(BUF_SIZE1);
memset(buf1,0x00,BUF_SIZE1);
char *buf2;
buf2 = (char *)malloc(BUF_SIZE1);
memset(buf2,0x00,BUF_SIZE1);
unsigned long time_s1,time_e1,time_s2,time_e2; //时间变量
int time_my[100],time_API[100],min_my,min_API,max_my,max_API;
float avg_my,avg_API;
// int k;
CPROFILE profile;
for(int i=0;i<100;i++)
{
time_s1 = GetTickCount();
// for(k=0;k<10;k++)
profile.read_privateprofile_sectionnames(buf1,BUF_SIZE1,".\\StockBlock.ini");
time_e1 = GetTickCount();
time_my[i] = time_e1-time_s1;
}
for(i=0;i<100;i++)
{
time_s2 = GetTickCount();
// for(k=0;k<10;k++)
::GetPrivateProfileSectionNames(buf2,BUF_SIZE1,".\\StockBlock.ini");
time_e2 = GetTickCount();
time_API[i] = time_e2-time_s2;
}
min_my = max_my = avg_my = time_my[0];
min_API = max_API = avg_API = time_API[0];
for(i=1;i<100;i++)
{
if( time_my[i]>max_my)
max_my = time_my[i];
if( time_my[i]<min_my)
min_my = time_my[i];
avg_my += time_my[i];
if( time_API[i]>max_API)
max_API = time_API[i];
if( time_API[i]<min_API)
min_API = time_API[i];
avg_API += time_API[i];
}
avg_my = avg_my/100;
avg_API = avg_API/100;
printf("my fuction maximum time of read_privateprofile_sectionnames %d\n",max_my);
printf("API fuction maximum time of GetPrivateProfileSectionNames %d\n",max_API);
printf("my fuction minimum time of read_privateprofile_sectionnames %d\n",min_my);
printf("API fuction minimum time of GetPrivateProfileSectionNames %d\n",min_API);
printf("my fuction average time of read_privateprofile_sectionnames %f\n",avg_my);
printf("API fuction average time of GetPrivateProfileSectionNames %f\n",avg_API);
}
////////////////////StockBlock.ini读操作///////////////////
////////////////////StockBlock.ini写操作///////////////////
void test_write_privateprofile_string()
{
unsigned long time_s1,time_e1,time_s2,time_e2;
int time_my[100],time_API[100],min_my,min_API,max_my,max_API;
float avg_my,avg_API;
// int k;
CPROFILE profile;
for(int i=0;i<100;i++)
{
time_s1 = GetTickCount();
// for(k=0;k<10;k++)
profile.write_privateprofile_string("BLOCK_STOCK_CONTEXT","C","11",".\\StockBlock.ini");
time_e1 = GetTickCount();
time_my[i] = time_e1-time_s1;
}
for(i=0;i<100;i++)
{
time_s2 = GetTickCount();
// for(k=0;k<10;k++)
::WritePrivateProfileString("BLOCK_STOCK_CONTEXT","C","11",".\\StockBlock.ini");
time_e2 = GetTickCount();
time_API[i] = time_e2-time_s2;
}
min_my = max_my = avg_my = time_my[0];
min_API =
评论0