タグ

fluentdとtimeに関するa2ikmのブックマーク (1)

  • strptime gemで高速に文字列をTimeに変換する - Qiita

    背景 Rubyで文字列の時間表現を時間に変換するにはTime.strptimeをよく使います.以下は公式リファレンスの例です. Time.strptime('2001-02-03T04:05:06+09:00', '%Y-%m-%dT%H:%M:%S%z') #=> 2001-02-03 06:05:06 +0900 これは楽でとても便利なんですが,Time.strptimeには遅いという致命的な問題があります.例えばFluentdのようなひたすらログを読み込んでパースするソフトウェアの場合,Time.strptimeそのものがボトルネックになります.これはTime.strptimeは毎回文字列フォーマットをパースしないといけないなど,いくつかの要因があります. Fluentdでこの問題をどう解決していたかと言うと,文字列をキャッシュして,前と文字列が同じであればTime.strptime

    strptime gemで高速に文字列をTimeに変換する - Qiita
    a2ikm
    a2ikm 2015/10/01
    ActiveRecordで大量のレコードを読み込むときに時刻のパースが遅かった気がするけど、これを使ってマシになるとかあるのかなー。
  • 1