I think Ian&#39;s decision to add no language to the spec is the correct one. To be clear, we were never asking for Ian to put a limit in the spec - rather, given the de facto existence of limits on some platforms, we wanted to discuss how those platforms should behave to ensure that they were still compliant with the specification.<div>
<br></div><div>Per previous discussions, some implementations have little or no overhead per worker (e.g. Firefox which uses a static thread pool to service worker tasks). On those platforms, it makes no sense to allow the user to specify a maximum number of workers, so having language in the spec saying that UAs &quot;SHOULD&quot; do so is inappropriate.</div>
<div><br></div><div>This type of UA-specific setting is something best left outside the spec entirely.</div><div><br></div><div>-atw<br><div><br><div class="gmail_quote">On Wed, Jul 8, 2009 at 3:41 AM, Eduard Pascual <span dir="ltr">&lt;<a href="mailto:herenvardo@gmail.com">herenvardo@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div class="im">On Wed, Jul 8, 2009 at 1:59 AM, Ian Hickson&lt;<a href="mailto:ian@hixie.ch">ian@hixie.ch</a>&gt; wrote:<br>

&gt;<br>
&gt; I include below, for the record, a set of e-mails on the topic of settings<br>
&gt; limits on Workers to avoid DOS attacks.<br>
&gt;<br>
&gt; As with other such topics, the HTML5 spec allows more or less any<br>
&gt; arbitrary behaviour in the face of hardware limitations. There are a<br>
&gt; variety of different implementations strategies, and these will vary<br>
&gt; based on the target hardware. How to handle a million new workers will be<br>
&gt; different on a system with a million cores and little memory than a system<br>
&gt; with one core but terabytes of memory, or a system with 100 slow cores vs<br>
&gt; a system with 10 fast cores.<br>
&gt;<br>
&gt; I have therefore not added any text to the spec on the matter. Please let<br>
&gt; me know if you think there should really be something in the spec on this.<br>
&gt;<br>
<br>
</div>Shouldn&#39;t a per-user setting be the sanest approach for the worker<br>
limit? For example, it would quite make sense for me to want a low<br>
limit (let&#39;s say 10 or so) workers on my laptop&#39;s browser; but have no<br>
restriction (or a much higher one, like some thousand workers) on my<br>
workstation.<br>
Ian&#39;s point is key here: what&#39;s an appropriate limit for workers<br>
depends almost entirely on hardware resources (and probably also on<br>
implementation efficiency and other secondary aspects), and there is a<br>
*huge* variety of hardware configurations that act as web clients, so<br>
it&#39;s just impossible to hardcode a limit in the spec that works<br>
properly for more than a minority. At most, I would suggest a note<br>
like this in the spec &quot;User agents SHOULD provide the user a way to<br>
limit the ammount of workers running at a time.&quot;: emphasis on the<br>
&quot;SHOULD&quot; rather than a &quot;MUST&quot;, and also on the fact that the final<br>
choice is for users to make. Then it&#39;d be up to each implementor to<br>
decide on default, out-of-the-box limits for their browser (it would<br>
make sense, for example, if Chromium had a lower default limit than<br>
FF, since C&#39;s workers are more &quot;expensive&quot;).<br>
<br>
Just my two cents.<br>
<br>
Regards,<br>
<font color="#888888">Eduard Pascual<br>
</font></blockquote></div><br></div></div>