7 Steps to a Faster Time Matters - Step 1
Identifying and eliminating wasted data space can significantly improve the run-time performance of Time Matters.
I had the recent opportunity to assist a business partner (and CIC) Miike Holcomb with the resolution of a performance issue his client was having after upgrading to Time Matters 9. Opening a form was taking an astounding 30 seconds! And no, the previous version was not this slow. All forms exhibited the behavior regardless of whether the user was adding, changing or deleting a record.
Mike relied on his background as the former Manager of Time Matters Quality Control to begin stepping through troubleshooting techniques to identify the undesired behavior. He ultimately narrowed it down to the "template" table. Mike and I ultimately identified the AutoText codes in the template table were carriing an overhead of 32k per code. Yes, not the 20 or 30 bytes they should consume.
Apparently, the TM form subsystem loads the AutoText codes every time a form opens. In this case, 80x32k = 2,560k of "mostly empty data" mushing through the system. Granted, it's empty string space and is faster than complex data. The result is however 15 seconds to open an empty form. We cleaned up the AutoText data and the user was back to sub-second form loading.
Historically, AutoText codes were only supported in Billing forms. They were subsequently migrated as a new feature, functional on all forms in Time Matters. Subsequently, the data import process is not truncating these codes (removing trailing spaces) when they are imported into the newer version. This is not an issue for AutoText codes added subsequent to the import.
We are adding a test for excessive wasted data space in an upcomiong update to SharpShooter.


