<div dir="ltr">OK, Anthony brought up yet another issue with my previous modified orddict, which is that if someone passes an improper list instead of an orddict, the new version acts differently than the old. Since the goal is backwards compatibility with improved performance, I've added a fourth commit that deals with these issues.<div>
<br></div><div>Notably, the original orddict, if passed an improper list or a list with elements that are not 2-tuples, will still work properly if the key being dealt with occurs before the problematic part of the list. For example, this works with the R16B02 orddict:</div>
<div><br></div><div>{ok,2} = orddict:find(1,[{1,2},{2,3,4}]).<br></div><div><br></div><div>I believe the latest commit addresses this and the previous comments, while still providing an orddict with improved performance:</div>
<div><br></div><div><a href="https://github.com/vinoski/otp/commit/a261aae36f617e39c5e53dc8a16fa186e4c5830c">https://github.com/vinoski/otp/commit/a261aae36f617e39c5e53dc8a16fa186e4c5830c</a><br></div><div><br></div><div>
Thanks again to Anthony and Richard for their excellent feedback.</div><div><br></div><div>--steve</div><div><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Oct 2, 2013 at 5:36 PM, Steve Vinoski <span dir="ltr"><<a href="mailto:vinoski@ieee.org" target="_blank">vinoski@ieee.org</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">I've added a third commit to this branch to address new concerns and suggestions from Anthony Ramine and Richard Carlsson. I appreciate your help, guys.<div>
<br></div><div>Please refetch.</div><span class="HOEnZb"><font color="#888888"><div><br></div>
<div>--steve</div></font></span><div><div class="h5"><div class="gmail_extra">
<br><br><div class="gmail_quote">On Wed, Oct 2, 2013 at 3:02 AM, Steve Vinoski <span dir="ltr"><<a href="mailto:vinoski@ieee.org" target="_blank">vinoski@ieee.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">I've added a new commit to this branch that addresses the concerns Anthony raised. Please refetch.<span><font color="#888888"><div><br></div><div>--steve</div></font></span></div><div>
<div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Sep 30, 2013 at 5:32 AM, Steve Vinoski <span dir="ltr"><<a href="mailto:vinoski@ieee.org" target="_blank">vinoski@ieee.org</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Great feedback, Anthony -- thanks very much. Clearly there are more backward compatibility issues I need to address.<span><font color="#888888"><div>
<br></div><div>--steve</div></font></span></div><div><div><div class="gmail_extra"><br><br><div class="gmail_quote">
On Mon, Sep 30, 2013 at 4:00 AM, Anthony Ramine <span dir="ltr"><<a href="mailto:n.oxyde@gmail.com" target="_blank">n.oxyde@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hello Steve,<br>
<br>
Great patch, I added a few comments about some edge cases.<br>
<br>
Regards,<br>
<br>
Le 30 sept. 2013 à 09:38, Steve Vinoski a écrit :<br>
<div><div><br>
> This patch improves the performance of some orddict functions by reimplementing them using the lists module:<br>
><br>
> <a href="https://github.com/erlang/otp/pull/91" target="_blank">https://github.com/erlang/otp/pull/91</a><br>
><br>
> The commit message at the link above is very detailed and includes performance measurements, so please read it to know more about the changes.<br>
><br>
> --steve<br>
</div></div>> _______________________________________________<br>
> erlang-patches mailing list<br>
> <a href="mailto:erlang-patches@erlang.org" target="_blank">erlang-patches@erlang.org</a><br>
> <a href="http://erlang.org/mailman/listinfo/erlang-patches" target="_blank">http://erlang.org/mailman/listinfo/erlang-patches</a><br>
<span><font color="#888888"><br>
--<br>
Anthony Ramine<br>
<br>
</font></span></blockquote></div><br></div>
</div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div></div></div></div>
</blockquote></div><br></div>