Using this gem I could get JSON generation from a large, nested Ruby hash down from 200ms to 2ms.
Its behavior differs from the default JSON.dump or to_json behavior in that it serializes Ruby symbols as ":symbol", and that it doesn't like an ActiveSupport::HasWithIndifferentAccess.
There are also 
  some issues
  
    Show archive.org snapshot
  
 if you are on Rails < 4.1 and want it to replace #to_json (but you can always just call Oj.dump explicitely).
Security warning: Oj does not escape HTML entities in JSON
Be aware that Oj.dump is not aware of 
  ActiveSupport's escape_html_entities_in_json setting
  
    Show archive.org snapshot
  
. You need to escape its output to prevent XSS vulnerabilities.
You might be able to fix this by hooking Oj into to_json but there are 
  some issues
  
    Show archive.org snapshot
  
 and I haven't tried it. Please update this card if you find out.
What I did test successfully was the workaround below.
Workaround
In Rails 4 you can wrap the output of Oj.dump(...) in an escape_json tag to escape HTML entities in Strings:
<script>
  myFunction(<%= escape_json OJ.dump(@data) %>)
</script>
Earlier Rails versions have an 
  unusable implementation of escape_json
  
    Show archive.org snapshot
  
 (it deletes all your quotes!), so you need to load the attached file that backports the Rails 4 implementation like so:
<script>
  myFunction(<%= Rails4JsonEscape.escape_json OJ.dump(@data) %>)
</script>