728x90
1. Scatter/gather I/O(vectored I/O)
vector를 이용한 입출력으로 한번의 연산을 통해 선형 입출력 연산 여러개를 대체할 수 있다.(시스템 호출 횟수를 줄이며 원자성을 가진다.)
readv(), writev()
#include <sys/uio.h>
ssize_t readv(int fd, const struct iovec *iov, int count);
ssize_t writev(int fd, const struct iovec *iov, int count);
struct iovec{ void *iov_base; size_t iov_len;}
count가 작으면 리눅스 커널에서 동적할당 대신 segment array를 만들기 때문에 count가 충분히 작은 경우 성능이 개선된다.(현재 한계값은 8)
728x90
'Programming > linux왕초보' 카테고리의 다른 글
5. Asynchronous I/O (0) | 2012.02.24 |
---|---|
4. File advice (일반적인 파일입출력을 위한 advice) (0) | 2012.02.21 |
3. Memory mapped I/O (0) | 2012.02.17 |
2. epoll(), select(), poll() (0) | 2012.02.08 |
make[1]: warning: Clock skew detected. Your build may be incomplete. (0) | 2012.02.03 |
리눅스 파일 입출력 (Linux File I/O) (0) | 2012.01.29 |
VMware에서 telnet server 실행 및 접속 (0) | 2011.09.26 |
grep 사용하기 (1) | 2011.07.29 |
어셈 명령어 정리 (1) | 2011.03.22 |
linux 병렬포트(프린트포트) 제어 (0) | 2008.10.13 |