Generating the 'Queue' and 'Daily' reports is now much faster. Some very rough numbers collected from generating reports in my main work workspace:
Before
After
Queue
~10-20s
<1s
Daily
~18s
~5s
These speed gains were accomplished primarily by replacing NotebookObject-based calls like NotebookRead and NotebookWrite (for reading data from the source notebooks and writing it into the report notebook) with extracting data out of and constructing primitive Notebook[..] expressions directly, which doesn't require round-trip operations to the FrontEnd.
Generating the 'Queue' and 'Daily' reports is now much faster. Some very rough numbers collected from generating reports in my main work workspace:
These speed gains were accomplished primarily by replacing NotebookObject-based calls like NotebookRead and NotebookWrite (for reading data from the source notebooks and writing it into the report notebook) with extracting data out of and constructing primitive
Notebook[..]
expressions directly, which doesn't require round-trip operations to the FrontEnd.