You can tune geocoding performance by adjusting the number of CPUs used for geocoding, the number of candidates returned, and the number of suggestion candidates returned by your locator. The sections below will go into more detail on how to tune your locator to fit your performance needs.
Number of threads
To best utilize this setting, you will need to think about the machine you will be using for geocoding and determine the number of cores available on your machine that you can devote to a geocoding job. Geocoding can utilize all of the cores on your machine to complete a geocoding job more quickly. By default, this value is set to a smaller value that should be able to work on any machine, regardless of the number of cores available, but it can be configured to use more cores if you know you have them available. It can be set to Auto to detect the cores on your machine and optimize it for your machine, or you can choose to devote a specified number of cores to geocoding if you know you need to leave some other resources available for other applications.
If you plan to share your locator to ArcGIS Enterprise, it is recommended that you set Number of threads to 4.
Maximum number of candidates
If you find that geocoding is taking a long time and you are also getting high-quality matches, ensure that the Maximum candidates property is not set too high. Assuming you are getting good results, performance can be improved by generating fewer results and focusing on the top few.
Default number of suggest candidates
Use this setting to increase or decrease the number of suggestions that are shown by default in ArcGIS clients. You can overwrite the value for locators that are published to ArcGIS Enterprise if you pass a different value for the maxSuggestions ArcGIS REST API parameter, but you are limited to the value set for Maximum number of suggest candidates. The value set for the Default number of suggest candidates also affects the number of subaddress suggestions returned when entering a partial subaddress name if the Suggestions for partial subaddresses setting is enabled.
Maximum number of suggest candidates
You can limit the number of suggestions that can be requested by a client when publishing a locator to ArcGIS Enterprise by setting this property to a smaller or larger value. Users can use the maxSuggestions ArcGIS REST API parameter to request more or fewer suggestions from the server, but this setting will limit the number that a user can request. Setting the value to a smaller number can help improve the amount of system resources that are used by the server and also the improve the performance that the suggestions are returned. The value set for the Maximum number of suggest candidates also affects the number of subaddress suggestions returned when entering a partial subaddress name if the Suggestions for partial subaddresses setting is enabled.
Improve batch geocoding performance
Use the following best practices to get the best batch geocoding performance in a desktop environment:
- Stay up to date with the latest version of ArcGIS Pro.
- Use locators created with the Create Locator tool.
- In most cases, it is best to create a multirole locator over a composite locator. See Combine multiple data layers into a single locator for details about multirole locators.
- Set the Number of threads that the locator will use on the machine where the geocoding job
- Set Number of threads to Auto, which is one less than the number of cores on the machine.
- Store the locator and the table to be geocoded on an SSD drive or the fastest drive on the system.