Jon contact me today as I totally forgot to post the code by accident. Unfortunately further inspection showed a majority of the improvements were actually made to the Special Offers code concerning at that area (sorry for the misleading post :\). In any case here is the code changes I made:
modules/Special_Offers/calculate_prepare.php:
Find:
PHP Code:
$avail_offers = func_get_applicable_offers($products, $customer_info, $provider_for);
Replace with:
PHP Code:
foreach ($products as $product) {
$_product_list[] = $product['productid'];
}
$_avail_offers = func_get_offers_productid($_product_list);
if (is_array($_avail_offers)) {
foreach ($_avail_offers as $_offer) {
$avail_offers[] = func_get_offer($_offer[0], true, false);
}
}
else {
$avail_offers = array();
}
This drastically improves a good portion of Special Offers response time (especially on the cart)