Skip to content
master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
app
 
 
 
 
 
 
 
 

Rhymer

珠玉のダジャレ生成プロジェクトレポジトリ Rhymer

現状

Docker で、

  1. mecab-unidic-NEologd で make された CSV を作ります。
  2. CSV ファイルから単語を PostgreSQL のデータベースに流し込みます。(create-db.sh)
  3. Happy rhyming!

How to use

準備

export PGVERSION=11 # or 10, 9, ...
docker-compose down
docker-compose up --build -d
docker-compose run app ./create-db.sh

./create-db.sh で CSV からデータベースへデータを流し込みます。

これで select-word.rb のようにすると、Ruby の String オブジェクトに #dajare メソッドが生えます。

Ruby 実行例

require './select-word.rb'

'した'.dajare

ランダムでその読み方で始まるダジャレが出力されます。

Benchmarks

Creating DB

export PGVERSION=11
docker-compose down
docker-compose up --build -d
time docker-compose run app ./create-db.sh

のベンチマーク

PostgreSQL 11

1.03user 0.15system 0:18.60elapsed 6%CPU (0avgtext+0avgdata 47632maxresident)k
0inputs+8outputs (0major+25368minor)pagefaults 0swaps

PostgreSQL 10

1.00user 0.18system 0:18.11elapsed 6%CPU (0avgtext+0avgdata 45760maxresident)k
0inputs+8outputs (0major+25251minor)pagefaults 0swaps

PostgreSQL 9

1.01user 0.17system 0:19.43elapsed 6%CPU (0avgtext+0avgdata 45524maxresident)k
0inputs+8outputs (0major+25194minor)pagefaults 0swaps

Selecting

docker-compose run app ruby benchmark-select.rb
  • String.dajare は Ruby のコードで String に dajare メソッドをはやしたものを多数起動するものです。毎回データベースに接続し直すという雑な実装です。
  • PostgreSQL select は、それはあんまりなので1回だけデータベースに接続して、そのまま SELECT を発行するベンチマークです。

PostgreSQL 11

                 user     system      total        real
String.dajare  1.571993   0.133628   1.705621 ( 27.632465)
                 user     system      total        real
PostgreSQL select  0.030765   0.012489   0.043254 ( 49.565850)

PostgreSQL 10

                 user     system      total        real
String.dajare  1.603802   0.152695   1.756497 ( 28.066918)
                 user     system      total        real
PostgreSQL select  0.017889   0.025146   0.043035 ( 50.333151)

PostgreSQL 9

                 user     system      total        real
String.dajare  1.897162   0.184556   2.081718 ( 79.409097)
                 user     system      total        real
PostgreSQL select  0.017323   0.045738   0.063061 (150.408147)

Thanks

  • mecab-unidic-NEologd (mecab の追加用辞書。しょっちゅう新しい単語が追加されている)

About

珠玉のダジャレ生成プロジェクトレポジトリ Rhymer

Resources

Releases

No releases published

Packages

No packages published