What is the performance impact of not cflocking your code and just turning on automatic read locking instead?
There haven’t been any conclusive rigorous tests about automatic read locking versus programmatic locking. Some people here have done some informal tests which indicate no significant difference, but to the best of my knowledge, none of those tests have involved significant numbers of concurrent users.Also, to the best of my knowledge, no one outside of Allaire knows exactly how the automatic read locking works. It could be less than optimal, but it could be just right for all I know. You’d need to know the internals of the ColdFusion server engine to answer this question.However, in the situation you’re in, you don’t have much choice – automatic read locking is far better than the alternative, which is just to let the unlocked code run as-is.Whether this would be better or worse then single-threading sessions depends. Using single-threaded session obviates the need for any cflock tags around any session variables. On the other hand, it does this by allowing only one request for a give
There haven’t been any conclusive rigorous tests about automatic read locking versus programmatic locking. Some people here have done some informal tests which indicate no significant difference, but to the best of my knowledge, none of those tests have involved significant numbers of concurrent users. Also, to the best of my knowledge, no one outside of Allaire knows exactly how the automatic read locking works. It could be less than optimal, but it could be just right for all I know. You’d need to know the internals of the ColdFusion server engine to answer this question. However, in the situation you’re in, you don’t have much choice – automatic read locking is far better than the alternative, which is just to let the unlocked code run as-is. Whether this would be better or worse then single-threading sessions depends. Using single-threaded session obviates the need for any cflock tags around any session variables. On the other hand, it does this by allowing only one request for a g