Advertisement
Guest User

Untitled

a guest
Feb 19th, 2017
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.04 KB | None | 0 0
  1. ~/code/graphql $ ruby -v
  2. ruby 2.3.3p222 (2016-11-21 revision 56859) [x86_64-darwin14]
  3. ~/code/graphql $ ruby struct_bench.rb
  4. ========================================
  5. Create and Access
  6. ========================================
  7. Warming up --------------------------------------
  8. Hash#[] 118.707k i/100ms
  9. Hash#fetch 113.228k i/100ms
  10. Struct 195.640k i/100ms
  11. OpenStruct 9.301k i/100ms
  12. Class 64.503k i/100ms
  13. Calculating -------------------------------------
  14. Hash#[] 1.697M (± 4.8%) i/s - 8.547M in 5.049520s
  15. Hash#fetch 1.571M (± 7.7%) i/s - 7.813M in 5.012878s
  16. Struct 3.936M (± 4.0%) i/s - 19.760M in 5.028583s
  17. OpenStruct 98.347k (± 2.9%) i/s - 492.953k in 5.016646s
  18. Class 767.913k (± 4.0%) i/s - 3.870M in 5.048166s
  19.  
  20. Comparison:
  21. Struct: 3936003.4 i/s
  22. Hash#[]: 1696710.9 i/s - 2.32x slower
  23. Hash#fetch: 1570913.6 i/s - 2.51x slower
  24. Class: 767912.6 i/s - 5.13x slower
  25. OpenStruct: 98347.4 i/s - 40.02x slower
  26.  
  27. ========================================
  28. Create
  29. ========================================
  30. Warming up --------------------------------------
  31. Hash 125.138k i/100ms
  32. Struct 212.084k i/100ms
  33. OpenStruct 57.104k i/100ms
  34. Class 64.532k i/100ms
  35. Calculating -------------------------------------
  36. Hash 1.859M (± 4.0%) i/s - 9.385M in 5.057965s
  37. Struct 4.707M (± 3.9%) i/s - 23.541M in 5.009567s
  38. OpenStruct 693.644k (± 3.5%) i/s - 3.483M in 5.027858s
  39. Class 787.318k (± 5.9%) i/s - 3.936M in 5.019975s
  40.  
  41. Comparison:
  42. Struct: 4706838.4 i/s
  43. Hash: 1858592.0 i/s - 2.53x slower
  44. Class: 787317.8 i/s - 5.98x slower
  45. OpenStruct: 693644.2 i/s - 6.79x slower
  46.  
  47. ========================================
  48. Access
  49. ========================================
  50. Warming up --------------------------------------
  51. Hash#[] 284.267k i/100ms
  52. Hash#fetch 262.122k i/100ms
  53. Struct 282.285k i/100ms
  54. OpenStruct 205.608k i/100ms
  55. Class 293.014k i/100ms
  56. Calculating -------------------------------------
  57. Hash#[] 8.841M (± 7.8%) i/s - 43.777M in 5.004526s
  58. Hash#fetch 6.977M (± 5.0%) i/s - 34.862M in 5.009896s
  59. Struct 8.774M (± 4.3%) i/s - 44.036M in 5.028365s
  60. OpenStruct 4.297M (± 3.5%) i/s - 21.589M in 5.030635s
  61. Class 9.553M (± 5.9%) i/s - 47.761M in 5.017911s
  62.  
  63. Comparison:
  64. Class: 9553056.9 i/s
  65. Hash#[]: 8840715.6 i/s - same-ish: difference falls within error
  66. Struct: 8774498.7 i/s - same-ish: difference falls within error
  67. Hash#fetch: 6976943.2 i/s - 1.37x slower
  68. OpenStruct: 4296913.4 i/s - 2.22x slower
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement