You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
require "benchmark" require "yajl" require "json" BENCH_TIMES = 100000 hash = { s:"string", ss:["strings"] * 3, n:10, ns:(0..100).to_a.sample(20) } json = hash.to_json Benchmark.bmbm do |bm| bm.report("encode with yajl") do BENCH_TIMES.times do encoder = Yajl::Encoder.new encoder.encode(hash) end end bm.report("encode with yajl 2") do BENCH_TIMES.times do Yajl::Encoder.encode(hash) end end bm.repo
このまえ、標準のJSONクラスの替わりにYajlを使ってみたのですが、 もっと速いと噂のOJ( Optimized JSON)でベンチマークを取ってみました。 https://github.com/ohler55/oj 結果は以下の通り。 サンプルにしたjsonデータは仕事で使っているので晒せないのですが、500行くらいあります。 エンコードが圧倒的に速いですね! Yajlでは差が出なかったデコードもだいぶ速いです。 Rehearsal ---------------------------------------------------- encode with oj 4.900000 0.040000 4.940000 ( 5.251580) encode with json 38.770000 0.250000 39.020000 ( 41.966557) -------------
yajl(Yet Another JSON Library)っていう高速なJSONライブラリがあって、 yajl こいつをrubyから使えるようにするyajl-rubyってgemがあって、これをMultiJsonのBackendに変更することで、RailsにおけるJSON処理の高速化が期待できるデス。 brianmario/yajl-ruby · GitHub 素のjson.gemと、yajl-rubyとで適当なActiveRecordオブジェクトからJSONへのエンコードと、その逆のデコードで簡単にベンチってみると、約2倍の差があることが分かる。 -------------------------------------------------------------------------------- Benchmark of json encoding/decoding json_
This repository is private. All pages are served over SSL and all pushing and pulling is done over SSH. No one may fork, clone, or view it unless they are added as a member. Every repository with this icon () is private. This repository is public. Anyone may fork, clone, or view it. Every repository with this icon () is public.
WebOS Goodies へようこそ! WebOS はインターネットの未来形。あらゆる Web サイトが繋がり、共有し、協力して創り上げる、ひとつの巨大な情報システムです。そこでは、あらゆる情報がネットワーク上に蓄積され、我々はいつでも、どこからでも、多彩なデバイスを使ってそれらにアクセスできます。 WebOS Goodies は、さまざまな情報提供やツール開発を通して、そんな世界の実現に少しでも貢献するべく活動していきます。 以前公開した前バージョンにはたくさんのアドバイス、リンクなどいただきまして、ありがとうございます。少々時間が経ってしまいましたが、あれからいろいろと勉強しまして、 strscan なる便利なライブラリが Ruby の標準ライブラリに含まれていることも知りました。それらをきちんと使えばコードをだいぶシンプルにできそうだったので、思い切って書き直してみました。まだまだ
Download a raw-text version of this code by clicking on "Download Version" Latest Snippet Version: :1.05 # = Simple JSON parser & builder # # Author:: Chihiro Ito # License:: Public domain (unlike other files) # Support:: http://groups.google.com/group/webos-goodies/ # # This file contains two simple JSON processing classes. JsonParser # converts a JSON string to an array or a hash. JsonBui
比較対象は、 ActiveSupport::JSON gemのJSON http://json.rubyforge.org/ こちら http://rubyforge.org/snippet/detail.php?type=snippet&id=148 で公開されているJsonParser 結果は下に貼付けた。 require "rubygems" require "json" require "activesupport" require "json_parser" json = (1..2000).map{|i| { i.to_s => (i+10)*10, :hoge => "ほげ ふが" }}.to_json Benchmark.bm do |x| x.report { 10.times{ ActiveSupport::JSON.decode(json) } } x.report
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く