Opened 5 years ago

Last modified 5 years ago

#772 new optimization

optimize PVP for speed

Reported by: westram Owned by: devel
Priority: normal Milestone:
Component: ARB_NTREE Version: SVN
Keywords: posvar, pvp Cc:

Description (last modified by westram)

Calculation of POS_VAR_BY_PARSIMONY SAI could be optimized similar to parsimony-combine optimization done by [12975] (and preceeding changesets).

Profiling PVP calculation for LTP database showed the following hotspots (in % of overall time; NDEBUG build):

Together that is 88% of runtime.
94% of runtime spent for whole PVP calculation (AP_calc_pos_var_pars).

A factor 2-4x speed-up may be expected for vectorization
⇒ possible overall speed-up: 1.8x-3.2x

Optimizations to perform:

  • reuse passed down memory (i.e. only allocate memory for one recursion, use passed-in-mem for other recursion)
  • assert memory is passed down from caller (⇒ remove conditionals)
  • optimize code for vectorization

Change History (2)

comment:1 Changed 5 years ago by westram

  • Keywords posvar pvp added

comment:2 Changed 5 years ago by westram

  • Description modified (diff)
Note: See TracTickets for help on using tickets.