Skip to content
skk serv for zipcode
Ruby
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
README
SKK-JISYO.zipcode
daemon_client.rb
prefork.rb
skk.rb
skk_log_parse.rb

README

= skkzipcode

It's not *skkserv*.
I created to profile for CoW friendly GC.

== Abstract

skk.rb は起動時に、辞書ファイルをハッシュに詰め込み、自身をデーモン化する。
今回、郵便番号と住所の辞書ファイルを使用する。

その後、5個のサブプロセスを生成し、親プロセスでTCPの通信を待つ。
クライアント側では、SKKサーバが待っているポートに郵便番号をTCPプロトコルにて送信する。
その通信を親プロセスがキャッチし、生成しておいたアイドリング中のサブプロセスに処理を渡す。
サブプロセスは自身のもつハッシュにて郵便番号を住所に変換し、結果をクライアント側に返す仕組みである。

== Usage

Server
  t1$ ruby -I. skk.rb -m

Client
  t2$ ruby daemon_client.rb
  t2$ ruby skk_log_parse.rb /tmp/skk_exelog
  PROCESS_CNT : 5 
  SHARED_AVE  : 11824.8   kb
  SHARED_TOTAL: 59124     kb
  PRIV_AVE    : 44978.4   kb
  PRIV_TOTAL  : 224892    kb
  REQ/SEC     : 0.007594

* PROCESS_CNT: count of child processes
* SHARED_AVE: average of shared memory usage of child processes (KB)
* SHARED_TOTAL: total of shared memory usage of child processes (KB)
* PRIV_AVE: average of private memory usage of child processes (KB)
* PRIV_TOTAL: total of private memory usage of child processes (KB)
You can’t perform that action at this time.