亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? c_shm_merge_t.cpp

?? HP共享內存實現,只要將sql語句配置好,裝載共享內存即可
?? CPP
字號:
#include <share_mem/c_shm.h>
#include <share_mem/c_shm_merge.h>
#include <collect/global.h>
#include <cc++/thread.h>

int itemComp1( const void *arg1, const void *arg2 )
{
   return strcmp( ((SHM_MERGE_LIST*)arg1)->main, ((SHM_MERGE_LIST*)arg2)->main);
}

int itemComp2( const void *arg1, const void *arg2 )
{
   return strcmp( (char*)arg1, (char*)arg2 );
}

int main(int argc, char *argv[])
{
	if( argc < 2 )
	{
		printf("Usage: %s option \n", argc );
		printf(	"測試添加數據 c_shm_merge_t 1 share_area_id mem_name \n" 
			"測試顯示數據 c_shm_merge_t 2 share_area_id mem_name acc_nbr \n" 
			"測試顯示數據 c_shm_merge_t 3 share_area_id mem_name \n");
		exit(1);	
	}

	int opt = atoi(argv[1]);
	dbConnect( "DB_CONFIG_COLLECT_IBAS" );
	c_shm m_serv(atoi(argv[2]));
	c_shm_mem* shm_mem;
	c_shm_merge* p_shm_merge;

	int test = 0;
	double dbltest = 0;
	char cvalue1[200],cvalue2[200],cvalue3[200];
	int ival1, ival2, ival3;
	char temp1[6500000][20], temp2[6500000][4], temp3[6500000][4];
	int count, i, j, returntmp;

	char add_record[6500000][28];
	
	struct timeval first, second, lapsed;
	int record_count;

	void* p_field;
	void* pe1;
	int seq = 0;
	char* c_find;

	SHM_MERGE_LIST shm_find;
	SHM_MERGE_LIST* p_find;
	int item_size = sizeof(SHM_MERGE_LIST);
	SHM_MERGE_LIST_ITEM* p_list;

	switch(opt)
	{
		case 1:
			//添加數據
			m_serv.getshm();
			p_shm_merge = (c_shm_merge*)m_serv.get_mem(argv[3]);
			cout<<"get ok!!!!"<<endl;
			//p_shm_merge = (c_shm_merge*)shm_mem;
			p_shm_merge->setMainKey(0);
			p_shm_merge->setItemKey(1);
			p_shm_merge->setItem(2);
			
			g_statement.setSQLString("select acc_nbr,acct_item_type_id,amount from ibasuser.acct_item where rownum < 300" );
			//where rownum < 30 where acc_nbr = '83489853' or acc_nbr = '36243782'
			g_statement.execute();
			i = 0;
			count = 0;
			SysTime::getTimeOfDay( &first ) ;
			while( g_statement>>temp1[count]>>ival2>>ival1 )
			{
				memcpy(temp3[count], &ival1, sizeof(int));
				memcpy(temp2[count], &ival2, sizeof(int));
				//cout<<temp1[count]<<"|"<<*((int*)(temp2[count]))<<"|"<<ival1<<endl;

				//strcpy( add_record[count], temp1[count]);
				//memcpy( &(add_record[count][20]), &ival2, 4);
				//memcpy( &(add_record[count][24]), &ival1, 4);
				//cout<<add_record[count]<<"\t"<<*(int*)&(add_record[count][20])<<"\t"<<*(int*)&(add_record[count][24])<<endl;
				count ++;
			}
			cout<<"load data ok!"<<endl;
			SysTime::getTimeOfDay( &second ) ;
			if (first.tv_usec > second.tv_usec) 
			{
				second.tv_usec += 1000000;
				second.tv_sec--;
		    	}
			lapsed.tv_usec = second.tv_usec - first.tv_usec;
			lapsed.tv_sec  = second.tv_sec  - first.tv_sec;			
			cout<<"發生秒數:"<<lapsed.tv_sec<<endl;
			cout<<"發生微秒數:"<<lapsed.tv_usec<<endl;


			system("date");
			SysTime::getTimeOfDay( &first ) ;
			for( j = 0; j < 1; j ++ )
			{
				for ( i = 0 ; i < count ; i ++ )
				{
					p_shm_merge->SetData(0, temp1[i]);
					p_shm_merge->SetData(1, temp2[i]);
					p_shm_merge->SetData(2, temp3[i]);
					if( p_shm_merge->appendElement(  ) < 0 )
					//if( p_shm_merge->appendElement( add_record[i] ) < 0 )
					{
						cout<<"load count error1:"<<i<<endl;
						return -1;
					}					
				}
				system("date");
			}
			

			cout<<"load count:"<<i<<endl;
			/*
			while( g_statement>>cvalue1 )
			{
				p_shm_merge->SetData(i, cvalue1);
				i ++;
				if( i >= p_shm_merge->p_share_mem_info->field_count )
				{
					count ++;
					i = 0;
					if( p_shm_merge->appendElement(  ) < 0 )
					{
						cout<<"load count error1:"<<count<<endl;
						return -1;
					}
				}				
			}
			if ( i > 0 )
			{
				count ++;
				if( p_shm_merge->appendElement(  ) < 0 )
				{
					cout<<"load count error2:"<<count<<endl;
					return -1;
				}
			}
			
			cout<<"load count:"<<count<<endl;			
			*/
			SysTime::getTimeOfDay( &second ) ;
			if (first.tv_usec > second.tv_usec) 
			{
				second.tv_usec += 1000000;
				second.tv_sec--;
		    	}
			lapsed.tv_usec = second.tv_usec - first.tv_usec;
			lapsed.tv_sec  = second.tv_sec  - first.tv_sec;
			
			cout<<"添加數據 發生秒數:"<<lapsed.tv_sec<<endl;
			cout<<"發生微秒數:"<<lapsed.tv_usec<<endl;
/*
			cout<<"display item list:"<<endl;
			for ( j = 0 ; j < 60 ; j ++ )
			{
				cout<<j<<"\t"
					<<p_shm_merge->p_merge_addition->p_merge_list_item[j].key<<"\t"					
					<<p_shm_merge->p_merge_addition->p_merge_list_item[j].fee<<"\t"
					<<p_shm_merge->p_merge_addition->p_merge_list_item[j].next_pos<<endl;
			}
			cout<<"display accr list 0 :"<<endl;
			for ( j = 0 ; j < 20 ; j ++ )
			{
				cout<<j<<"\t"
					<<p_shm_merge->p_merge_item[0]->p_merge_list[j].main<<"\t"					
					<<p_shm_merge->p_merge_item[0]->p_merge_list[j].item_pos<<endl;
			}
*/
			/*cout<<"display accr list 1:"<<endl;
			for ( j = 0 ; j < 20 ; j ++ )
			{
				cout<<j<<"\t"
					<<p_shm_merge->p_merge_item[1]->p_merge_list[j].main<<"\t"					
					<<p_shm_merge->p_merge_item[1]->p_merge_list[j].item_pos<<endl;
			}*/
			cout<<"display record_count"<<endl;
			for( i = 0 ; i < 10; i ++ )
				cout<<i<<":"<<p_shm_merge->p_merge_item[i]->p_merge_info->add_record_count<<"\t"
					<<p_shm_merge->p_merge_item[i]->p_merge_info->record_count<<"\t"
					<<p_shm_merge->p_merge_item[i]->p_merge_info->unsort_find_count<<endl;
			break;
		case 2:
			//顯示數據
			m_serv.getshm();
			p_shm_merge = (c_shm_merge*)m_serv.get_mem(argv[3]);
			cout<<"get ok!!!!"<<endl;
			//p_shm_merge = (c_shm_merge*)shm_mem;
			p_shm_merge->setMainKey(0);
			p_shm_merge->setItemKey(1);
			p_shm_merge->setItem(2);

			SysTime::getTimeOfDay( &first ) ;
			//p_shm_merge->displayElement( "33039162" );
			//p_shm_merge->displayElement( argv[4] );
			
			p_shm_merge->getMainElement( argv[4] );
			p_list = p_shm_merge->getNext();
			while( p_list != NULL )
			{
				for(i=0; i<p_list->ele_count; i++)
				{
					printf("key:%d, fee:%d, nextpos:%d\n", p_list->acctFee[i].key, p_list->acctFee[i].fee, p_list->next_pos);
				}
				p_list = p_shm_merge->getNext();
			}

			SysTime::getTimeOfDay( &second ) ;
			if (first.tv_usec > second.tv_usec) 
			{
				second.tv_usec += 1000000;
				second.tv_sec--;
		    	}
			lapsed.tv_usec = second.tv_usec - first.tv_usec;
			lapsed.tv_sec  = second.tv_sec  - first.tv_sec;
			
			cout<<"顯示數據 發生秒數:"<<lapsed.tv_sec<<endl;
			cout<<"發生微秒數:"<<lapsed.tv_usec<<endl;
			break;
		case 3:
			//測試速度
			m_serv.getshm();
			p_shm_merge = (c_shm_merge*)m_serv.get_mem(argv[3]);
			cout<<"get ok!!!!"<<endl;
			//p_shm_merge = (c_shm_merge*)shm_mem;
			p_shm_merge->setMainKey(0);
			p_shm_merge->setItemKey(1);
			p_shm_merge->setItem(2);

			g_statement.setSQLString("select acc_nbr,acct_item_type_id,amount from ibasuser.acct_item  ");
			//where rownum < 20 where acc_nbr = '83489853' or acc_nbr = '36243782'
			g_statement.execute();
			i = 0;
			count = 0;
			SysTime::getTimeOfDay( &first ) ;
			while( g_statement>>temp1[count]>>ival2>>ival1 )
			{
				memcpy(temp3[count], &ival1, sizeof(int));
				memcpy(temp2[count], &ival2, sizeof(int));
				//cout<<temp1[count]<<"|"<<itemp2[count]<<"|"<<ival1<<endl;
				count ++;
			}
			cout<<"load data ok!"<<endl;
			SysTime::getTimeOfDay( &second ) ;
			if (first.tv_usec > second.tv_usec) 
			{
				second.tv_usec += 1000000;
				second.tv_sec--;
		    	}
			lapsed.tv_usec = second.tv_usec - first.tv_usec;
			lapsed.tv_sec  = second.tv_sec  - first.tv_sec;			
			cout<<"發生秒數:"<<lapsed.tv_sec<<endl;
			cout<<"發生微秒數:"<<lapsed.tv_usec<<endl;
			
			//count = 6234484;
			system("date");
			SysTime::getTimeOfDay( &first ) ;
			
			for( j = 0; j < 5; j ++ )
			{
				//memcpy( shm_find.main, "36243781", MAX_MAIN_LENGTH);
				for ( i = 0 ; i < count ; i ++ )
				{										
					seq = p_shm_merge->getMergeItemSeq( temp1[i] );
					p_find = p_shm_merge->p_merge_item[seq]->find( temp1[i] );
					//p_find = p_shm_merge->p_merge_item[0]->find( temp1[i] );
					//p_find = (SHM_MERGE_LIST*)bsearch(&shm_find, p_shm_merge->p_merge_item[8]->p_merge_list, p_shm_merge->p_merge_item[0]->p_merge_info->record_count, item_size, itemComp1);
					
					if( p_find != NULL )
					{

						record_count++;
					}
					//if( i%1000000 == 0 )
					//{
					//	system("date");
					//}
				}
				system("date");
			}
			cout<<"find:"<<record_count<<endl;
			SysTime::getTimeOfDay( &second ) ;
			if (first.tv_usec > second.tv_usec) 
			{
				second.tv_usec += 1000000;
				second.tv_sec--;
		    	}
			lapsed.tv_usec = second.tv_usec - first.tv_usec;
			lapsed.tv_sec  = second.tv_sec  - first.tv_sec;			
			cout<<"發生秒數:"<<lapsed.tv_sec<<endl;
			cout<<"發生微秒數:"<<lapsed.tv_usec<<endl;
			

			for ( i = 0; i < p_shm_merge->p_merge_item[0]->p_merge_info->record_count; i ++ )
			{
				strcpy( temp3[i], p_shm_merge->p_merge_item[8]->p_merge_list[i].main );
			}


			SysTime::getTimeOfDay( &first ) ;
			for( j = 0; j < 5; j ++ )
			{
				//memcpy( shm_find.main, "36243781", MAX_MAIN_LENGTH);
				for ( i = 0 ; i < count ; i ++ )
				{										
					//seq = p_shm_merge->getMergeItemSeq( temp1[i] );
					//p_find = p_shm_merge->p_merge_item[0]->find( temp1[5] );
					c_find = (char*)bsearch(&(temp1[i]), temp3, p_shm_merge->p_merge_item[0]->p_merge_info->record_count, 30, itemComp2);
					if( c_find != NULL )
					{
						record_count++;
					}
					//if( i%1000000 == 0 )
					//{
					//	system("date");
					//}
				}
				system("date");
			}
			cout<<"find:"<<record_count<<endl;
			SysTime::getTimeOfDay( &second ) ;
			if (first.tv_usec > second.tv_usec) 
			{
				second.tv_usec += 1000000;
				second.tv_sec--;
		    	}
			lapsed.tv_usec = second.tv_usec - first.tv_usec;
			lapsed.tv_sec  = second.tv_sec  - first.tv_sec;			
			cout<<"發生秒數:"<<lapsed.tv_sec<<endl;
			cout<<"發生微秒數:"<<lapsed.tv_usec<<endl;

			cout<<"test ok:"<<i<<endl;

			break;
		default:
			printf("沒有這個操作符\n");
			break;
	}

	return 0;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
奇米888四色在线精品| 欧美嫩在线观看| 欧美撒尿777hd撒尿| 26uuu另类欧美| 亚洲日本丝袜连裤袜办公室| 精品影院一区二区久久久| gogo大胆日本视频一区| 精品福利视频一区二区三区| 亚洲电影第三页| av综合在线播放| 久久久久久免费毛片精品| 午夜视黄欧洲亚洲| 色94色欧美sute亚洲线路二| 久久精品无码一区二区三区| 日韩精品亚洲一区二区三区免费| 色屁屁一区二区| 欧美激情一区三区| 国产成人亚洲精品狼色在线| 欧美精品第1页| 午夜精品久久久久久久99水蜜桃| 一本色道亚洲精品aⅴ| 国产精品不卡视频| 国产成a人亚洲| 久久久久9999亚洲精品| 精品制服美女丁香| 久久婷婷久久一区二区三区| 久久99日本精品| 久久综合中文字幕| 韩国女主播一区| 久久婷婷国产综合国色天香| 国产原创一区二区| 久久老女人爱爱| 国产综合久久久久影院| 欧美精品一区二区三区久久久| 日韩vs国产vs欧美| 日韩欧美高清一区| 精品写真视频在线观看| 久久综合色8888| 国产成人免费av在线| 中文字幕电影一区| 91在线小视频| 亚洲bt欧美bt精品| 日韩欧美国产综合一区| 国产在线视频不卡二| 久久综合久久综合九色| 国产91在线观看丝袜| 国产精品妹子av| 欧美性猛交xxxxxx富婆| 天天射综合影视| 久久亚洲捆绑美女| 99re视频精品| 水野朝阳av一区二区三区| 欧美成人一区二区三区片免费| 国产一区二区三区四| 中文字幕中文在线不卡住| 在线日韩国产精品| 日本va欧美va瓶| 国产精品久久久爽爽爽麻豆色哟哟| 91视频观看视频| 日本不卡一区二区| 中文字幕国产一区二区| 精品视频在线视频| 国产精品一二三在| 一区二区在线看| 欧美一级二级三级蜜桃| 懂色av噜噜一区二区三区av| 亚洲国产综合91精品麻豆| 欧美精品一区二区三区在线播放 | 91精品久久久久久蜜臀| 国内成人精品2018免费看| 亚洲欧美怡红院| 欧美成人女星排行榜| 97精品超碰一区二区三区| 蜜臀av性久久久久蜜臀aⅴ流畅| 国产精品免费aⅴ片在线观看| 欧美日韩精品一区二区三区| 国产91精品一区二区麻豆网站| 一区二区三区欧美视频| 国产日韩欧美精品一区| 欧美视频在线观看一区二区| 国产jizzjizz一区二区| 蜜臀av性久久久久蜜臀aⅴ四虎 | 久久先锋影音av| 欧美最猛黑人xxxxx猛交| 激情综合网天天干| 亚洲综合男人的天堂| 国产欧美日本一区二区三区| 欧美一区二区三区男人的天堂| 9色porny自拍视频一区二区| 激情综合网激情| 亚洲v中文字幕| 亚洲精品欧美专区| 亚洲国产精品高清| 26uuu久久综合| 欧美一级日韩免费不卡| 欧美羞羞免费网站| 97超碰欧美中文字幕| 国产福利91精品| 久久99久久精品| 肉色丝袜一区二区| 亚洲福利视频导航| 一区二区三区日韩欧美| 亚洲免费观看在线视频| 国产精品对白交换视频| 欧美激情艳妇裸体舞| 欧美精彩视频一区二区三区| 久久夜色精品国产欧美乱极品| 欧美一卡二卡在线| 欧美精品国产精品| 欧美日韩一区不卡| 欧美日韩在线观看一区二区 | 亚洲激情欧美激情| 洋洋av久久久久久久一区| 欧美一区二区三区性视频| 亚洲丶国产丶欧美一区二区三区| 国产精品美女一区二区| 中文字幕欧美激情一区| 国产精品乱码久久久久久 | 色网站国产精品| 白白色亚洲国产精品| 99久久婷婷国产精品综合| 99re这里只有精品6| 色噜噜夜夜夜综合网| 欧美在线啊v一区| 欧美高清视频www夜色资源网| 欧美另类高清zo欧美| 欧美一区二视频| 国产偷国产偷亚洲高清人白洁| 国产婷婷一区二区| 亚洲欧美另类综合偷拍| 亚洲国产精品欧美一二99| 日韩成人伦理电影在线观看| 久久超碰97人人做人人爱| 国产精品一卡二卡在线观看| 99麻豆久久久国产精品免费 | 亚洲欧洲一区二区三区| 亚洲自拍偷拍网站| 蜜臀av一级做a爰片久久| 国产大陆亚洲精品国产| 色呦呦日韩精品| 日韩欧美不卡在线观看视频| 久久精品夜夜夜夜久久| 专区另类欧美日韩| 日韩国产成人精品| 国产成人精品免费| 在线观看一区不卡| 精品国产区一区| 亚洲精品日韩专区silk| 久久激五月天综合精品| 成人黄色综合网站| 欧美日韩一区小说| 久久久久久免费毛片精品| 亚洲精品中文在线| 青青青伊人色综合久久| 成人app软件下载大全免费| 99久久国产综合精品女不卡| 日韩午夜av电影| 日韩码欧中文字| 美女被吸乳得到大胸91| 色哦色哦哦色天天综合| 日韩精品一区二区三区三区免费| 中文字幕一区二区三区蜜月| 免费美女久久99| 日本道免费精品一区二区三区| 精品sm捆绑视频| 婷婷丁香久久五月婷婷| av不卡免费在线观看| 精品嫩草影院久久| 亚洲色图色小说| 国产不卡在线播放| 日韩精品专区在线影院重磅| 尤物av一区二区| 成人综合婷婷国产精品久久免费| 欧美狂野另类xxxxoooo| 中文字幕中文字幕一区二区| 国产精品资源站在线| 91精品欧美一区二区三区综合在| 日韩一区有码在线| 成人丝袜高跟foot| 337p粉嫩大胆噜噜噜噜噜91av | 欧美亚洲图片小说| 中文字幕综合网| 国产91精品久久久久久久网曝门| 欧美日韩国产成人在线免费| 亚洲男人都懂的| 成人av网址在线| 国产午夜精品在线观看| 久久99精品久久久久久 | 97se狠狠狠综合亚洲狠狠| 国产激情一区二区三区四区 | 激情综合色综合久久| 91.com在线观看| 亚洲一区在线电影| 在线观看不卡一区| 亚洲男人的天堂av| 一本一本久久a久久精品综合麻豆| 国产精品黄色在线观看| av在线播放不卡| 亚洲青青青在线视频| 91在线视频免费91|