codepad
[
create a new paste
]
login
|
about
Language:
C
C++
D
Haskell
Lua
OCaml
PHP
Perl
Plain Text
Python
Ruby
Scheme
Tcl
#include <stdio.h> #include <map> #include <sys/time.h> #include <unistd.h> //https://kldp.org/node/101730 //https://www.joinc.co.kr/w/man/2/gettimeofday using namespace std; // class people { public: int number; int grade; }; // struct timeval val_old; void getdoubledt(char *dt) { struct timeval val; struct tm *ptm; gettimeofday(&val, NULL); ptm = localtime(&val.tv_sec); memset(dt , 0x00 , sizeof(dt)); // format : YYMMDDhhmmssuuuuuu sprintf(dt, "%04d% 02d %02d %02d %02d %02d %06ld" , ptm->tm_year + 1900, ptm->tm_mon + 1, ptm->tm_mday , ptm->tm_hour, ptm->tm_min, ptm->tm_sec , val.tv_usec); printf("%06ld\t", val.tv_usec - val_old.tv_usec); val_old = val; } int main() { int i = 0; char date[1024]; getdoubledt(&date[0]); printf("시작 : \t\t%s\n", date); //1000 개는 Segment Fault int num_of_people = 100; vector<people> *Ptr2 = new vector<people>(num_of_people); for(int i=0; i!=num_of_people; ++i) { (*(people*)&Ptr2[i]).number = i; (*(people*)&Ptr2[i]).grade = i * 10; } getdoubledt(&date[0]); printf("vector : \t%s\n", date); for(int i=0; i!=num_of_people; ++i) { if(i % 10 == 0) { printf("Index : %d\n", i); printf("Current number : %d\n", (*(people*)&Ptr2[i]).number); printf("Current grade : %d\n", (*(people*)&Ptr2[i]).grade); } } delete Ptr2 ; //memory clobbered past end of allocated block //Exited: ExitFailure 127 //Segmentation fault getdoubledt(&date[0]); printf("vector pop : \t%s\n", date); return 0; } #if 0 706828 시작 : 2018 8 22 02 06 06 706828 000680 a = b + c : 2018 8 22 02 06 06 707508 000349 strcpy(f, d) : 2018 8 22 02 06 06 707857 000160 memcpy(f, d) : 2018 8 22 02 06 06 708017 004131 sprintf() : 2018 8 22 02 06 06 712148 000224 f[] = e[] : 2018 8 22 02 06 06 712372 000140 g[] = &e[] : 2018 8 22 02 06 06 712512 001118 map[] = 0x00 : 2018 8 22 02 06 06 713630 000924 map[] = b : 2018 8 22 02 06 06 714554 000180 z[0] : 2018 8 22 02 06 06 714734 sprintf 느리다. 4000 map 느리다. 1000 + 연산 더하기 보통. 300 memcpy 빠르다. 150 for문을 개선할 필요가 있다. 함수 보다 낱개로 하는 작은 연산이 더 빠르다. 기능 하나당. 시간이 추가 된다. #endif
Private
[
?
]
Run code
Submit