Debug multi-threading...

These settings determine how fast parallelized procedures, such as analyses of sound, will be performed on your computer. You can use these settings for tuning e.g. a specific analysis procedure. These settings are "debug settings" that are not remembered across Praat sessions.

Settings

Use multi-threading
Only if you choose on, the computing load will be equally divided among a number of different processors on your computer. If it’s off, you will get single-threading.
Number of threads to use
determines the number of threads that you would like to use. Most modern computers have multiple processors. One some computers (e.g. AMD64/Intel64) each processor can process two threads; on some other computers (e.g. ARM64) each processor can process one thread.
Minimum number of frames per thread
as starting up a new thread costs time, it is rarely worthwhile to distribute small numbers of frames over lots of threads. To achieve an optimal speed gain, this number should be tuned via a script, for each type of analysis separately, and perhaps for different sets of analysis settings separately.
Maximum number of frames per thread
an extra parameter that can influence the behaviour of some (but not all) parallel procedures. You will normally keep this at the special value of 0, which signals that there is no maximum.
Extra analysis info
returns extra information for each analysed frame in the Info window.

Example

Suppose we have 10 threads available for an analysis that needs 500 frames to be processed. Let’s suppose that 50 frames per thread has been selected. This means that 10 threads will be used, with each thread analysing 50 frames. The first thread will analyse frames 1 to 50, the second thread will analyse frames 51 till 100, the third thread will analyse frames 101 till 150, etc. The tenth thread will analyse frames 451 till 500. All these threads will be executed, in parallel, almost at the same time, which guarantees a significant decrease in analysis time as compared to single threading. How much it will speed up depends on a number of factors: starting up a thread costs time, and allocating per-thread analysis buffers costs time; this is why it isn’t usually advantageous for e.g. 50 frames to be analysed by 16 threads (2 to 10 threads is more common, for 50 frames).


© David Weenink & Paul Boersma 20250715