ConnorGray / Organizer

Notebook interface application for organizing notes and to-dos
5 stars 3 forks source link

polish: Optimize report generation #59

Closed ConnorGray closed 1 year ago

ConnorGray commented 1 year ago

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.