add ruby websocket bencharking code using
faye-websocket-ruby to receive messages as fast as possible
This commit is contained in:
		
							
								
								
									
										6
									
								
								test/compatibility/ruby/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								test/compatibility/ruby/README.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,6 @@ | ||||
| ``` | ||||
| export GEM_HOME=$HOME/local/gems | ||||
| bundle install faye-websocket | ||||
| ``` | ||||
|  | ||||
| https://stackoverflow.com/questions/486995/ruby-equivalent-of-virtualenv | ||||
							
								
								
									
										59
									
								
								test/compatibility/ruby/devnull_client.rb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										59
									
								
								test/compatibility/ruby/devnull_client.rb
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,59 @@ | ||||
| # | ||||
| # $ ruby --version | ||||
| # ruby 2.6.3p62 (2019-04-16 revision 67580) [universal.x86_64-darwin19] | ||||
| #  | ||||
| # Install a gem locally by setting GEM_HOME | ||||
| # https://stackoverflow.com/questions/486995/ruby-equivalent-of-virtualenv | ||||
| # export GEM_HOME=$HOME/local/gems | ||||
| # bundle install faye-websocket | ||||
| # | ||||
| # In a different terminal, start a push server: | ||||
| # $ ws push_server -q | ||||
| # | ||||
| # $ ruby devnull_client.rb | ||||
| # [:open] | ||||
| # Connected to server | ||||
| # messages received per second: 115926 | ||||
| # messages received per second: 119156 | ||||
| # messages received per second: 119156 | ||||
| # messages received per second: 119157 | ||||
| # messages received per second: 119156 | ||||
| # messages received per second: 119156 | ||||
| # messages received per second: 119157 | ||||
| # messages received per second: 119156 | ||||
| # messages received per second: 119156 | ||||
| # messages received per second: 119157 | ||||
| # messages received per second: 119156 | ||||
| # messages received per second: 119157 | ||||
| # messages received per second: 119156 | ||||
| # ^C[:close, 1006, ""] | ||||
| #  | ||||
| require 'faye/websocket' | ||||
| require 'eventmachine' | ||||
|  | ||||
| EM.run { | ||||
|   ws = Faye::WebSocket::Client.new('ws://127.0.0.1:8008') | ||||
|  | ||||
|   counter = 0 | ||||
|  | ||||
|   EM.add_periodic_timer(1) do | ||||
|     print "messages received per second: #{counter}\n" | ||||
|     counter = 0  # reset counter | ||||
|   end | ||||
|  | ||||
|   ws.on :open do |event| | ||||
|     p [:open] | ||||
|     print "Connected to server\n" | ||||
|   end | ||||
|  | ||||
|   ws.on :message do |event| | ||||
|     # Uncomment the next line to validate that we receive something correct | ||||
|     # p [:message, event.data] | ||||
|     counter += 1 | ||||
|   end | ||||
|  | ||||
|   ws.on :close do |event| | ||||
|     p [:close, event.code, event.reason] | ||||
|     ws = nil | ||||
|   end | ||||
| } | ||||
		Reference in New Issue
	
	Block a user