Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Optimise LoadNexusProcessed for multiperiod data #560

Merged
merged 2 commits into from
Apr 10, 2015

Conversation

eXeC64
Copy link
Contributor

@eXeC64 eXeC64 commented Apr 10, 2015

This is for trac ticket #11505

This pull request improved the load time of INTER00027729.nxs from ~745 seconds down to ~84 seconds on my machine.

Tester: The most important thing to check here is that the changes do not corrupt the data in some way whilst loading it. I've done some comparisons myself that I'll detail below. If data loading has been damaged in some way by this, it's highly likely that a systemtest will be broken, so don't presume they're random failures.

The first comparison I did was by running two instances of Mantid side by side, one with and one without the changes. In each I loaded INTER00027729.nxs and manually compared random samples of the data. I found no differences.

The second comparison I did was run the code from the OFFSPECReflRedOneAuto system test in a unchanged Mantid, and save a single period of the result to disk. I then loaded the changed Mantid, and ran the same systemtest code. I then loaded the saved result and used CheckWorkspacesMatch to check they were identical, which they were.

  • Inspect/review changes
  • Ensure no tests have been broken

`openLocal` performs far better than open, and we're able to use it when
loading multidimensional data sets in LoadNexusesProcessed, so let's.
@eXeC64 eXeC64 added Reflectometry Issues and pull requests related to reflectometry Framework Issues and pull requests related to components in the Framework labels Apr 10, 2015
@eXeC64 eXeC64 added this to the Release 3.4 milestone Apr 10, 2015
@OwenArnold OwenArnold self-assigned this Apr 10, 2015
@OwenArnold
Copy link
Contributor

Could you please add some comments around the code relating to the fix. Although I understand what's been done here, it would be good if others had that opportunity too.

OwenArnold added a commit that referenced this pull request Apr 10, 2015
…c_performance

Optimise LoadNexusProcessed for multiperiod data
@OwenArnold OwenArnold merged commit 21854ca into master Apr 10, 2015
@OwenArnold OwenArnold deleted the 11505_improve_loadnexusproc_performance branch April 10, 2015 11:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Framework Issues and pull requests related to components in the Framework Reflectometry Issues and pull requests related to reflectometry
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants