亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
日韩欧美你懂的| 蜜臀久久99精品久久久久宅男| 亚洲无人区一区| 高清beeg欧美| 日韩欧美成人午夜| 亚洲一区二区三区激情| 不卡欧美aaaaa| 久久香蕉国产线看观看99| 婷婷夜色潮精品综合在线| av在线不卡观看免费观看| 久久久亚洲午夜电影| 丝袜诱惑制服诱惑色一区在线观看| 成人av网站在线| 久久影院午夜论| 免费不卡在线观看| 91麻豆精品国产91久久久| 亚洲精品成人a在线观看| 99久久精品免费看国产| 国产欧美一区二区精品秋霞影院| 麻豆精品国产传媒mv男同| 欧美精品视频www在线观看| 亚洲欧美国产三级| 99久久精品免费观看| 中文字幕日韩一区| 99久久精品国产麻豆演员表| 中文在线一区二区| 国产精品99久久久久| 国产日韩欧美激情| 国产精品一级在线| 亚洲国产岛国毛片在线| 国产精品一区二区在线播放| 26uuuu精品一区二区| 国产一区二区三区视频在线播放| 日韩欧美区一区二| 韩国理伦片一区二区三区在线播放| 欧美一区二区视频免费观看| 午夜影院在线观看欧美| 欧美精品18+| 麻豆成人免费电影| 国产亚洲综合av| 不卡一卡二卡三乱码免费网站| 国产精品网站在线| 色综合久久88色综合天天| 伊人色综合久久天天| 51午夜精品国产| 免费在线观看日韩欧美| 久久在线观看免费| jlzzjlzz亚洲日本少妇| 亚洲最快最全在线视频| 7777精品久久久大香线蕉 | 综合久久国产九一剧情麻豆| av电影一区二区| 亚洲精品成a人| 91精品欧美综合在线观看最新 | 亚洲卡通动漫在线| 欧美视频三区在线播放| 日本成人在线电影网| 久久亚洲私人国产精品va媚药| 福利视频网站一区二区三区| 亚洲桃色在线一区| 91精品国产色综合久久不卡蜜臀| 九色综合国产一区二区三区| 亚洲欧洲一区二区三区| 91精品国产黑色紧身裤美女| 国产自产高清不卡| 亚洲欧美电影一区二区| 欧美一级夜夜爽| 国产不卡视频在线播放| 亚洲第一狼人社区| 亚洲国产成人自拍| 宅男噜噜噜66一区二区66| 国产精品69久久久久水密桃| 亚洲国产欧美另类丝袜| 国产日韩欧美高清| 欧美日韩一区久久| 成人美女在线观看| 日韩国产精品久久| 亚洲欧美韩国综合色| 精品国产三级电影在线观看| 欧美无乱码久久久免费午夜一区| 激情综合五月婷婷| 亚洲香肠在线观看| 中文字幕欧美三区| 91精品在线一区二区| 成人av在线一区二区| 狠狠色丁香九九婷婷综合五月| 亚洲资源在线观看| 国产精品蜜臀在线观看| 精品成人免费观看| 欧美情侣在线播放| 91丨porny丨户外露出| 国产一区二区不卡老阿姨| 亚洲成人一区二区| 亚洲精品国产一区二区精华液| 久久综合九色综合97_久久久| 欧美另类z0zxhd电影| 在线观看一区二区精品视频| 成人精品免费看| 国产激情91久久精品导航| 精品一区精品二区高清| 青青草视频一区| 婷婷中文字幕综合| 亚洲成人免费av| 亚洲图片自拍偷拍| 亚洲精品免费在线播放| 亚洲视频在线一区观看| 国产精品久久久久久久久免费丝袜| 精品国产乱码久久久久久蜜臀| 日韩三级视频中文字幕| 91麻豆精品国产91久久久久久久久 | 久久精品国产在热久久| 男男视频亚洲欧美| 免费人成网站在线观看欧美高清| 石原莉奈在线亚洲三区| 日韩高清在线不卡| 乱一区二区av| 韩国三级在线一区| 国产成人自拍在线| 大美女一区二区三区| 成人黄色小视频| 色婷婷激情一区二区三区| 色88888久久久久久影院按摩 | 亚洲国产日产av| 日韩在线一区二区| 美国精品在线观看| 国产不卡视频一区| 99天天综合性| 欧美日韩精品欧美日韩精品一综合| 精品视频一区三区九区| 日韩欧美一级精品久久| 久久久久久久综合日本| 中文字幕中文在线不卡住| 樱花影视一区二区| 蜜桃av一区二区| 国产精品一区二区x88av| 91免费在线看| 777午夜精品免费视频| 欧美刺激午夜性久久久久久久| 久久精品网站免费观看| 亚洲人被黑人高潮完整版| 午夜视频在线观看一区二区 | 国产偷国产偷亚洲高清人白洁| 亚洲国产精品传媒在线观看| 樱花草国产18久久久久| 免费av成人在线| 成人开心网精品视频| 欧美日韩国产不卡| 欧美经典三级视频一区二区三区| 亚洲人成网站在线| 麻豆国产91在线播放| 91丝袜国产在线播放| 日韩美女天天操| 日韩毛片一二三区| 黑人巨大精品欧美黑白配亚洲| av综合在线播放| 日韩午夜在线观看| 亚洲免费看黄网站| 极品少妇xxxx精品少妇| 在线精品视频一区二区| 精品成人免费观看| 亚洲18影院在线观看| 床上的激情91.| 欧美一区二区二区| 一区二区三区中文免费| 国产精品一区二区在线观看网站| 欧美视频中文一区二区三区在线观看| 精品国产乱码久久久久久闺蜜 | 国产在线视视频有精品| 日本国产一区二区| 精品国产91九色蝌蚪| 一区二区三国产精华液| 大胆亚洲人体视频| 久久亚区不卡日本| 日本欧美一区二区在线观看| 一本一本大道香蕉久在线精品 | 亚洲在线视频一区| 成人高清伦理免费影院在线观看| 日韩精品一区二区在线| 亚洲成人av电影在线| 色噜噜偷拍精品综合在线| 中文字幕巨乱亚洲| 国产一区二区在线视频| 日韩午夜小视频| 日韩精品一区第一页| 欧美自拍偷拍午夜视频| 亚洲色图.com| 色综合中文字幕国产| 久久免费偷拍视频| 国产一区免费电影| 日韩三级视频在线看| 免费观看一级欧美片| 91精品国产91久久综合桃花| 一区二区三区 在线观看视频| 一本色道久久综合亚洲91| 国产精品久久毛片| 不卡的电视剧免费网站有什么| 久久久精品tv| 丁香六月久久综合狠狠色| 国产精品素人一区二区| www.亚洲人|