How fast is fast

2011-06-23
2012-12-27
  • This went on to the xfce mailing list. I thought I'd share it.

    El 22/06/11 11:32, Nick Schermer escribió:
    > On Wed, Jun 22, 2011 at 5:09 PM, Edscott Wilson Garcia <edscott@xfce.org> wrote:
    >> Other fm's like nautilus or dolphin are automobiles,equipped with
    >> stereos, vanity mirrors, air conditioning, seat belts. Rodent is a plain
    >> and simple bicycle, light and nimble. And faster.

    > Can you prove that (with numbers)? Because from my first look at
    > Rodent it's not faster (startup, folder loading etc) then Thunar
    > (which uses the same backend as Nautilus). Rodent also keeps using 5%
    > cpu (ouch!) and uses more memory (I admit, not counting the gvfs
    > daemons that are also started for Thunar/GIO).

    That's tricky. I'll begin with a bicycle simile. An automobile can reach a cruise speed of 100 kph in seconds,  a bicycle will take longer to reach a cruise speed of 20 kph. A simple mind will quickly reach the conclusion that any auto is faster than the best bike. Why is this is not true?

    Numbers. Speed is the magnitud of the spatial derivative of space with respect to time. But average speed is real life. On my bicycle I can get from any two points in the city (about 20 kilometers) in 50 to 65 minutes. The same trip takes from 90 to 120 minutes in an automobile.

    So which is faster? From a tecnical viewpoint, under ideal conditions, the automobile is faster. There is no arguing  that. But from the user's view point (which is what matters), the bicycle has no rival (well, maybe the horse, but horses are too expensive to maintain…).

    Rodent is meant to be fast for the user, not for the stop watch under laboratory conditions.

    I'll take the time to do some explanations, although I am slow to write. Bear in mind that all references to Nautilus are to Nautilus, not to Thunar.

    How long does it take a user to identify a paper in pdf format, when the title is unknown? With Nautilus you have to click and click and click, and then back to the click and click and click.

    How long does it take a user to run a command in background? With Nautilus you have to click and click and click and then realize you have to install something extra, restart and then click and click and click before you can type (if you can still remember what you wanted to do by then).

    How long does it take a user to customize an application to use when opening a certain type of file? With Nautilus you have to click and click and click, and maybe you'll figure it out.

    Rodent's idea of being fast is allowing the user to do stuff faster, not microseconds to display a label. Nautilus plays in a totally different ball park. Nautilus wants to appeal the greatest number of potential users, most of which do not know what "command line" means.

    I'm sure Nautilus can be configured to allow the user to work faster (so he has more time to play), but that configuration takes a good deal of effort, so it becomes a contradition.

    I could go on and on and on. You might say that not all users want skim through dozens of scientific pdf articles, or run simulation programs in the background or use an application other than the officially gnome santioned ones. And you are right. Rodent is not for everybody.

    More numbers? On initial installation Rodent will not appear as fast as it actually is. On virgin installs, disk and memory caches are empty. Once you are using Rodent in a realistic way (not stress testing under ideal conditions), these caches bring the numbers down significantly.

    CPU usage? Rodent is built around a multithreaded design. CPU speed has reached a plateau and the only way go faster is to do more work in parallel. If you do not have a multicore processor, Rodent's design will make is slower than any other program doing the exact same thing. But multicore processors are here to stay.

    At my office I have "common Joe" box, and it has 4 cores in the chip. Last time I looked (at least a year ago) AMD was attaching 12 cores to the chip. Does 5% of one, hurt? Not for me. After all, that's one of the reasons why I have a computer, to put it to work.

    Memory consumption? Let's take a look at the this unstable svn version I'm running:                                                       

          PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                    
         2101 edscott   20   0  370m  84m 7388 S    6  2.2 677:23.50 plugin-containe                                                             
        28532 edscott   20   0  447m 167m  13m R    4  4.3 804:50.15 firefox-bin                                                                 
        10441 edscott   20   0  976m 575m 546m S    3 14.7 383:54.15 VirtualBox                                                                  
        22862 edscott   20   0  514m  35m  13m S    2  0.9   4:35.02 rodent                                                                      
        17964 root      20   0  273m 135m  11m S    2  3.4 628:17.09 X                                                                           
        17985 edscott   20   0  228m 3896 2600 S    1  0.1 320:15.85 gkrellm                                                                     
        23429 edscott   20   0  464m  18m  11m S    1  0.5   1:46.21 rodent-desk                                                                 
        27359 edscott   20   0 19120 1300  888 R    0  0.0   0:00.01 top                                                                         
        27834 edscott   20   0  473m  17m 7860 S    0  0.5   6:25.40 rodent-forked  

    The important number here is RES. Considering I have 8GB on this "run-of-the-mill" box, what's 35 MB on the  rodent instance? Answer: tiny. Even firefox does not have me worried. At this time I cannot compare with Nautilus because, well, I don't even have it installed. Why not? Dependencies.

    What about dependencies? If I do an "emerge -p Nautilus" on this Gentoo box, I would need to install no less than 38 packages before it even considers installing Nautilus. Everything from libsoup to gnome-desktop.  Gvfs brings in 34 packages by itself (practically the gnome desktop). That's too much for me, especially when I compare it to the emerge for Rodent.

    The bottom line is that Rodent is small, fast and powerful. If your definition of small, fast or powerful is different, that's fine too.

    cheers!

    Edscott