- Add upstream patch 0001-sftp-bump-pending-request-count-from-1-to-128.patch
* Increase sftp file reading speed up to 20 times OBS-URL: https://build.opensuse.org/package/show/KDE:Applications/kio-extras5?expand=0&rev=85
This commit is contained in:
parent
897a5ac0c8
commit
3faff776a8
60
0001-sftp-bump-pending-request-count-from-1-to-128.patch
Normal file
60
0001-sftp-bump-pending-request-count-from-1-to-128.patch
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
From 40d962d80b6f2e9d04428c5d1944834de1208fac Mon Sep 17 00:00:00 2001
|
||||||
|
From: Harald Sitter <sitter@kde.org>
|
||||||
|
Date: Wed, 12 Sep 2018 16:58:04 +0200
|
||||||
|
Subject: [PATCH] [sftp] bump pending request count from 1 to 128
|
||||||
|
|
||||||
|
Summary:
|
||||||
|
with the previous value we basically did sync reading which means that
|
||||||
|
network and cyrptographic overhead head a huge impact on throughput.
|
||||||
|
meanwhile the perfect way to use asyncness is to schedule a whole bunch of
|
||||||
|
requests before starting to read.
|
||||||
|
previously this was documented as auto-adjusting, which it never was,
|
||||||
|
there's also little to be gained from adjusting this value on the fly.
|
||||||
|
more requests in most scenarios will simply mean a larger RAM footprint as
|
||||||
|
more data potentially sits in libssh waiting to be read. with 128 requests
|
||||||
|
that'd be ~8mb (assuming the file transferred is that large)
|
||||||
|
|
||||||
|
this improves read performance with libssh 0.8 by up to 20 times for large
|
||||||
|
files. read performance with libssh 0.6 is 2 to 3 times better.
|
||||||
|
the faster the connection the higher the gain of course.
|
||||||
|
|
||||||
|
128 gives somewhat competitive performance results compared to openssh's
|
||||||
|
ssh implementations while not having too large a footprint.
|
||||||
|
|
||||||
|
in raw numbers: a local link read was averaging around 10mb/s on both
|
||||||
|
libssh versions. with 128 requests this goes up to 200. competitive is
|
||||||
|
between 200 and 300 it seems (obviously all specific to my system)
|
||||||
|
|
||||||
|
CHANGELOG: sftp file reading is now up to 20 times faster
|
||||||
|
|
||||||
|
Reviewers: broulik
|
||||||
|
|
||||||
|
Reviewed By: broulik
|
||||||
|
|
||||||
|
Differential Revision: https://phabricator.kde.org/D15452
|
||||||
|
---
|
||||||
|
sftp/kio_sftp.h | 7 ++++---
|
||||||
|
1 file changed, 4 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/sftp/kio_sftp.h b/sftp/kio_sftp.h
|
||||||
|
index cc6b9e09..e5639970 100644
|
||||||
|
--- a/sftp/kio_sftp.h
|
||||||
|
+++ b/sftp/kio_sftp.h
|
||||||
|
@@ -141,10 +141,11 @@ private: // Private variables
|
||||||
|
* @param file the sftp_file object which should be transferred.
|
||||||
|
* @param sb the attributes of that sftp_file object.
|
||||||
|
* @param maxPendingRequests the maximum number of parallel requests to start with.
|
||||||
|
- * The number will be adjusted automatically depending
|
||||||
|
- * on the connection speed.
|
||||||
|
+ * The more are pending the higher the potential memory
|
||||||
|
+ * foot print, however if the connection allows it
|
||||||
|
+ * we'll get better throughput.
|
||||||
|
*/
|
||||||
|
- GetRequest(sftp_file file, sftp_attributes sb, ushort maxPendingRequests = 1);
|
||||||
|
+ GetRequest(sftp_file file, sftp_attributes sb, ushort maxPendingRequests = 128);
|
||||||
|
/**
|
||||||
|
* Removes all pending requests and closes the SFTP channel and attributes
|
||||||
|
* in order to avoid memory leaks.
|
||||||
|
--
|
||||||
|
2.18.0
|
||||||
|
|
@ -1,3 +1,9 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Sep 19 05:43:04 UTC 2018 - Luca Beltrame <lbeltrame@kde.org>
|
||||||
|
|
||||||
|
- Add upstream patch 0001-sftp-bump-pending-request-count-from-1-to-128.patch
|
||||||
|
* Increase sftp file reading speed up to 20 times
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Fri Sep 7 08:12:12 UTC 2018 - lbeltrame@kde.org
|
Fri Sep 7 08:12:12 UTC 2018 - lbeltrame@kde.org
|
||||||
|
|
||||||
|
@ -31,6 +31,8 @@ Url: http://www.kde.org
|
|||||||
Source: kio-extras-%{version}.tar.xz
|
Source: kio-extras-%{version}.tar.xz
|
||||||
Source99: %{name}-rpmlintrc
|
Source99: %{name}-rpmlintrc
|
||||||
Patch0: fix-mtp-paste-with-KF5-5.25.diff
|
Patch0: fix-mtp-paste-with-KF5-5.25.diff
|
||||||
|
# PATCH-FEATURE-UPSTREAM
|
||||||
|
Patch1: 0001-sftp-bump-pending-request-count-from-1-to-128.patch
|
||||||
BuildRequires: OpenEXR-devel
|
BuildRequires: OpenEXR-devel
|
||||||
BuildRequires: flac-devel
|
BuildRequires: flac-devel
|
||||||
BuildRequires: gperf
|
BuildRequires: gperf
|
||||||
@ -101,7 +103,7 @@ This is the development package for libkioarchive
|
|||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q -n kio-extras-%{version}
|
%setup -q -n kio-extras-%{version}
|
||||||
%patch0 -p1
|
%autopatch -p1
|
||||||
sed -i '/^add_subdirectory( doc )/d' CMakeLists.txt
|
sed -i '/^add_subdirectory( doc )/d' CMakeLists.txt
|
||||||
|
|
||||||
%build
|
%build
|
||||||
|
Loading…
Reference in New Issue
Block a user