<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to feature-requests</title><link>https://sourceforge.net/p/librsync/feature-requests/</link><description>Recent changes to feature-requests</description><atom:link href="https://sourceforge.net/p/librsync/feature-requests/feed.rss" rel="self"/><language>en</language><lastBuildDate>Fri, 10 Oct 2014 14:14:51 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/librsync/feature-requests/feed.rss" rel="self" type="application/rss+xml"/><item><title>#1 RFE: Parallelize file reads during patching</title><link>https://sourceforge.net/p/librsync/feature-requests/1/?limit=25#0081</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;What is the underlying reason for this request? I assume it's for better performance. On my system I have an SSD, and for me the performance bottleneck is CPU. But I wouldn't be surprised if even for spinning disks the bottleneck is CPU.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">David Coppit</dc:creator><pubDate>Fri, 10 Oct 2014 14:14:51 -0000</pubDate><guid>https://sourceforge.netd0bfa61819d19a1bb10a72080ffd259aad3bb4a1</guid></item><item><title>RFE: Parallelize file reads during patching</title><link>https://sourceforge.net/p/librsync/feature-requests/1/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;During patching, librsync currently reads old blocks&lt;br /&gt;
sequentially, waiting for each to be retrieved before&lt;br /&gt;
retrieving the next one. In  highly mixed deltas (such&lt;br /&gt;
as those generated by the test script of bug 1022764, a&lt;br /&gt;
re-sorted database, a filesystem restored from tar,&lt;br /&gt;
etc.), many of these operations require a seek in the&lt;br /&gt;
underlying basis stream. When this stream is backed by&lt;br /&gt;
a file residing on hard disk, this can make patching&lt;br /&gt;
extremely slow.&lt;/p&gt;
&lt;p&gt;If librsync is changed to perform many reads in&lt;br /&gt;
parallel, it will give the storage system an&lt;br /&gt;
opportunity to order the physical disk accesses more&lt;br /&gt;
efficiently through the usual mechanisms: kernel&lt;br /&gt;
elevator algorithm, parallel access to disks on a RAID&lt;br /&gt;
device, TCQ on SCSI or SATA drives, etc.&lt;/p&gt;
&lt;p&gt;On the librsync side, this will require replacing the&lt;br /&gt;
rs_copy_cb callback interface by a more complicated&lt;br /&gt;
interface, that supports submission of multiple read&lt;br /&gt;
requests and querying which was completed. The&lt;br /&gt;
application will then do whatever it takes to implement&lt;br /&gt;
that; in rdiff's case, it probably means threads or forks.&lt;/p&gt;
&lt;p&gt;Some of this functionality can be separated into a&lt;br /&gt;
separate library, which may be of independent interest.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">tromer</dc:creator><pubDate>Thu, 09 Sep 2004 09:15:52 -0000</pubDate><guid>https://sourceforge.net9045d0769151490b3637dd1f97d9383229ab4b2d</guid></item></channel></rss>