Когда я запускаю свои скрипты ruby в ubuntu (10.10), это серьезно снижает производительность моих компьютеров (до уровня, который необходимо перезапустить).Даже когда я останавливаю сценарий, он не улучшается.Хотя один и тот же скрипт при запуске в Windows работает отлично в течение нескольких часов - без какого-либо заметного влияния на производительность компьютера.
В настоящее время я использую ruby 1.8.7.Посмотрел в Google, но безрезультатно.
Какие могут быть возможные причины?
PS: Это всего лишь игрушечный скрипт для клиента чата, поэтому включает регулярную передачу данных на сервер чата Google.
РЕДАКТИРОВАТЬ;Код:
require 'rubygems'
require 'xmpp4r-simple'
username = 'username' #your username here
password = 'password'
answer='ai'
#to_username = gets #prompt will wait for
$i=1
$cap=1
puts "Connecting to jabber server.."
jabber = Jabber::Simple.new(username+'@gmail.com',password)
jabber.status(:dnd,"status")
puts "Connected."
while $cap!=0 do
jabber.received_messages do |msg|
$cap=0
jabber.deliver(msg.from.node+"@gmail.com","You have to pass a captcha test to talk to me.(Its a hard one)Networking==OS then POM==?")
end
end
while $i!=0 do
jabber.received_messages do |msg|
if msg.body.downcase != answer then
message="sorry you failed the captcha try again...(Its a hard one) Networking==OS then POM==??"
jabber.deliver(msg.from.node+"@gmail.com",message)
else
$i=0
jabber.deliver(msg.from.node+"@gmail.com","You passed the captcha.You are entitled to talk to me")
puts msg.from.node
puts "Passed the captcha"
puts "=================="
puts msg
puts "=================="
end
end
end
#$i=0
while (true) do
jabber.received_messages do |msg|
puts "=============================================="
puts msg.body
puts "----------------------------------------------"
message=gets
#$i=1;
jabber.deliver(msg.from.node+"@gmail.com", message)
#end
#end
end
end
Это просто прототип кода.Я знаю, что код не будет вести себя должным образом, если за время существования программы будут общаться несколько человек.Более того, нет другого способа остановить сценарий, кроме как убить его.