← Back to team overview

touch-packages team mailing list archive

[Bug 338729] Re: Slow to compile keymaps on armel

 

Closing due to age.
If a similar bug appears  in 15.04 (development) please open a new report.

** Changed in: console-setup (Ubuntu)
       Status: Triaged => Invalid

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to console-setup in Ubuntu.
https://bugs.launchpad.net/bugs/338729

Title:
  Slow to compile keymaps on armel

Status in console-setup package in Ubuntu:
  Invalid

Bug description:
  Hi,

  It takes 25 s to run "ckbcomp -model pc105 us >/dev/null" on a TI EVM
  board running jaunty/armel; this board is 500 MHz.  On a 800 MHz
  Freescale Babbage board running jaunty/armel but perhaps building a
  different keymap, it's in the 5 seconds, and on my amd64 desktop it's
  sub-second.

  ckbcomp could benefit from benchmarks and optimizations.  We tried to
  add "use integer;" at the top and it didn't help.

  Notes from conversation with Colin below; anybody is welcome to pickup the research.
  12:22 < lool> cjwatson: Will it affect first boot?
  12:22 < cjwatson> no, it won't
  12:23 < cjwatson> it's interesting that it's so slow though
  12:23 < lool> cjwatson: Ok, so it's normal that it takes so long on 
                console-setup upgrades?
  12:23 < lool> Right, I find that really slow
  12:23 < cjwatson> ckbcomp only uses maybe 5MB of memory tops
  12:23 < cjwatson> $ time ckbcomp -model pc105 us '' '' >/dev/null
  12:23 < cjwatson> real    0m0.618s
  12:24 < lool> time (ckbcomp -model pc105 us >/dev/null) => 0m26.826s
  12:24 < cjwatson> lool: is it possible that 'use integer;' near the top of 
                    ckbcomp would speed it up?
  12:24 < lool> I don't see any faults in /proc/cpu/alignment
  12:25 < cjwatson> I don't think it needs FP math
  12:25 < lool> That's likely, trying
  12:25 < lool> 0m25.583s
  12:25 < lool> no
  12:26 < cjwatson> might be worth trying it with -v 10 and seeing what's taking 
                    time
  12:27 < cjwatson> oh, hmm, -v 10 actually not that informative
  12:27 -!- ember [n=pmf@ubuntu/member/ember] has quit [Read error: 104 
            (Connection reset by peer)]
  12:28 < cjwatson> verbose perl debugging will probably slow the whole thing 
                    down to the point of making it hard to tell
  12:28 < cjwatson> maybe just print debugging at appropriate points?
  12:29 < lool> Ok
  12:33 < cjwatson> I don't have any other obvious bright ideas :-(
  12:36 < lool> cjwatson: time is spent on iterations of this loop foreach my 
                $key (sort {$a <=> $b} (keys %symbols_table)) {
  12:44 < cjwatson> lool: would be useful to know how many elements 
                    %symbols_table has, and the same recursively for its elements
  12:44 < cjwatson> the actual work done in the inner loop is trivial
  12:45 < cjwatson> if the hash lookups are taking ages then we could arrange to 
                    do that just once
  12:46 < lool> cjwatson: flatten() is the one taking most time
  12:47 < cjwatson> lool: flatten() isn't in the loop you mentioned ...
  12:48 < cjwatson> oh, you're talking about a different loop than I'm looking at
  12:48  * cjwatson starts again
  12:50 < cjwatson> lool: the Devel::DProf module might help here
  12:51 < cjwatson> 'perl -d:DProf /usr/bin/ckbcomp -model pc105 us >/dev/null' 
                    will produce tmon.out and dprofpp can analyse that
  ...
  12:48 < cjwatson> oh, you're talking about a different loop than I'm looking at
  12:48  * cjwatson starts again
  12:50 < cjwatson> lool: the Devel::DProf module might help here
  12:51 < cjwatson> 'perl -d:DProf /usr/bin/ckbcomp -model pc105 us >/dev/null' 
                    will produce tmon.out and dprofpp can analyse that
  12:52 < persia> pitti, When you get a chance, could you look at bug #309396?  
                  There's some interest in getting it into -proposed before the 
                  Alpha Freeze.

  Bye

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/console-setup/+bug/338729/+subscriptions