We are in the process of putting together a large (20k products) store with ubercart and ran into some performance issues due to the hook_forms implementation.
The problem obviously is that a form is being registered for each product regardless of if that product is being displayed or not. This is a bit unnecessary, so our solution was to do the following :
- comment out the hook_forms implementation in uc_product
- write a little module that keeps tabs on which product nodes have been loaded and implements hook_forms to register forms for only those products,
We have attached the module below...