On 16 Sep 2012, at 21:59, Camillo Bruni <camillobruni@gmail.com> wrote:
I assume that the overhead only occurs for small files...
ZnClient new signalProgress: true; systemPolicy; beOneShot; url: 'http://smalltalkhub.com/mc/estebanlm/Voyage/main?format=raw'; get.
with progress 2.5secs without, 57ms.. :/ well might be that the server responds with an incomplete header or so...
another remark with signalProgress the time to run highly varies, 250ms - 2500ms. whereas without progress notification it stays <140ms
the culprit IMO is ZnClient>>#executeWithRetriesRemaining: which does a on: Exception do:[ ... retry ]. so that means on an HTTPProgress you initiate a retry? (and wait for retryDelay), AUCH! :D
Yeah, that is probably it, and that is horrible, terrible. .. ;-) In #executeWithTimeout a special #exceptionSetForIfFail is used to avoid that, if I remember correctly. Tomorrow, I'll have another look, with a fresh head. Thx again! -- Sven Van Caekenberghe http://stfx.eu Smalltalk is the Red Pill