non vorrei lavorare

ブログ名の通りです。javascript three.js mruby rust OCaml golang julialang blender

mruby-uuid作った

こんばんは、次男が熱を出し、家にいます。kjunichiです。GLSLをサーバサイドで処理して、HLSで配信するWebアプリを作成している際に、必要と思いこみ作ってしまったmrbgemの話になります。

ユニークなファイル名をつけたかった

pt(the_platinum_searcher)でお世話になってる作者の方が作成されたmrbgemがあった。

github.com

/dev/urandomを使っての実装で、一瞬OSXでは使えないと思いったが、OSXにも/dev/urandomがあった。

が、勢いで、ossp-uuidを呼び出すmrbgemを作ってしまった。

github.com

比べてみた

% cat uuid1.rb
100000.times {
  SecureRandom.uuid
}

% time bin/mruby uuid1.rb 

real    0m32.059s
user    0m2.332s
sys     0m29.657s

$ cp uuid1.rb uuid2.rb                                                           
$ vi uuid2.rb 
$ cat uuid2.rb
100000.times {
  Uuid.uuid
}
$ time bin/mruby uuid2.rb                                                        

real    0m3.380s
user    0m0.547s
sys     0m2.814s

もしかした、用途によっては意味のあるmrbgemかも?

関連記事