Example #1
0
int main(int argc, char const *argv[])
{
	if ( argc > 1 )
	{
		if ( 0 == strcmp( "stack", argv[1] ) )
		{
			stack_test( atoi( argv[2] ) );
		}
		else
		{
			queue_test( atoi( argv[2] ) );
		}
	}
	return 0;
}
int main()
{
	queue_test();

	PriorityThreadPool pool;
	
	std::cout << "start matrix test" << std::endl;

	srand(time(NULL));
	const int size = 1000;
	Matrix m1(size), m2(size), m3(size);
	std::vector<Future<void>> futures;

	std::cout << "begin fill" << std::endl;

	m1.fill();
	m2.fill();

	std::cout << "end fill" << std::endl;

	auto f = [&](size_t row)
	{
		for (size_t column = 0; column < size; ++column)
		{
			for (size_t elem = 0; elem < size; ++elem)
			{
				m3.at(row, column) += m1.at(row, elem) * m2.at(elem, column);
			}
		}
	};

	auto begin = std::chrono::high_resolution_clock::now();

	for (size_t index = 0; index < size; ++index)
	{
		futures.push_back(pool.runAsync(std::bind(f, index)));
	}

	std::for_each(futures.begin(), futures.end(), std::mem_fn(&Future<void>::get));

	auto end = std::chrono::high_resolution_clock::now();
	auto tm = std::chrono::duration_cast<std::chrono::duration<double>>(end - begin);
	std::cout << tm.count() << std::endl;

	return 0;
}
Example #3
0
void part_two_describe()
{

	cout<<"******************************************"<<endl;
	cout<<"*         第二章 C++ STL泛型编程         *"<<endl;
	cout<<"******************************************"<<endl;
	cout<<"*(1) 一个简单的测试案例                 *"<<endl;
	cout<<"*(2) vector向量容器                     *"<<endl;
	cout<<"*(3) string基本字符系列容器             *"<<endl;
	cout<<"*(4) set集合容器                        *"<<endl;
	cout<<"*(5) mutiset多种集合容器                *"<<endl;
	cout<<"*(6) map映照容器                        *"<<endl;
	cout<<"*(7) mutimap多重映照容器                *"<<endl;
	cout<<"*(8) deque双端队列容器                  *"<<endl;
	cout<<"*(9) list双向链表容器                   *"<<endl;
	cout<<"*(10)bitset位集合容器                   *"<<endl;
	cout<<"*(11)stack堆栈容器                      *"<<endl;
	cout<<"*(12)queue队列容器                      *"<<endl;
	cout<<"*(13)priority_queue优先队列容器         *"<<endl;
	cout<<"******************************************"<<endl;
	cout<<"请输入对应的编号进入相应的题目(返回上级输入0):"<<endl;
	int num;
	cin>>num;
	while(num!=0&&num!=1&&num!=2&&num!=3&&num!=4&&num!=5&&num!=6&&num!=7&&num!=8&&num!=9&&num!=10&&num!=11&&num!=12&&num!=13){
		cout<<"编号不存在"<<endl;
		cout<<"请输入对应的编号进入相应的题目(返回上级输入0):"<<endl;
		cin>>num;
	}
	switch(num){
		case 0:total_describe();break;	
		case 1:test();break;
		case 2:vector_test();break;
		case 3:string_test();break;
		case 4:set_test();break;
		case 5:multiset_test();break;
		case 6:map_test();break;
		case 7:multimap_test();break;
		case 8:deque_test();break;
		case 9:list_test();break;
		case 10:bitset_test();break;
		case 11:stack_test();break;
		case 12:queue_test();break;
		case 13:priority_queue_test();break;
		}
	}
Example #4
0
/**
 *
 * @brief Perform all selected benchmarks
 * see config.h to select or to unselect
 *
 * @return N/A
 */
void BenchTask(void)
{
	int autorun = 0, continuously = 0;

	init_output(&continuously, &autorun);
	bench_test_init();

	PRINT_STRING(newline, output_file);
	do {
		PRINT_STRING(dashline, output_file);
		PRINT_STRING("|          S I M P L E   S E R V I C E    "
					 "M E A S U R E M E N T S  |  nsec    |\n",
					 output_file);
		PRINT_STRING(dashline, output_file);
		task_start(RECVTASK);
		call_test();
		queue_test();
		sema_test();
		mutex_test();
		memorymap_test();
		mempool_test();
		event_test();
		mailbox_test();
		pipe_test();
		PRINT_STRING("|         END OF TESTS                     "
					 "                                   |\n",
					 output_file);
		PRINT_STRING(dashline, output_file);
		PRINT_STRING("PROJECT EXECUTION SUCCESSFUL\n",output_file);
	} while (continuously && !kbhit());

	WAIT_FOR_USER();

	if (autorun) {
		task_sleep(SECONDS(2));
	}

	output_close();
}
Example #5
0
rtems_task Test_task (
  rtems_task_argument argument
)
{
  benchmark_timer_initialize();
    rtems_message_queue_create(
      1,
      OPERATION_COUNT,
      MESSAGE_SIZE,
      RTEMS_DEFAULT_ATTRIBUTES,
      &Queue_id
    );
  end_time = benchmark_timer_read();

  put_time(
    "rtems_message_queue_create: only case",
    end_time,
    1,
    0,
    CALLING_OVERHEAD_MESSAGE_QUEUE_CREATE
  );

  queue_test();

  benchmark_timer_initialize();
    rtems_message_queue_delete( Queue_id );
  end_time = benchmark_timer_read();

  put_time(
    "rtems_message_queue_delete: only case",
    end_time,
    1,
    0,
    CALLING_OVERHEAD_MESSAGE_QUEUE_DELETE
  );

  TEST_END();
  rtems_test_exit( 0 );
}
Example #6
0
File: knr.c Project: Mengqi/C
int main(int argc, char *argv[])
{
	queue_test();

	return 0;
}