Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

tryVec.C

Go to the documentation of this file.
00001 #include <mpi.h>
00002 #include <iostream>
00003 #include <vector>
00004 #include <cassert>
00005 #include <stdlib.h>
00006 
00007 int main(int argc, char**argv) {
00008 
00009   int len = atoi(argv[1]);
00010   
00011   double stTime = MPI_Wtime();
00012   std::vector<int> arr1;  
00013   for(int i = 0; i < len; i++) {
00014     arr1.push_back(i);
00015   } 
00016   double endTime = MPI_Wtime();
00017   std::cout<<"Initial push_back: "<<(endTime - stTime)<<std::endl;
00018   arr1.clear();
00019   
00020   stTime = MPI_Wtime();
00021   std::vector<int> arr2(len);
00022   for(int i = 0; i < len; i++) {
00023     arr2[i] = i;
00024   } 
00025   endTime = MPI_Wtime();
00026   std::cout<<"Alloc and set: "<<(endTime - stTime)<<std::endl;
00027 
00028   stTime = MPI_Wtime();
00029   int* arr2ptr = (&(*(arr2.begin())));
00030   for(int i = 0; i < len; i++) {
00031     arr2ptr[i] = i;
00032   } 
00033   endTime = MPI_Wtime();
00034   std::cout<<"Set using ptr: "<<(endTime - stTime)<<std::endl;
00035 
00036   stTime = MPI_Wtime();
00037   std::vector<int> arr3;
00038   for(int i = 0; i < len; i++) {
00039     arr3.push_back(arr2[i]);
00040   }  
00041   endTime = MPI_Wtime();
00042   std::cout<<"copy by push_back: "<<(endTime - stTime)<<std::endl;  
00043   arr2.clear();
00044 
00045   std::vector<int> arr4;
00046   assert(arr4.begin() == arr4.end());
00047   stTime = MPI_Wtime();
00048   arr4.insert(arr4.begin(), arr3.begin(), (arr3.begin() + len));
00049   endTime = MPI_Wtime();
00050   std::cout<<"copy by insert: "<<(endTime - stTime) <<std::endl;
00051   arr3.clear();
00052   arr4.clear();  
00053 }
00054 

Generated on Tue Mar 24 16:14:07 2009 for DENDRO by  doxygen 1.3.9.1