Skip to content

Commit b22ef92

Browse files
authored
[ruby|sinatra] Use OJ for JSON serialization (#9050)
`oj` is faster than the `json` gem.
1 parent ff1ddce commit b22ef92

File tree

4 files changed

+8
-2
lines changed

4 files changed

+8
-2
lines changed

frameworks/Ruby/sinatra-sequel/Gemfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
source 'https://rubygems.org'
22

3-
gem 'json', '~> 2.0'
3+
gem 'oj'
44
gem 'passenger', '~> 6.0', :platforms=>[:ruby, :mswin], :require=>false
55
gem 'puma', '~> 6.4', :require=>false
66
gem 'sequel', '~> 5.0'

frameworks/Ruby/sinatra-sequel/boot.rb

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# frozen_string_literal: true
22
require 'bundler/setup'
33
require 'time'
4+
require 'oj'
45

56
MAX_PK = 10_000
67
ID_RANGE = (1..MAX_PK).freeze
@@ -23,6 +24,8 @@
2324

2425
Bundler.require(:default) # Load core modules
2526

27+
Oj.mimic_JSON
28+
2629
def connect(dbtype)
2730
Bundler.require(dbtype) # Load database-specific modules
2831

frameworks/Ruby/sinatra/Gemfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
source 'https://rubygems.org'
22

33
gem 'activerecord', '~> 7.0', :require=>'active_record'
4-
gem 'json', '~> 2.0'
4+
gem 'oj'
55
gem 'passenger', '~> 6.0', :platforms=>[:ruby, :mswin], :require=>false
66
gem 'puma', '~> 6.4', :require=>false
77
gem 'sinatra', '~> 3.0', :require=>'sinatra/base'

frameworks/Ruby/sinatra/boot.rb

100755100644
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# frozen_string_literal: true
22
require 'bundler/setup'
33
require 'time'
4+
require 'oj'
45

56
MAX_PK = 10_000
67
ID_RANGE = (1..MAX_PK).freeze
@@ -22,6 +23,8 @@
2223

2324
Bundler.require(:default) # Load core modules
2425

26+
Oj.mimic_JSON
27+
2528
def connect(dbtype)
2629
Bundler.require(dbtype) # Load database-specific modules
2730

0 commit comments

Comments
 (0)