<div><font face="georgia, serif"><span class="Apple-style-span" style="border-collapse: collapse;">An O(1) solution (e.g., a hash table) is a perfectly valid optimization of an O(N) solution.  But you are confusing an O(N) solution with an O(N) problem.  If the O(N) solution <i>in actual bona fide reality </i>becomes a problem for someone's use-case, I'm sure that an O(1) solution can be implemented as necessary.  If <i>enough </i>someones need this O(1) solution, then it will begin to show up on this project's official radar as a potential built-in VCL feature or vmod.</span></font></div>

<div><font face="georgia, serif"><span class="Apple-style-span" style="border-collapse: collapse;"><br></span></font></div><div><font face="georgia, serif"><span class="Apple-style-span" style="border-collapse: collapse;">It's that simple.</span></font></div>

<div><font face="georgia, serif"><span class="Apple-style-span" style="border-collapse: collapse;"><br></span></font></div><div><font face="georgia, serif"><span class="Apple-style-span" style="border-collapse: collapse;">If anyone else here wants to continue pettifogging with you, please let them elect to email you directly, rather than sharing this debate with those of us who don't.  It will substantiate the character and experience that you profess to have.</span></font></div>

<div><font face="georgia, serif"><span class="Apple-style-span" style="border-collapse: collapse;"><br></span></font></div><div><font class="Apple-style-span" face="georgia, serif"><font><span class="Apple-style-span" style="border-collapse: collapse;">Cheers,<br clear="all">

</span></font>-- </font><div><font face="georgia, serif">kb</font></div><br>
<br><br><div class="gmail_quote">On Tue, Mar 8, 2011 at 11:50, David Helkowski <span dir="ltr"><<a href="mailto:dhelkowski@sbgnet.com">dhelkowski@sbgnet.com</a>></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 3/8/2011 9:53 AM, Poul-Henning Kamp wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
In message<<a href="mailto:AANLkTimwEiC5-%2BaXmjHazpCqYc0HUxHgDwaW4%2BL_65PC@mail.gmail.com" target="_blank">AANLkTimwEiC5-+aXmjHazpCqYc0HUxHgDwaW4+L_65PC@mail.gmail.com</a>>, Jona<br>
than DeMello writes:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Poul simply comes across as a nervous child, throwing every superiority<br>
imposing cliche out there because he thought a team member was<br>
I received a couple of complaints about flames (on and off list)<br>
originating from David, and after reading his contribution, decided<br>
that he was not worth the bother, and decided to call his bullshit<br>
and get it over with.<br>
I will admit to writing one email angrily responding to Per Buer.<br>
My anger was due primarily to the statement "if you got to deploy a whole bunch of scary inline C that will seriously intimidate the summer intern and makes all the other fear the config it's just not worth it."<br>

The contents of that private email essentially boiled to me saying, in many more words:<br>
"not everyone is as stupid as you".<br>
Now, I agree that was distasteful, but it isn't much different than you stating you are<br>
'calling my bullshit'.<br>
I am not quite sure why you, and others, have decided that this is a pissing match.<br>
Also; if it helps anything; I apologize for my ranting email to Per Buer. It was certainly<br>
over the line. I am sorry for going off on that. I have my reasons but I would still like<br>
to have a meaningful discussion.<br>
Per Buer, the very person I ticked off, admitted that a hash lookup is certainly faster.<br>
Other people are expressing interested in having a hash system in place with VCL.<br>
I myself am even willing to write the system.<br>
Sure I may be obnoxious at times in my presentation of what I want done, but I hardly<br>
thing it calls for your response or arrogant counter-attitude.<div class="im"><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
"Jump Tables" was a very neat concept, about 25-30 years ago, when<br>
people tried to squeeze every bit of performance out of a 4.77MHz<br>
i8088 chip in a IBM PC.<br>
Jump tables, and gotos, are still perfectly usable on modern system. Good techniques,<br>
in their proper place, don't expire. Hash tables for instance certainly have not been<br>
replaced by cascading 'if else' structures.<br>
Note that I am suggesting hash tables combined with jump tables. I don't see any<br>
legitimate objection to such an idea.<div class="im"><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
They are however just GOTO in disguise and they have all the<br>
disadvantages of GOTO, without, and this is important: without _any_<br>
benefits at all on a modern pipelined and deeply cache starved CPU.<br>
So we should continue using cascading 'if else'? That is _very_ efficient on modern<br>
CPU architecture? ...<div class="im"><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
That's why I pointed David at Dijkstra epistle and other literature<br>
for building moral character as a programmer.<br>
Yeah... speaking of that; I read the beginning of the article at the very least. It immediately starts<br>
talking about code elegance and the purity of solutions. If anything, it leans very<br>
heavily towards hash tables as opposed to long cascading 'if else'.<div class="im"><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
If David had come up with a valid point or a good suggestion, then<br>
I would possibly tolerate a minimum of behavioural problems from him.<br>
How is 'can we please use hash tables' not a valid point and suggestion?<div class="im"><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
But suggesting we abandon 50 years of progress towards structured<br>
programming, and use GOTOs to solve a nonexistant problem, for which<br>
there are perfectly good and sensible methods, should it materialize,<br>
just because he saw a neat trick in an old book and wanted to show<br>
of his skillz, earns him no right to flame people in this project.<br>
Perfectly good and sensible methods such as what? 500 cascading 'if else' for each<br>
call? Are you seriously suggesting that is a technique honed to perfection in the last<br>
50 years that is based on structured programming?<br>
I read about jump tables and hashing many many years ago. It is hardly a neat trick<br>
I recently dug out of an old book. Let me ask you this: have you heard of Bob Jenkins?<br>
Would you say his analysis of hash tables is outdated and meaningless?<br>
In regard to showing off skills; I could really care less what you or anyone else think<br>
of my coding skills. I responded to the initial question because I wanted to honestly<br>
point people towards a better solution to a recurring problem that has been mentioned<br>
in the list.<br>
Your last statement implies people can 'earn' the right to flame. ? Is that what you are<br>
doing? Using your 'earned' right to flame me?<div class="im"><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
And that's the end of that.<br>
Having the last word is something given to the victor. Arbitrarily declaring your statements<br>
to be the last word is pretty arrogant.<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
</blockquote><div><div></div><div class="h5">
varnish-misc mailing list<br>
<a href="mailto:varnish-misc@varnish-cache.org" target="_blank">varnish-misc@varnish-cache.org</a><br>
<a href="http://www.varnish-cache.org/lists/mailman/listinfo/varnish-misc" target="_blank">http://www.varnish-cache.org/lists/mailman/listinfo/varnish-misc</a><br>