티스토리 뷰
반응형
개요
프로그램 실행시간을 알아보는 unix 명령어인 time 에 대해 알아보자
링크: https://www.wikiwand.com/en/Time_(Unix)#/Real_time_vs_CPU_time
링크: https://engineering.purdue.edu/ECN/Support/KB/Docs/UserTimeVsSystemTime
정리1
리눅스에는 user mode 와 kernel mode 가 있다.
user mode 는 사용자가 맘대로 할 수 있지만, kernel mode 는 system call 로면 접근할 수 있다.
user time: user mode 에서의 소요시간
system time: kernel mode 에서의 소요시간
정리2
그런데 실제 소요시간인 real time = user + system 이 아니다.
왜냐하면 OS 가 해당 프로그램만 돌리는게 아니고 다른 작업도 하기에 기다리는 시간이 소요되기 때문이다.
따라서 real >= user + system time 이다.
정리3
앗! 그런데 real time < user time 인 경우가 있다.
이것은 멀티코어, 혹은 멀티쓰레드에서는 user time 과 system time 을 * 쓰레드 개수 로 해서 출력해주기 때문이다.
→ 따라서, 헷갈리지 말고 real time 만 보면 된다.
반응형
'development' 카테고리의 다른 글
SSH Port Forwarding (4) | 2019.04.01 |
---|---|
x-mouse 로 windows 10 가상 데스크탑 활용하기 (1) | 2019.03.12 |
unix time command: real, user, sys (0) | 2019.02.11 |
WSL meets ConEmu - start (0) | 2019.01.31 |
WSL 에서 vim update, 그리고, apt 가 뭐지? (0) | 2019.01.29 |
Mailvelope 로 PGP 이용해보기 (0) | 2018.08.08 |
댓글
반응형
공지사항
최근에 달린 댓글
- Total
- 327,560
- Today
- 26
- Yesterday
- 136
링크
TAG
- 자아
- sidh
- 하드씽
- Team of Rivals: The Political Genius of Abraham Lincoln
- SIKE
- 명상
- gorilla/websocket
- post-quantum cryptographic algorithm
- framework
- websocket
- gcm
- Handshake
- AES
- 독서후기
- solid
- additional data
- min heap
- 권력의 조건
- post quantum
- heap
- Pocket Edition
- agile
- Nike Run Club
- Garmin Connect
- powershell
- Gin
- go
- 클린 애자일
- golang