You are here: Foswiki>Tasks Web>Item15351 (16 Oct 2024, MichaelDaum)Edit Attach

Item15351: significant performance problem in Foswiki::UI::View

pencil
Priority: Normal
Current State: Waiting for Release
Released In: 2.1.9
Target Release: patch
Applies To: Engine
Component:
Branches: Release02x01 master
Reported By: MichaelDaum
Waiting For:
Last Change By: MichaelDaum
It is very important to remember that the view service needs to be as fast as possible. Therefore any expensive call - i.e. to Foswiki::Meta::getRevisionHistory() - needs to be considered carefully. Under certain circumstances this call can get very expensive, i.e. when using RCSStoreContrib and files have been synced/copied out of band on the filesystem. As a consequence getRevisionHistory() forks an rlog process on each click to count the number of revisions available in the revision control system. The reason for getRevisionHistory() foremost is to render the pseudo macros REVTITLE, REVARG and REVISIONS. These aren't real macros as they only are using during view (and during rdiff using view's local implementation).

Another reason for calling getRevisionHistory() is to compare the requested revision via the ?rev url parameter to the maximum number of available revisions. This check however is redundant as it also happens within the Foswiki::Store and/or Foswiki::Meta api itself. Therefore the call to getRevisionHistoy() can be spared generally and is only required for those PatternSkin-only pseudo macros if present in the skin templates.

-- MichaelDaum - 16 Oct 2024

 

ItemTemplate edit

Summary significant performance problem in Foswiki::UI::View
ReportedBy MichaelDaum
Codebase
SVN Range
AppliesTo Engine
Component
Priority Normal
CurrentState Waiting for Release
WaitingFor
Checkins distro:0dec0afea8a4 distro:7aeedead8360
TargetRelease patch
ReleasedIn 2.1.9
CheckinsOnBranches Release02x01 master
trunkCheckins
masterCheckins distro:7aeedead8360
ItemBranchCheckins
Release02x01Checkins distro:0dec0afea8a4
Release02x00Checkins
Release01x01Checkins
Topic revision: r1 - 16 Oct 2024, MichaelDaum
The copyright of the content on this website is held by the contributing authors, except where stated elsewhere. See Copyright Statement. Creative Commons License    Legal Imprint    Privacy Policy