Ticket #509 (closed: fixed)

Opened 12 years ago

Last modified 5 years ago

Find a way to speed up binary operation, Workspace iterator are not optimized

Reported by: Laurent Chapon Owned by: Russell Taylor
Priority: critical Milestone: Iteration 16
Component: Keywords:
Cc: Blocked By:
Blocking: Tester:

Description


Change History

comment:1 Changed 12 years ago by Laurent Chapon

(In [2219]) re#509 Checked a quick ExplicitMinus for substraction of two 2D Workspace. Very dirty, no validation, just to try to compare speed with Minus (using iterator on workspaces). On Linux, using HRPD data, this is faster by a factor 5 !!

comment:2 Changed 12 years ago by Russell Taylor

  • Owner changed from Laurent Chapon to Russell Taylor

comment:3 Changed 12 years ago by Russell Taylor

  • Status changed from new to assigned

comment:4 Changed 12 years ago by Russell Taylor

(In [2243]) Tighten up the checks on workspace dimension compatibility in binary operations. Re #509.

comment:5 Changed 12 years ago by Russell Taylor

(In [2249]) Major overhaul of binary operations should make them much faster. Also introduced a typedef for out workspace data storage (std::vector<double>): MantidVec. Re #509.

comment:6 Changed 12 years ago by Russell Taylor

(In [2257]) * The errorHelper will be helping no more.

  • Added progress reporting to binary operations
  • Some doxygen fixes

Example improvements in binary operation speed, based on 10k Merlin spectra (old values in brackets).

Windows Linux(s1)

Plus 0.9 (4.5) 1.4 (6.8) seconds Minus 1.0 (4.3) 1.4 (7.9) seconds Multiply 0.8 (4.0) 1.2 (6.6) seconds Divide 4.1 (7.9) 1.9 (6.6) seconds

Re #509.

comment:7 Changed 12 years ago by Russell Taylor

(In [2268]) The workspace factory now copies over the X data when creating a workspace that's the same size as its parent. Actually, it's been doing this since commit 2249, but it now also preserves or restores sharing of the X vectors. Have also added a method (setX) to MatrixWorkspace to set all X data in one shot. Re #509.

comment:8 Changed 12 years ago by Russell Taylor

(In [2269]) Fix test. Re #509.

comment:9 Changed 12 years ago by Russell Taylor

  • Status changed from assigned to closed
  • Resolution set to fixed

comment:10 Changed 5 years ago by Stuart Campbell

This ticket has been transferred to github issue 1357

Note: See TracTickets for help on using tickets.