Igor not utilizing full CPU power
ali8
I noticed that, in Task Manager, Igor is only utilizing 13% of the CPU power, and the rest of the processes are utilizing another 2%, while the remaining 85% is idle.
Is there anything to do so that Igor Pro can utilize more of the CPU power?
September 27, 2015 at 11:10 pm - Permalink
andyfaff's response is correct. I wonder if you're loading this file from a network drive/file share. If so, try copying the file to a local disk first and then open from there.
September 28, 2015 at 08:42 am - Permalink
Are you using standard igor tools or some self written/third party code to load the files?
September 28, 2015 at 01:47 pm - Permalink
September 30, 2015 at 07:26 pm - Permalink
October 1, 2015 at 02:47 am - Permalink
https://drive.google.com/file/d/0B4zu6jBH3LFsT0xvamQzN0RsbUk/view?usp=s…
October 6, 2015 at 06:14 pm - Permalink
The following code
variable passedTime = stopmstimer(-2)
KillWaves/Z
LoadWave/T "E:VT004.itx"
printf "Elapsed time %g\r", (stopmstimer(-2) - passedTime)/1e6
End
outputs
Elapsed time 423.495
From reading the
LoadWave
docs it looks like loading igor text waves is not as highly tuned as loading delimited text data.Your data holds 10 million rows and igor seems increase the wave's sizes in small steps.
Do you create the igor text waves yourself? I'm just asking because using igor binary waves would be more accurate for floating point data, smaller and much faster.
EDIT: I'm reading the data from an Intel SSD.
October 7, 2015 at 12:36 pm - Permalink
October 7, 2015 at 04:31 pm - Permalink
Three options that would be much faster:
1. General binary
Use the GBLoadWave operation to load the data. Execute this for details:
2. HDF5
You need to activate the HDF5 XOP and use it to load the data. Execute this for details:
3. TDMS
You need to activate the TDM XOP (Windows only) to load the data. Execute this for details:
October 7, 2015 at 07:08 pm - Permalink
variable refTimer
KillWaves/Z/A
refTimer = stopmstimer(-2)
LoadWave/A/J/L={0, 3, 10e6, 0, 0} "E:VT004.itx"
printf "Elapsed time: %g\r", (stopmstimer(-2) - refTimer) / 1e6
End
takes below 9 seconds here.
October 9, 2015 at 01:24 am - Permalink