We are in the process of changing the ZAP Passive Scanner to support threading.
Currently there is only one passive scan thread and with big sites, or when using some add-ons like Wappalyzer, the passive scan thread queue can grow quite large and take a non trivial time to clear.
The changes will allow you to configure the number of passive scan threads.
Using a suitable number of threads does seem to significantly speed up the time taken to clear the passive scan queue and therefore reduce the overall scan time.
One of the side effects of this change is that all of the tasks run by the Passive Scanner will now need to be thread safe.
We have found that while most of the existing ZAP passive scan tasks have not needed to be changed there are some which did/do need changing, eg:
If you have written any code that is invoked by the Passive Scanner then you will need to change your code to be thread safe.
If you have any questions or concerns then please ask here..
Cheers,
Simon