[질문] IPC기능과 파일을 사용한 프로세스간 통신

익명 사용자의 이미지

같은 기능을 하는 프로그램을 프로세스간의 통신을 message queue와
shared memory, 그리고, file을 만들어서 서로 통신하는 방법의 3가지로
구현을 해봤는데요..
time 유틸을 사용해서, 시간계산을 해봤는데, 제 예상과는 틀리게 의외로
file을 사용한 프로그램이 훨씬 빠른 결과가 나왔습니다.
왜 그럴까요?

1) 파일을 사용한 방법
$)time hw1 10 0.0000001
……
real 0m0.033s
user 0m0.000s
sys 0m0.040s
2) 메시지 큐를 사용한 방법
$)time hw2 10 0.0000001
……
real 0m4.578s
user 0m4.090s
sys 0m0.000s
3) 공유메모리를 사용한 방법
$)time hw3 10 0.0000001
……
real 0m4.593s
user 0m4.580s
sys 0m0.010s

파일은 각 프로세스당 만들었으니깐 10개 생성됬구요.
메세지큐도 10개, 공유메모리도 10개 생성했는데요.
원인을 아시는 분 설명 좀 부탁드리겠습니다.

익명 사용자의 이미지

벤치마크에 사용된 소스를 보아야..
테스트의 결과를 분석할 수 있을듯 하네요.

익명 사용자의 이미지


공유메모리는 확실치 않지만 파일을 이용한 경우와 메시지큐를 이용한 경
우 user 의 시간은 비슷해야 할 것 같은데 너무 많은 차이가 나네요.
시간차이가 sys쪽이 아니라 user쪽에서 나는 것으로 봐서 프로세스간 통
신을 제외한 다른 부분이 동일하지는 않은 것 같고요.
소스를 봐야 확실해 질 듯 싶습니다.

그리고 수행시간 또는 횟수도 너무 짧거나 작은 것 같습니다.
현재보다 10배나 100배 정도 더 돌려보셔야 할 것 같습니다.

익명 사용자의 이미지


별로 놀랄일이 아닙니다.

저는 1~100까지 더하는것을 껌따 프로그램으로 돌리는 것보다

제가 머리로 계산 하는것이 더빠른경우도 있더군요..

저는 플로피 읽고/쓰기 보다 더느리게 메모리에 읽고/쓰는 프로그램을

만들수 있습니다. ㅡ,.ㅡ;;;;

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.