Enhancing address correction performance within Postalsoft Desktop Mailer and Business Edition via caching
Loading to memory or “caching” is one of the best ways to improve the performance of address correction within Postalsoft DeskTop Mailer and Business Edition. This option is enabled by selecting the Load to memory checkbox within the Additional USPS Processing Options group of the Correction Settings dialog. What loading to memory does is copy in to system memory (RAM) the directory reference data for the selected Additional USPS processing options (DPV, LACSLink, and SuiteLink). A computer can access system memory a lot quicker than it can access a hard drive. Because address correction is so data intensive it needs to access the directory data often and when processing larger files the faster lookup speed during processing is more than enough to make up for the initial time spent loading the data in to memory. Of course performance improvements will vary depending upon the machine being used as well as the data that is being run through address correction.
The size of the data to cache varies per option and directory update however the DPV data is roughly 600 MB, the LACSLink data is roughly 450 MB, and the SuiteLink data is roughly 375 MB. If you are performing all additional processing options add it all up and you need almost 1.5 GB of free memory! An additional gotcha is that you will probably need even more than that free because of how the directories are placed in memory along with how system memory works. In order to obtain the fastest access speeds from memory the directory information is placed within system memory in large chunks (to avoid slower performance because of additional lookups). Running other programs at the same time as Postalsoft or having already run many other programs before Postalsoft which did not fully cleanup the memory they used may create many small segments of memory that are unusable for caching. If this segmentation gets bad enough then there ends up not being enough room available for the large chunks of directory data. This segmentation may also be why you can have jobs that will not allow caching but when you reboot the system and try again caching will work. That would mean that your machine is right on the edge of having enough memory available for caching. Before the reboot the system memory was segmented enough that the directories were unable to be placed and the reboot cleared the system memory. Adding more memory would help alleviate that problem as well as avoiding running many other programs before or at the same time as Postalsoft.
If you have Load to memory selected however processing still seems slow try selecting Stop assigning if out of memory if it hasn’t already been selected. If with that selected address correction errors out then you know that the software is attempting to cache the directory data however it was unable to find enough memory for everything so jobs are still running slower because not all of the directory data made it in to memory. That means to take full advantage of caching you would need to install additional system memory.
With caching, the size of the list being processed should also be considered. If you aren’t processing many records it could be that the additional time spent loading the data in to memory is more than the savings by placing the data in to system memory.
If you are unable to cache because of lack of system memory you can still try to speed up directory access by avoiding placing directories on a network which introduces network lag (or at least try to use as fast a network connection is possible). Placing the directories on a faster local hard drive can also help.