Ticket #805 (closed: fixed)
Speed up the loading of nexus files and reduce memory usage
Reported by: | Russell Taylor | Owned by: | Martyn Gigg |
---|---|---|---|
Priority: | critical | Milestone: | Iteration 20 |
Component: | Keywords: | ||
Cc: | Blocked By: | ||
Blocking: | Tester: |
Description
It's really slow at the moment. One example showed ~50 seconds as against ~3 seconds for the corresponding raw file.
Change History
comment:3 Changed 11 years ago by Russell Taylor
- Summary changed from Speed up the loading of nexus files to Speed up the loading of nexus files and reduce memory usage
comment:4 Changed 11 years ago by Russell Taylor
Just also noticed the number of I/O Reads in the Windows Task Manager:
- LoadRaw v3 - ~3,600
- LoadNexus v1&2 - ~76,000
comment:5 Changed 11 years ago by Nick Draper
- Milestone changed from Iteration 19 to Iteration 20
Moved to iteration 20 to make room for stability work
comment:10 Changed 11 years ago by Martyn Gigg
comment:11 Changed 11 years ago by Martyn Gigg
comment:12 Changed 11 years ago by Martyn Gigg
comment:13 Changed 11 years ago by Martyn Gigg
comment:14 Changed 11 years ago by Martyn Gigg
comment:15 Changed 11 years ago by Martyn Gigg
comment:16 Changed 11 years ago by Martyn Gigg
comment:18 Changed 11 years ago by Martyn Gigg
- Status changed from accepted to testing
- Resolution set to fixed
comment:19 Changed 11 years ago by Russell Taylor
- Status changed from testing to closed
Looks good. Time to load on my machine now down to ~3s. Still a slightly larger memory footprint after a load and 'Clear all memory' that after a LoadRaw and clear (~10MB). It should be noted that LoadRaw isn't 'free' in this regard either.
comment:20 Changed 5 years ago by Stuart Campbell
This ticket has been transferred to github issue 1653
Note: See
TracTickets for help on using
tickets.
It turns out that LoadISISNexus v2 is 6 times slower than LoadISISNexus v1!
Here are the benchmarks for SANS2D run 808 on Windows, running off a local disk:
Even LoadISISNexus version 1 is too slow, but the first step should be to see what caused the big slowdown between versions. Note also the big difference in memory footprint after running LoadNexus as opposed to LoadRaw. We need to find out what that is. (The difference between v1 & v2 is because v2 isn't sharing X vectors at present - I'll fix that shortly.)