I compiled lyx with -pg in order to do some profiling

what I do is the following
1. start lyx
2. insert 5x5 table
3a. click left mouse button and keep it pressed for ca 5 secs
3b. do the same for ca 25 secs

I only keep the mouse button pressed. I don't move the mouse. I don't touch 
the keyboard.

What I think happens is that while I keep the mouse button pressed the 
tabular is being constantly redrawn. One can in fact see the cursor 
flickering.

For some profiling results see below.

What do the people who are in the know say?

Thanks, Ed.

First some results for 3a then for 3b: 

gprof ./src/lyx gmon.out | grep LyXTab

Flat profile:

Each sample counts as 0.01 seconds.

  %   cumulative   self              self     total           
 time   seconds   seconds    calls  us/call  us/call  name    
  0.00      0.11     0.00   691777     0.00     0.00  
LyXTabular::column_of_cell(int) const
  0.00      0.11     0.00   554501     0.00     0.00  
LyXTabular::row_of_cell(int) const
  0.00      0.11     0.00   204580     0.00     0.00  
LyXTabular::right_column_of_cell(int) const
  0.00      0.11     0.00   122419     0.00     0.00  
LyXTabular::IsMultiColumn(int, bool) const
  0.00      0.11     0.00   122269     0.00     0.00  
LyXTabular::cellinfo_of_cell(int) const
  0.00      0.11     0.00    82293     0.00     0.00  
LyXTabular::RightLine(int, bool) const
  0.00      0.11     0.00    51593     0.00     0.00  
LyXTabular::GetCellInset(int) const
  0.00      0.11     0.00    50025     0.00     0.00  
LyXTabular::IsPartOfMultiColumn(int, int) const
  0.00      0.11     0.00    49976     0.00     0.00  
LyXTabular::GetWidthOfCell(int) const
  0.00      0.11     0.00    46690     0.00     0.00  
LyXTabular::GetDescentOfRow(int) const
  0.00      0.11     0.00    45496     0.00     0.00  
LyXTabular::GetAscentOfRow(int) const
  0.00      0.11     0.00    40075     0.00     0.00  
LyXTabular::GetPWidth(int) const
  0.00      0.11     0.00    40000     0.00     0.00  
LyXTabular::SetWidthOfCell(int, int)
  0.00      0.11     0.00    33510     0.00     0.00  
LyXTabular::GetWidthOfColumn(int) const
  0.00      0.11     0.00    28328     0.00     0.00  
LyXTabular::GetAdditionalWidth(int) const


Then some results from 3b: idem

  %   cumulative   self              self     total           
 time   seconds   seconds    calls  us/call  us/call  name    
  8.33      0.03     0.01   753391     0.01     0.01  
LyXTabular::IsMultiColumn(int, bool) const
  0.00      0.12     0.00  4261099     0.00     0.00  
LyXTabular::column_of_cell(int) const
  0.00      0.12     0.00  3416557     0.00     0.00  
LyXTabular::row_of_cell(int) const
  0.00      0.12     0.00  1260324     0.00     0.00  
LyXTabular::right_column_of_cell(int) const
  0.00      0.12     0.00   753241     0.00     0.00  
LyXTabular::cellinfo_of_cell(int) const
  0.00      0.12     0.00   507065     0.00     0.01  
LyXTabular::RightLine(int, bool) const
  0.00      0.12     0.00   317591     0.00     0.00  
LyXTabular::GetCellInset(int) const
  0.00      0.12     0.00   307775     0.00     0.00  
LyXTabular::IsPartOfMultiColumn(int, int) const
  0.00      0.12     0.00   307726     0.00     0.00  
LyXTabular::GetWidthOfCell(int) const
  0.00      0.12     0.00   287944     0.00     0.00  
LyXTabular::GetDescentOfRow(int) const
  0.00      0.12     0.00   280564     0.00     0.00  
LyXTabular::GetAscentOfRow(int) const
  0.00      0.12     0.00   246275     0.00     0.01  
LyXTabular::GetPWidth(int) const
  0.00      0.12     0.00   246200     0.00     0.01  
LyXTabular::SetWidthOfCell(int, int)
  0.00      0.12     0.00   206718     0.00     0.00  
LyXTabular::GetWidthOfColumn(int) const
  0.00      0.12     0.00   174730     0.00     0.01  
LyXTabular::GetAdditionalWidth(int) const
  0.00      0.12     0.00    73840     0.00     0.00  
LyXTabular::GetAdditionalHeight(int) const
  0.00      0.12     0.00    61526     0.00     0.01  
LyXTabular::GetAlignment(int, bool) const
  0.00      0.12     0.00    61526     0.00     0.01  
LyXTabular::GetBeginningOfTextInCell(int) const
  0.00      0.12     0.00    61525     0.00     0.01  
LyXTabular::BottomLine(int, bool) const
  0.00      0.12     0.00    61525     0.00     0.01  
LyXTabular::LeftAlreadyDrawed(int) const
  0.00      0.12     0.00    61525     0.00     0.01  
LyXTabular::LeftLine(int, bool) const
  0.00      0.12     0.00    61525     0.00     0.00  
LyXTabular::TopAlreadyDrawed(int) const
  0.00      0.12     0.00    61525     0.00     0.01  
LyXTabular::TopLine(int, bool) const

Reply via email to