Mailinglist Archive: yast-devel (77 mails)

< Previous Next >
[yast-devel] Profiling web-client
  • From: Josef Reidinger <jreidinger@xxxxxxx>
  • Date: Mon, 7 Dec 2009 14:38:42 +0100
  • Message-id: <200912071438.43050.jreidinger@xxxxxxx>
Hi,
I profile web-client to find where is bottleneck. I run tests on network
plugin (index action) as it takes the most serious amount of time. To profile
I use ruby-prof in specified part of code.
1) almost all time takes internal parsing in REXML (more then 80%) (waiting on
rest-service is not measured).
2) permissions recognition take around 7% of time.
3) resource_for_interface takes around 20% of time.

comments:
add 2) I create bug - https://bugzilla.novell.com/show_bug.cgi?id=561265 . It
should be easily cached, as permission for target host is not changed often.
So on login it could be stored in local db information about permissions.

add 3) I create bug -https://bugzilla.novell.com/show_bug.cgi?id=561283 . It
can be cached as well, as routes for interface is not changed. So at least
during login it should be stored and then used.

add 1) I read some articles and there is much better alternatives then default
REXML. The easiest usage and good support in rails has nokogiri. I try it and
it is more then 3x faster ( 960k cycles REXML versus 290k cycles for
nokogiri). I try it also visually and it looks little faster (flickr says that
its speedup is 40%).

You can also try it. Just install rubygem-nokogiri, then add this line to your
enviroment.rb:
ActiveSupport::XmlMini.backend = 'Nokogiri'

And it works (I am not sure if this package is in SLE11. How can I find it?).

Josef

--
Josef Reidinger
YaST team
maintainer of perl-Bootloader, YaST2-Repair, webyast
(language,time,basesystem,ntp)
--
To unsubscribe, e-mail: yast-devel+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: yast-devel+help@xxxxxxxxxxxx

< Previous Next >
Follow Ups