<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body><div>You're welcome.<br></div>
<div>&nbsp;</div>
<div>No I'm looking for people able to test on windows. Anyone ?</div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div>On Mon, Nov 18, 2013, at 03:39 AM, Pedro Melo wrote:<br></div>
<blockquote type="cite"><div dir="ltr">Hi,<div><div>&nbsp;</div>
<div><div>On Mon, Nov 18, 2013 at 1:11 AM, Damien Krotkine <span dir="ltr">&lt;<a href="mailto:damien@krotkine.com" target="_blank">damien@krotkine.com</a>&gt;</span> wrote:<br></div>
<div>&nbsp;</div>
<blockquote style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>In the past weeks, you may have seen that I've released 1.962, 1.963 and<br></div>
<div>
1.964. These release had 3 goals:<br></div>
<div>&nbsp;</div>
<div>
- do a first release as new maintainer<br></div>
<div>
- perform some fixes due to maintainership change<br></div>
<div>
- try to get rid of easy-to-fix issues<br></div>
<div>&nbsp;</div>
<div>
These goals have been met, so I'm happy. Redis is now fork-safe, and has<br></div>
<div>
better documentation and some minor issues fixed.<br></div>
</blockquote><div>&nbsp;</div>
<div>I've updated my servers to use it, and so far so good!<br></div>
<div>&nbsp;</div>
<div>Thanks for you hard work on this…<br></div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<blockquote style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>Now, comes the next part of the Plan: tackle the serious issues about<br></div>
<div>
Redis.pm<br></div>
<div>&nbsp;</div>
<div>
- sysread vs read vs recv: Ivan and myself have started brainstorming<br></div>
<div>
and working on getting read of mixing sysread and read on windows, and<br></div>
<div>
doing more benchmark to see if read is really faster.<br></div>
</blockquote><div>&nbsp;</div>
<div>the decision to go with read was not about "reading" speed but "read until \r\n" speed. The PerlIO layer was *much* faster that whatever I could find at finding the \r\n that Redis protocol uses to limit the size frame, that's why I complicated the design…<br></div>
<div>&nbsp;</div>
<div>My gut feeling is this:<br></div>
<div>&nbsp;</div>
<div>&nbsp;1. make it right by default;<br></div>
<div>&nbsp;2. make it fast by user option.<br></div>
<div>&nbsp;</div>
<div>What this means is that a pure sysread based solution is much easier to get right and should be our best default on both UNIX and Windows.<br></div>
<div>&nbsp;</div>
<div>Then, we can have specialized modules that can give us more performance if they are present/installed: the read-based code as a PP solution, or XS-based Redis protocol parsers, or even integration with hiredis.<br></div>
<div>&nbsp;</div>
<div>The way I was thinking about this to do this is to extract all the network code (expect the connect stuff) into a small lib with one &nbsp; API (you can even use a CodeRef as your API, don't need a full object): read next command. It should accept a timeout (0 wait forever, &gt; 0 wait X seconds (fractional), &lt; 0 non-blocking read), and return undef or a structure representing the command.<br></div>
<div>&nbsp;</div>
<div>I *think* you only need that command, but error reporting will be crucial to keep the current re-connect logic in place.<br></div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<blockquote style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>

- pubsub failing at surviving a server restart (<br></div>
<div>
<a href="https://github.com/PerlRedis/perl-redis/issues/34" target="_blank">https://github.com/PerlRedis/perl-redis/issues/34</a> ): that issue should<br></div>
<div>
be fixed in master, I'll send an email about it tomorrow.<br></div>
</blockquote><div>&nbsp;</div>
<div>Saw your fix, looks good, but I only casually glanced at it.<br></div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<blockquote style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>

- pipelining: currently, this is the major issue, as pipelining doesn't<br></div>
<div>
do what it's supposed to do (see issues 45, 46 and 49). However we know<br></div>
<div>
how to fix it, so it should be done rather quickly.<br></div>
</blockquote><div>&nbsp;</div>
<div>When this was recently reported to me, I though it was about Naggle, but I didn't investigate the issue further at the time.<br></div>
<div>&nbsp;</div>
<div>Bye,<br></div>
</div>
<div>-- <br></div>
<div>Pedro Melo<br></div>
<div>@pedromelo<br></div>
<div><a href="http://www.simplicidade.org/" target="_blank">http://www.simplicidade.org/</a><br></div>
<div><a href="mailto:xmpp%3Amelo@simplicidade.org" target="_blank">xmpp:melo@simplicidade.org</a><br></div>
<div>

mailto:<a href="mailto:melo@simplicidade.org" target="_blank">melo@simplicidade.org</a>
<br></div>
</div>
</div>
</blockquote></body>
</html>