Edgewall Software

Opened 16 years ago

Last modified 3 years ago

#5499 new defect

performance issues when viewing larger files

Reported by: theultramage@… Owned by:
Priority: normal Milestone: next-stable-1.4.x
Component: version control/browser Version: devel
Severity: normal Keywords: blame performance
Cc: kirean@…, Jun Omae Branch:
Release Notes:
API Changes:
Internal Changes:


There are numerous source code files in our project that are above the default limit (250kB).
When viewing these files, it takes a moment before they're generated and rendered by the browser. When using the 'annotate' option, this problem increases significantly. Here is a sample (server is a P733, using apache):

Original size: 200kB
Browser view: 800kB, generating time: 1 minute
Annotated view: 1500kB, generating time: 5 minutes

It gets far worse on files that are 400+kB (actually I don't even try that anymore).
Additionally, when viewing such an annotated page in Opera, the browser does 100% cpu load that doesn't stop until you close the page. Sometimes it also destabilizes the browser (needs restart).

Can anything be done in this regard?

Attachments (0)

Change History (12)

comment:1 by Christian Boos, 16 years ago

Keywords: blame added
Milestone: 0.11

There's certainly room for improvement:

  • the blame.js Javascript code could certainly be optimized or could even disable itself for large files
  • the generated HTML could be less verbose
    • there's the empty <span> problem (#4339)
    • the color code could eventually be done using class names instead of style attributes

Tentatively scheduling for 0.11.

comment:2 by kirean@…, 15 years ago

Cc: kirean@… added

I'm also having perfomance issues with annotate.

comment:3 by kirean@…, 15 years ago

The annotate view in 0.11 looks cool, but if performance is effected I'll be stuck with ViewVC anyway. I would prefer this to be done in the same (fast) way as in ViewVC instead..

comment:4 by Christian Boos, 15 years ago

Well, until the performance issue gets fixed, maybe we could try to disable the javascript code for anything but small files:

  • trac/versioncontrol/templates/browser.html

    2727                range_max_secs: '$dir.range_max_secs'
    2828            });
    2929        </py:if>
    30         <py:if test="file and file.annotate">
     30        <py:if test="file and file.annotate and file.size &lt; 50000">
    3131          enableBlame("${href.changeset()}/", "${path}");
    3232        </py:if>
    3333      });

I doubt this will be enough to fix the performance issue, but maybe it will make it more acceptable.

comment:5 by Christian Boos, 14 years ago

Milestone: 0.11-retriage0.12

See also #7055.

comment:6 by Remy Blank, 13 years ago

Milestone: 0.12next-minor-0.12.x

comment:7 by Jun Omae, 10 years ago

Cc: Jun Omae added

comment:8 by Ryan J Ollos, 8 years ago

Milestone: next-minor-0.12.xnext-stable-1.0.x

comment:9 by figaro, 8 years ago

Keywords: performance added

comment:10 by Ryan J Ollos, 8 years ago

Owner: Christian Boos removed

comment:11 by Ryan J Ollos, 6 years ago

Milestone: next-stable-1.0.xnext-stable-1.2.x

Moved ticket assigned to next-stable-1.0.x since maintenance of 1.0.x is coming to a close. Please move the ticket back if it's critical to fix on 1.0.x.

comment:12 by Ryan J Ollos, 3 years ago

Milestone: next-stable-1.2.xnext-stable-1.4.x

Modify Ticket

Change Properties
Set your email in Preferences
as new The ticket will remain with no owner.
The ticket will be disowned.
as The resolution will be set. Next status will be 'closed'.
The owner will be changed from (none) to anonymous. Next status will be 'assigned'.

Add Comment

E-mail address and name can be saved in the Preferences .
Note: See TracTickets for help on using tickets.