안녕하세요.
다름이 아니라,
지금 리눅스에서 웹캠을 이용하여 캡처된 영상을 받고 있는데
2가지 방법이 있더군요... 하나는 read(device_fd, buf_size, size_t)으로 받는 방법과
mmap(NULL, size, PROT_READ, MAP_SHARED, device_fd, 0)
이렇게 있더군요... 지금은 처음것으로 하고 있는데
두번째꺼하고 차이가 정확히 무엇인가요?
속도로 따지면 두번째꺼 쓰는게 빠릅니다.
read() 는 시스템 콜이어서 호출할 때마다 컨텍스트 스위칭이 발생하므로 속도가 느립니다.
mmap() 은 바로 접근이 가능하므로 속도가 빠르지요.
======================== 조직 : E.L.D(Embedded Linux Developer/Designer) 블로그 : poplinux@tistory.com 카페 : cafe.naver.com/poplinux
임베디드 리눅스 관련 프리렌서 지향
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
속도로 따지면
속도로 따지면 두번째꺼 쓰는게 빠릅니다.
read() 는 시스템 콜이어서 호출할 때마다 컨텍스트 스위칭이 발생하므로 속도가 느립니다.
mmap() 은 바로 접근이 가능하므로 속도가 빠르지요.
========================
조직 : E.L.D(Embedded Linux Developer/Designer)
블로그 : poplinux@tistory.com
카페 : cafe.naver.com/poplinux
임베디드 리눅스 관련 프리렌서 지향
댓글 달기