<div dir="ltr">Dear Dirk,<br><div class="gmail_extra"><br>About hiredis, I am trying to improve the efficiency of rredis with Bryan, the maintainer of rredis now. Even though we might not need hiredis, the copyright issue will still bother me in the future.</div>

<div class="gmail_extra"><br></div><div class="gmail_extra">Note that your example is interesting, because it shows that the performance of rredis is irrelevant to object size:</div><div class="gmail_extra"><br></div><div class="gmail_extra">

<span class="" style="border-collapse:separate;color:rgb(0,0,0);font-family:'Ubuntu Mono';font-size:14px;line-height:16px;white-space:pre-wrap;border-spacing:0px;background-color:rgb(225,226,229)"><pre tabindex="0" class="" style="font-family:'Ubuntu Mono';outline:none;border:none;margin-top:0px;margin-bottom:0px;line-height:1.2;font-size:10.4pt!important;white-space:pre-wrap!important">

<span class="" style="white-space:pre;color:blue">> </span><span class="" style="color:blue">object.size(X)
</span>90032 bytes
<span class="" style="white-space:pre;color:blue">> </span><span class="" style="color:blue">object.size(1L)
</span>48 bytes
<span class="" style="white-space:pre;color:blue">> </span><span class="" style="color:blue">microbenchmark(unit="us",
</span><span class="" style="white-space:pre;color:blue">+ </span><span class="" style="color:blue">                                                     redisSet("a", X),
</span><span class="" style="white-space:pre;color:blue">+ </span><span class="" style="color:blue">                                                     redisSet("a", 1L)
</span><span class="" style="white-space:pre;color:blue">+ </span><span class="" style="color:blue">)
</span>Unit: microseconds
              expr      min        lq    median       uq      max neval
  redisSet("a", X) 1073.182  2840.758  3152.705 39996.36 83851.59   100
 redisSet("a", 1L)  939.156 39572.178 39916.634 40098.82 68149.80   100
<span class="" style="white-space:pre;color:blue">> </span><span class="" style="color:blue">
</span><span class="" style="white-space:pre;color:blue">> </span><span class="" style="color:blue">microbenchmark(unit="us",
</span><span class="" style="white-space:pre;color:blue">+ </span><span class="" style="color:blue">                                                     serialize(X, NULL),
</span><span class="" style="white-space:pre;color:blue">+ </span><span class="" style="color:blue">                                                     serialize(1L, NULL)
</span><span class="" style="white-space:pre;color:blue">+ </span><span class="" style="color:blue">                                                     )
</span>Unit: microseconds
                expr     min      lq   median       uq      max neval
  serialize(X, NULL) 173.906 183.578 190.7025 197.3725 8127.923   100
 serialize(1L, NULL)   7.474   9.464  10.3725  10.9660   84.020   100</pre></span></div><div class="gmail_extra"><br><div class="gmail_quote">

<div><br></div><div>Thanks for this test case. I will discuss it with Bryan.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

<div>
| I looked into many DESCRIPTION files of CRAN package which contains 3rd party C<br>
| library, but I still cannot understand whether I should merge the author of the<br>
| library into the AUTHOR field or I only need to put the reference of 3rd party<br>
| library in the COPYRIGHT field.<br>
<br>
</div>It is inconsistent, but possibly changing. There are old ones that don't have<br>
it, newer ones tend to.<br>
<div><br>
| - Sources are provided by the OS, the user should manually download the source<br>
<br>
</div>Or use his package manager of choice.  No COPYRIGHT or AUTHOR issue.<br>
<div><br>
| - Sources are embedded in the package but unchanged. The R package links to the<br>
| 3rd party library.<br>
<br>
</div>CRAN would say sources in the papckage, with COPYRIGHT and AUTHOR implications.<br>
<div><br>
| - Sources are modified.<br>
| - Reproduce the source file into a single file and put it in the `src`<br>
| directory.<br>
<br>
</div>Ditto.<br>
<div><br>
| I am not sure if here is a right place to discuss this issue. Please let me<br>
| know if it is inappropriate.<br>
<br>
</div>As Romain said, it is a generic packaging issue which you should discuss on r-devel.<br>
<span><font color="#888888"><br></font></span></blockquote><div><br></div><div>Thank you, Romain and Dirk.</div><div><br></div><div>Sorry that I wrongly asked the question here.</div></div></div></div>