I know GetDiscountPrices can be called with a single item and it evaluates that by creating a virutal cart with only that item in it and then runs the promo engine against that cart, but how does it work when I pass multiple items?
Let's say I pass the method 25 items, does it create 25 carts and run the engine 25 times, thus taking the same amount of time it would take to just call GetDiscountPrices 25 times with each item?
I ask all this becuase we are trying to speed up our search pages where we show up to 25 items at a time and their prices with discounts.
Yes, however the cart is created in memory then it would be very fast. GetDiscountedPrices is meant to be used in your scenario.
When we dont run the engine its about 3 to 4 seconds faster (1 second to load compared to 4 or 5 seconds to load).
Would you suggest then that we look at all our discount logic instead to try to speed things up? (We have a lot of discounts, 100+ active campaigns.)
Are there any epi tools to see what discounts might be taking too long to evaluate?
There is no epi-specific tools, but you can use just any good .NET profiler (I personally like dotTrace) to find out with is taking time.
Okay, thanks Quan.