Oh John, I just noticed this line in .ajax() // don't attach the handler to the request, just poll it instead var ival = setInterval(onreadystatechange, 13);
Can you explain the design theory behind requiring your own timer and poll? You guys must have you reasons on that, but here are my thoughts: This frequency you have there is basically the default quantum of Intel based CPUs. It is far too low creating high context switching. This should be increased as well as provide developers a way an option to set it. But that is still a problem with that. I added this logic to my own ajax code to see the reasons. I find this is skipping the natural states in the XMLHttpRequest() protocol. For example, the 13 ms quantum you have is only showing states 1 (load) and 4 (complete). Maybe you guys have believe the states are meaningless, but this changes the design of the backend protocol. I wondering why? What if a developer is interested in that information? What if it is altered with a new "meaningful" state? In leiu of finding out why that logic is done this way, I still say that frequency is way to low. You might as make it 1 ms! since that will give you the full quantum for the machine CPU type. Typically this will not need more than maybe 50 to 100ms per state for HTTP request. You improve the efficiency of the machine by having it higher, without slowing down AJAX perfornance But to the illustrate the problem, if you change the value to something higher, you can miss other states, like changing that to 50ms and state one is missed. In threaded, sychronization design, it is typically best to let the protocol itself drive you, not you drive it with "artificial, best guess" timing which in inevitable, in some form or fashion, creates timing headaches. Where you concern with redundant callbacks? --- HLS On Aug 24, 12:48 pm, "John Resig" <[EMAIL PROTECTED]> wrote: > No, this is final - the blog post contains the full release > notes:http://jquery.com/blog/2007/08/24/jquery-114-faster-more-tests-ready-... > > Do you have any specific Ajax improvements? > > --John > > On 8/24/07, Pops <[EMAIL PROTECTED]> wrote: > > > > > Great job John! > > > I think you hit it on the nose on what was the primary focus - > > optimization! > > > Questions: > > > Is this consided a beta, gamma or production release? I ask because I > > don't see it announce at jquery.com at the moment of this posting. > > > If there is still an window for improvements, I have a number of > > suggestions for the ajax system. Best on my current knowledge of > > jQuery, one suggestion ideally calls for a small unobstrusive change > > to the extensive $.ajax function itself. I was currently working on > > this when I was going to post a message about it, and I saw your > > announcement. While an override plugin would do, the .ajax() method > > is the bulk of that logic and it doesn't seem feasible to replace that > > function for one small 1-2 line change. The other suggestions are > > small enough to be plugins but it requires the change to the .ajax() > > method. > > > Thanks! > > > -- > > HLS > > > On Aug 24, 4:46 am, "John Resig" <[EMAIL PROTECTED]> wrote: > > > Hi Everyone - > > > > jQuery 1.1.4 has just been released! The full details of this release > > > can be found on the jQuery > > > blog:http://jquery.com/blog/2007/08/24/jquery-114-faster-more-tests-ready-... > > > > Suffice it to say that some significant speed increases, test coverage > > > increases, and API reductions have been made. Please let us know if > > > you encounter any new problems from jQuery 1.1.3.1. > > > > --John