epoll 과 rts(real time signal) 중 어느게 더 효율적?

ssehoony의 이미지

rts 에 대한 메뉴얼을 읽어 봤는데 사용하기 어려운 것 같긴한지만 구현 이론을 보면 select 의 문제점을 잘 해결 한 듯 하더군요.
포퍼먼스도 좋을 듯 하고요.
그런데 epoll 과 비교 해서 포퍼먼스가 어떨지 궁금합니다.
libevent 라이브러리의 벤치마킹 결과를 보면 rts 에 대한 벤치마킹이 없어서 서로간의 성능차를 알 수가 없더군요.
어느쪽이 얼마나 효율적인가요?

libevent 를 사용해 볼려고 하는데, select 를 사용할지 poll, epoll, kqueue 를 사용할지의 여부를 선택할 수 없는 듯 한데 맞나요?
컴파일 타임에서 사용 할 수 있는 가장 좋은 것을 선택해서 컴파일이 되는건가요?

솔라리스 8은 epoll 이 지원되지 않는 것 같던데 epoll 이 지원되는 솔라리스 버전은 어떤건가요?

albamc의 이미지

퍼포먼스... 아닌가요?

후다닥;;;;;

^^*

ssehoony의 이미지

네 퍼포먼스네요. ㅋ

bugiii의 이미지

libevent 에서 어떤 대기 함수를 사용하지를 설정할 수 있습니다. 환경 변수로 조작할 수 있습니다. libevent make 중에 test 할 수 있도록 하는 타킷이 있습니다.

RTS 는 언뜻 봐서 자세히는 모르겠지만, 코드의 복잡성과 프로그래머가 알아야 할 상황이 좀 많은 것 같습니다. 저는 libevent 가 이식성도 좋고 사용하기도 편해서 잘 사용하고 있습니다.

ctcquatre의 이미지

좀 상관없는 이야기지만
rts의 경우 스레드에서 시그널을 잘 받아 드리는지요?

같은 코드를 커널 2.4에서는 스레드가 시그널을 잘 받아드리는데.
2.6에서 pthread_kill하면 받는데 rts로 발생되는 시그널은 받지를
못하더군요.

pid문제일거라고 생각했지만.. 이건 아무레도 아닌듯 하군요.

한참을 문제점을 찾아다니다가 포기하고
지금은 epoll로 하고 있는데.. 정말 궁금하네요..

Chaos to Cosmos,
Chaos to Chaos,
Cosmos to Cosmos,
Cosmos to Chaos.

cb2531의 이미지

조인씨 위키에서 epoll관련 문서를 본적이 있는데

epoll이 10~20%정도 성능이 좋다고 하더군요.

(뭐 구현하기 나름이겠지만...^^)

참고문서입니다.

http://www.xmailserver.org/linux-patches/nio-improve.html

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <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].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <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].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <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].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <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].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.