[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-core-devel
Subject:    Re: KMountPoint::probablySlow and cifs mount points
From:       henry miller <hank () millerfarm ! com>
Date:       2013-11-25 12:33:51
Message-ID: fcff8427-6801-4334-ac06-1affd22ce44c () email ! android ! com
[Download RAW message or body]

"Aurélien Gâteau" <agateau@kde.org> wrote:
> Le dimanche 24 novembre 2013 19:42:25 Mark Gaiser a écrit :
> > On Sun, Nov 24, 2013 at 5:05 PM, Albert Astals Cid <aacid@kde.org>
> wrote:
> > > In Okular we just got bug
> > > https://bugs.kde.org/show_bug.cgi?id=327846
> > > PDF Render time is unreasonably slow over cifs on high latency
> (WAN)
> > > network connections
> > > 
> > > Basically the issue is that poppler is quite read-intensive over
> files,
> > > reading them over and over, and since the file is "local but really
> > > remote" it takes ages to render for big files.
> > > 
> > > The only solution i can think of is doing a local copy and then
> working on
> > > that.
> > 
> > That would work with small files (< 10 MB) but will get you into
> > trouble for bigger files.
> > You can't - or shouldn't - do that in an automated manner. If the
> user
> > manually copies the file and then opens it in a pdf reader: fine.
> Just
> > don't auto copy the file. So you can probably give the user a popup
> I disagree with that: I believe the use should not have to worry about
> this 
> and trust the application to be smart and do whatever is most
> appropriate to 
> deliver the best result instead.

I agree, with the note that if there isn't 'significantly' more disk space \
locally than the file size the right thing is don't copy locally.  \
Hopefully not a problems for pdfs though

> > 
> > it is. It also depends on your internet connection and where you're
> > connecting to. Saying smb, nfs or cifs is slow - per se - is plain
> > wrong. All of those are "likely" fast if you mount them locally.
> 
> It really depends on the definition of "fast". I made measurements some
> time 
> ago for my home setup (so LAN only): NFS over a 100Mbit connection was
> almost 
> as fast as local access. Same NFS over a wifi connection capped at
> 3MBytes. 
> That is much slower and can be worth adjusting the code path to take
> into 
> account this difference.

If you have the right RAID setup on a NAS box connected with gigabit \
ethernet, the network drives can even be faster than the local ones. This \
is becoming common in offices which is one target of okular

> 
> > > Or anyone has a better suggestion to fix this issue?

I just had a complex, and perhaps crazy idea: check the times for the first \
few reads, if they come back as the remote file is 'slow', do a local copy. \
Okaular might be able to get away with reading all the data for the first \
page, rendering that, and then starting the local copy if reading took too \
long.

It seems to me that anything else is optimizing for one set of users at the \
expense of the other. On the otherhand, tablets on wifi (or less) is \
probably hurt more by the wrong optimzation than office users, and the code \
is much simpler.

-- 
Sent from my Android phone with K-9 Mail. Please excuse my brevity.


[Attachment #3 (text/html)]

<html><head></head><body><br><br><div class="gmail_quote">&quot;Aurélien \
Gâteau&quot; &lt;agateau@kde.org&gt; wrote:<blockquote class="gmail_quote" \
style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, \
204); padding-left: 1ex;"> <pre class="k9mail">Le dimanche 24 novembre 2013 \
19:42:25 Mark Gaiser a écrit :<br /><blockquote class="gmail_quote" \
style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #729fcf; \
padding-left: 1ex;">On Sun, Nov 24, 2013 at 5:05 PM, Albert Astals Cid \
&lt;aacid@kde.org&gt; wrote:<br /><blockquote class="gmail_quote" \
style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #ad7fa8; \
padding-left: 1ex;">In Okular we just got bug<br /><a \
href="https://bugs.kde.org/show_bug.cgi?id=327846">https://bugs.kde.org/show_bug.cgi?id=327846</a><br \
/>PDF Render time is unreasonably slow over cifs on high latency (WAN)<br \
/>network connections<br /><br />Basically the issue is that poppler is \
quite read-intensive over files,<br />reading them over and over, and since \
the file is "local but really<br />remote" it takes ages to render for big \
files.<br /><br />The only solution i can think of is doing a local copy \
and then working on<br />that.</blockquote><br />That would work with small \
f  iles
(&lt; 10 MB) but will get you into<br />trouble for bigger files.<br />You \
can't - or shouldn't - do that in an automated manner. If the user<br \
/>manually copies the file and then opens it in a pdf reader: fine. Just<br \
/>don't auto copy the file. So you can probably give the user a popup<br \
/>suggesting them to copy the file to his local drive?</blockquote><br />I \
disagree with that: I believe the use should not have to worry about this \
<br />and trust the application to be smart and do whatever is most \
appropriate to <br />deliver the best result instead.<br /><br \
/><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; \
border-left: 1px solid #729fcf; padding-left: 1ex;"><blockquote \
class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px \
solid #ad7fa8; padding-left: 1ex;">I saw KMountPoint::probablySlow that \
says<br /><br />/**<br /><br />* Checks if the filesystem that is probably \
slow (nfs mounts).<br />* @return true if the filesystem is probab  ly
slow<br />*/<br /><br />And then returns true if the the filesystem type of \
the mount is nfs,<br />autofs or subfs.<br /><br />Any objection to \
replacing<br /><br />/**<br /><br />* Checks if the filesystem that is \
probably slow (nfs mounts).<br />* @return true if the filesystem is \
probably slow<br />*/<br /><br />to<br /><br />/**<br /><br />* Checks if \
the filesystem that is probably slow (network mounts).<br />* @return true \
if the filesystem is probably slow<br />*/<br /><br />and adding cifs to \
the list of mounttypes that are "probablySlow"?</blockquote><br />It's not \
my place to object since the code isn't mine. Yet i do<br />disagree. \
Everything becomes slow if you mount it over a WAN. Whatever<br />it is. It \
also depends on your internet connection and where you're<br />connecting \
to. Saying smb, nfs or cifs is slow - per se - is plain<br />wrong. All of \
those are "likely" fast if you mount them locally.</blockquote><br />It \
                really depends on the definition of "fast"
 . I
made measurements some time <br />ago for my home setup (so LAN only): NFS \
over a 100Mbit connection was almost <br />as fast as local access. Same \
NFS over a wifi connection capped at 3MBytes. <br />That is much slower and \
can be worth adjusting the code path to take into <br />account this \
difference.<br /><br /><blockquote class="gmail_quote" style="margin: 0pt \
0pt 1ex 0.8ex; border-left: 1px solid #729fcf; padding-left: \
1ex;"><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; \
border-left: 1px solid #ad7fa8; padding-left: 1ex;">Or anyone has a better \
suggestion to fix this issue?</blockquote><br />What should be done is \
detecting is the target is mounted via a slow<br />connection. So if it's \
mounted via the internet then "probablySlow"<br />should return true. On \
the other hand, i don't know if such checks are<br />in place and if they \
are not there, how to implement them.</blockquote><br />Would be nice, but \
sounds difficult to do reliably, especially with  out <br
/>generating too much traffic.<br /><br />I think all network-based file \
systems should be handled the same when it <br />comes to the \
"probablySlow()" method: even if their performances vary, they <br />will \
all perform worse than a local filesystem when the network they operate <br \
/>on is not at least a 100Mbit wired LAN connection. Of course exceptions \
exist: <br />people do use wired connections, but since it is complicated \
to detect this, <br />we need to optimize for the most common case. I think \
it is safe to assume <br />that with tablets and laptops (some of them \
without ethernet ports) becoming <br />more and more common, we have more \
and more people going wireless, so it's <br />better to assume all \
network-based fs to be slow.<br /><br />Aurélien<br \
                /></pre></blockquote></div><br>
-- <br>
Sent from my Android phone with K-9 Mail. Please excuse my \
brevity.</body></html>



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic