Guest User

Untitled

a guest
Feb 21st, 2018
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.69 KB | None | 0 0
  1. require 'benchmark'
  2.  
  3. Q = "select * from bet limit 3000"
  4.  
  5. ARi = Proc.new {
  6. require 'activerecord'
  7. ActiveRecord::Base.establish_connection(:adapter => "postgresql",
  8. :host => "localhost",
  9. :username => "betscan",
  10. :password => "abcd1234",
  11. :database => "betloader")
  12. class BetAR < ActiveRecord::Base
  13. set_table_name "bet"
  14. end
  15. }
  16.  
  17. DMi = Proc.new {
  18. require 'datamapper'
  19. DataMapper.setup(:default, 'postgres://betscan:abcd1234@localhost/betloader')
  20. class BetDM
  21. include DataMapper::Resource
  22. storage_names[:default] = 'bet'
  23. property :id, Serial
  24. property :time, DateTime
  25. property :bookmaker_id, Integer
  26. property :event_id, Integer
  27. end
  28. }
  29. SQi = Proc.new {
  30. require 'sequel'
  31. DB = Sequel.connect('postgres://betscan:abcd1234@localhost/betloader')
  32. }
  33.  
  34. Benchmark.bm do |x|
  35. x.report("ARi", &ARi)
  36. x.report("DMi", &DMi)
  37. x.report("SQi", &SQi)
  38. end
  39.  
  40. ARp = Proc.new {
  41. data = BetAR.find_by_sql Q
  42. #data = ActiveRecord::Base.connection.execute Q
  43. nused = nil
  44. data.each{|e|
  45. nused = "#{e.time}+#{e.id}+#{e.bookmaker_id}+#{e.event_id}"
  46. }
  47. p nused
  48. }
  49.  
  50. DMp = Proc.new {
  51. data = BetDM.find_by_sql Q
  52. nused = nil
  53. data.each{|e|
  54. nused = "#{e.time}+#{e.id}+#{e.bookmaker_id}+#{e.event_id}"
  55. }
  56. p nused
  57. }
  58.  
  59. SQp = Proc.new {
  60. data = DB[Q]
  61. nused = nil
  62. data.each{|e|
  63. nused = "#{e[:time]}+#{e[:id]}+#{e[:bookmaker_id]}+#{e[:event_id]}"
  64. }
  65. p nused
  66. }
  67.  
  68. Benchmark.bm do |x|
  69.  
  70. x.report("DM", &DMp)
  71. x.report("SQ", &SQp)
  72. x.report("AR", &ARp)
  73. end
Add Comment
Please, Sign In to add comment