- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我通过实现最基本的服务器来测试 GServer 的性能,并检查它每秒可以处理多少请求。结果是 81。与我最基本的 TCPSocket 服务器可以处理的每秒 9900 个请求相比,这是非常慢的。是我做错了什么还是 GServer 真的这么慢?
客户端实现:
require 'socket'
tStart = Time.now
u = 0
while Time.now - tStart<5
socket = TCPSocket.open('localhost', 1234)
socket.puts 'a'
socket.gets
socket.close
u += 1
end
puts u.to_s
GServer 实现:
require 'gserver'
class JServer < GServer
def initialize(*args)
super(*args)
end
def serve( io )
io.gets
io.puts( 'a' )
end
end
server = JServer.new(1234)
server.start
loop { break if server.stopped? }
TCPSocket 服务器实现:
require 'socket'
server = TCPServer.open(1234)
loop {
client = server.accept
puts client.gets
client.puts( 'a' )
client.close
}
最佳答案
通过替换
,你应该得到显着的加速(从我的测试中大约 30 倍)loop { break if server.stopped? }
与
server.join
也就是说,GServer 使用线程,并且可能比单线程的基于事件的服务器慢。
关于Ruby GServer 性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1598859/
我通过实现最基本的服务器来测试 GServer 的性能,并检查它每秒可以处理多少请求。结果是 81。与我最基本的 TCPSocket 服务器可以处理的每秒 9900 个请求相比,这是非常慢的。是我做错
TCPServer.new(port) 创建一个服务器,可以为来自本地主机或远程机器的请求提供服务。 但是 GServer.new(port) 创建的服务器只能为来自本地主机的请求提供服务。 在查看
我有以下 Ruby 脚本: class Server < GServer def initialize super(10001) end def serve(io) whil
我想我搞砸了我的一个项目,现在它几乎无法运行任何命令。 最初我都是通过 RVM 安装的。 Gemfile 显示 rails 4.1.3 一段时间后,我想我可能会尝试更新 rails 并启动几个其他项目
我正在尝试构建一个基于 Web 的聊天系统,我将使用 ruby gserver。我看过this example .但是我的问题是当我从网络上获取用户输入时,在 Controller 中我有用户输入
我是一名优秀的程序员,十分优秀!