[REDIS] 선택, epoll에, kqueue, 그리고 evport 사이의 근본적인 차이점은 무엇입니까?
REDIS선택, epoll에, kqueue, 그리고 evport 사이의 근본적인 차이점은 무엇입니까?
최근 레디 스를 읽고있다. 구현에게 I에 / O 멀티플렉싱 기반의 간단한 이벤트 중심의 라이브러리를 레디 스. 레디 스는이 시스템에서 지원하는 최적의 다중를 선택할 것이라고 말했습니다 다음 코드를 제공합니다 :
/* Include the best multiplexing layer supported by this system.
* The following should be ordered by performances, descending. */
#ifdef HAVE_EVPORT
#include "ae_evport.c"
#else
#ifdef HAVE_EPOLL
#include "ae_epoll.c"
#else
#ifdef HAVE_KQUEUE
#include "ae_kqueue.c"
#else
#include "ae_select.c"
#endif
#endif
#endif
나는 그들이 근본적인 성능 차이가 있는지 알고 싶어? 그렇다면, 왜?
친애하는
해결법
-
==============================
1.일반적으로 모든 비동기 I / O 서브 시스템은 다른 내부를 가지고 있지만 현재 특정 케이스에 I 비동기이 콘크리트 / O libs와 가능한 많은 플랫폼으로 지원하는 데 사용됩니다. 그건:
일반적으로 모든 비동기 I / O 서브 시스템은 다른 내부를 가지고 있지만 현재 특정 케이스에 I 비동기이 콘크리트 / O libs와 가능한 많은 플랫폼으로 지원하는 데 사용됩니다. 그건:
Evport, epoll 파일 및 KQueue는 O (1) 기술자 선택 알고리즘 복잡도를 가지고, 모두 사용 내부 공간 커널 메모리 구조. 또한 그들은 많은 (수천 수백) 파일 디스크립터를 제공 할 수 있습니다.
복잡도가 O (n)이, 그래서 외에 다른 사람, 1024 개 기술자까지 제공 할 수 선택하고 (그와 일에 하나를 선택하기 위해 모든 설명을 반복 할 때마다 그래서) 기술자의 전체 검사를 수행합니다.
from https://stackoverflow.com/questions/26420947/what-are-the-underlying-differences-among-select-epoll-kqueue-and-evport by cc-by-sa and MIT license
'REDIS' 카테고리의 다른 글
[REDIS] 파이썬 / PIL을 사용하여 레디 스에 이미지를 저장하는 방법 (0) | 2020.01.17 |
---|---|
[REDIS] xargs를 변수에 나오지도 사용 쉘 확장 내부에서 작동하지 않습니다 (0) | 2020.01.17 |
[REDIS] nodejs와 레디 스 (node_redis)에 가입 게시 (0) | 2020.01.17 |
[REDIS] 어떻게 레디 스 해시에서 핵심 패턴을 검색하려면? (0) | 2020.01.17 |
[REDIS] 어떻게 CodeIgniter의에서 레디 스를 구현하는 방법? (0) | 2020.01.17 |