I was noticing extremely long run times when using the run-notebook command.
I added some %%time magic commands and found that the Samples per Bit sections were the culprit.
I added some profiling to the samples_per_bit() function and found that the select.select() function is, by orders of magnitude, the long pole in the tent.
The docs say that, on Windows, the select.select() function can only refer to sockets.
And the samples_per_bit() function refers to many external global variables in the notebook.
I suspect (haven't confirmed) that these external references are the cause of the slow down.
So, let's move the samples_per_bit() function out of the notebook and into the PyIBIS-AMI library, while converting it to a complete function that makes no reference to external globals.
I was noticing extremely long run times when using the
run-notebookcommand.I added some
%%timemagic commands and found that the Samples per Bit sections were the culprit.I added some profiling to the
samples_per_bit()function and found that theselect.select()function is, by orders of magnitude, the long pole in the tent.The docs say that, on Windows, the
select.select()function can only refer to sockets.And the
samples_per_bit()function refers to many external global variables in the notebook.I suspect (haven't confirmed) that these external references are the cause of the slow down.
So, let's move the
samples_per_bit()function out of the notebook and into the PyIBIS-AMI library, while converting it to a complete function that makes no reference to external globals.