Home | Galleries | Articles | Reviews | Best Gear | Science | New | About | Contact |
by Roger N. Clark
This page shows some of the differences between MS Windows 7 and linux mint 16 and resources available to the user and how it might impact getting things done.
Linux for Photographers:
Computer Resources
This page shows examples of computer usage between windows and linux. As a photographer, I want a computer that offloads memory cards and backs my data up to external hard drives as fast as possible. I want as many resources the computer has to do my tasks as fast as possible for the given hardware.
Some perspective. When I am on an intense photo shoot, time is critical to download and review my images. If I only had a few images, it would not be a big deal. Downloading and backing up with USB2 is so slow, it can be difficult to complete things in a short time. Also, if I am on vacation, do I want to spend my time downloading and backing up images? No. I want to be out doing things or relaxing.
On an intense photo trip, like an African safari, power is more often than not limited and one needs to download as fast as possible or one loses sleep, or runs out of battery power. It can become an issue if you can't get your images safely downloaded, backed up, reviewed and your laptop battery charged. On an African safari, one can easily get 800 to 1000 images per day. For example, on a 12 to 16 day safari, I'll return home with some 12,000 images.
Some modes of backup and review strategy are:
Reviewing is important to check for dust on sensor problems, that all systems working properly in an extreme environment, and technique is sound. Plus it is always gratifying to see when you get a great image.
Windows Resources
I have observed with multiple computers, both desktops and laptops of mine and others that windows always seems to be doing a lot in the background. That means resources that are not available for your tasks. If you have a windows computer, check this yourself by starting the resource manager.
Figures 1a, and 1b show screen captures (with a camera) of a newly installed windows 7 machine on an I7-3770 quad core computer running at 3.4 GHz with 16 GBytes of RAM. I simply logged in and this was over 24 hours after the install of the system and all updates. I started no tasks to do anything except start the resource monitor. I let the resource monitor run for several hours. The things going on in Figure 1a, 1b are typical of what I constantly observed for hours.
For very brief periods, the windows 7 activity would drop to a lower level of activity (Figure 2). But note this "low" level of activity lasts for short periods of seconds, not minutes, and still shows multiple threads doing disk I/O. In fact the snapshot in Figure 2 still shows 8 threads doing disk I/O and this was the lowest level I observed. The more typical activity shown in Figure 1a, 1b indicates HUNDREDS of threads doing disk I/O (note the scroll bar showing that only a small portion of the number of threads doing disk I/O is visible in the window)!!! I counted the number of threads the system was using and counted over 500 threads and I wasn't doing anything! Now, an I7-3770 quad core machine can process 2 threads per cpu so 8 threads can be executing simultaneously. That means that 550 operating system threads are competing for those 8 slots. And with dozens and dozens of threads actively doing disk I/O. Note too the constant network I/O, often jumping to 100+ kilobytes/second. The process list indicated all this activity is system processes, not other bloatware.
Figure 1a. Typical MS Windows 7 system activity with the user doing nothing.
Why so much disk activity?
Figure 1b. Typical MS Windows 7 system activity with the user doing nothing.
Why so much disk activity? And why all the network activity?
Note too the page faults, peaking at over 100 pages faults/second. With 16-gigabytes
of RAM, why does this happen?
Figure 2. MS Windows 7 minimum system activity with the user doing nothing.
This low activity period would last only a few seconds, then return to the
more typical level shown in Figure 1a, 1b.
Why so much disk activity?
Linux Resources
Now compare the windows activity in Figures 1 to the linux activity shown by the vmstat monitor in Table 1. Key things to note: cpu id = idle cpu, and we see the cpu is 100% idle for the 90 second time tested. This is typical for the system when the users are not doing anything. The I/O columns, bi = blocks in and bo=block out. There was some activity for starting the vmstat program, then zero in and only 7 blocks out during the period. That means the disk is not in constant activity like in the windows system and pretty much all the cpu is available to users. Note too no page faults (the swap columns).
Table 1 vmstat 3 procs -----------memory---------- ---swap-- -----io--- -system-- ----cpu---- r b swpd free buff cache si so bi bo in cs us sy id wa 0 0 0 11738876 221984 3571664 0 0 1 38 26 34 0 0 100 0 0 0 0 11738864 221984 3571664 0 0 0 0 303 468 0 0 100 0 0 1 0 11738864 221984 3571664 0 0 0 4 320 497 0 0 100 0 0 0 0 11738864 221984 3571664 0 0 0 0 309 480 0 0 100 0 0 0 0 11738724 221984 3571664 0 0 0 0 304 469 0 0 100 0 0 0 0 11738724 221984 3571664 0 0 0 0 315 490 0 0 100 0 0 0 0 11738724 221984 3571664 0 0 0 0 295 455 0 0 100 0 0 0 0 11738708 221984 3571664 0 0 0 0 320 494 0 0 100 0 0 0 0 11738708 221984 3571664 0 0 0 0 307 464 0 0 100 0 0 0 0 11738708 221984 3571664 0 0 0 3 315 483 0 0 100 0 0 0 0 11738692 221984 3571664 0 0 0 0 306 475 0 0 100 0 0 0 0 11738692 221984 3571664 0 0 0 0 316 490 0 0 100 0 0 0 0 11738692 221984 3571664 0 0 0 0 294 452 0 0 100 0 0 0 0 11738692 221984 3571664 0 0 0 0 314 484 0 0 100 0 0 0 0 11738676 221984 3571664 0 0 0 0 362 576 0 0 100 0 0 0 0 11738676 221984 3571664 0 0 0 0 311 481 0 0 100 0 0 0 0 11738676 221984 3571664 0 0 0 0 297 455 0 0 100 0 0 0 0 11738660 221984 3571664 0 0 0 0 318 499 0 0 100 0 0 0 0 11738660 221984 3571664 0 0 0 0 303 463 0 0 100 0 0 0 0 11738660 221984 3571664 0 0 0 0 331 519 0 0 100 0 0 0 0 11738660 221984 3571664 0 0 0 0 318 488 0 0 100 0 0 0 0 11738644 221984 3571664 0 0 0 0 298 458 0 0 100 0 0 0 0 11738644 221984 3571664 0 0 0 0 316 486 0 0 100 0 0 0 0 11738628 221984 3571664 0 0 0 0 318 486 0 0 100 0 0 0 0 11738628 221984 3571664 0 0 0 0 325 505 0 0 100 0 0 0 0 11738628 221984 3571664 0 0 0 0 302 466 0 0 100 0 0 0 0 11738628 221984 3571664 0 0 0 0 311 481 0 0 100 0 Notes: 30 lines of monitoring, 3 seconds/line = 90 seconds monitoring. I/O: bi = blocks in and activity occurred when the vmstat program started bo = blocks out, and activity occurred when the vmstat program started There was no other I/O activity after the process started. CPU: note the id column = idle. The cpu remained 100% idle for the entire 90 second period. That means the cpu was instantly available for your tasks.
Real_World Performance: Offloading a Memory Card
Now let's look at actual performance in downloading image data from a CF card to the local disk. The CF card tested was an 800x Lexar 32 GByte card capable in theory of 120 MBytes/second read rates. I used a Lexar USB3 card reader and used the systems file managers to copy files. The windows computer achieved only 37.7 MBytes/second average transfer rate (Figure 3), while the SAME computer converted to linux (different disk drive but same specs) achieved 65.8 MBytes/second average transfer rate (Figure 4), or 1.75x faster.
Figure 3. Example MS Windows resources use during the
download of a 32 GByte compact flash card. Note all the competing
processes for cpu and disk I/O.
Figure 4. Example linux mint 16 data transfer rates observed
using the same hardware as the windows machine in Figure 4, and transferring
images from a 32 GByte compact flash memory card to the local hard drive.
The differences in speed is common in my experience with dozens of computers. I have taught advanced image processing courses to 30 professionals at a time and observed these same speed differences with multiple windows machines versus linux.
Conclusions
Windows has a huge amount of overhead, sucking resources from user processes. Linux does not have these issues and makes more resources available to the user, enabling work to get done faster.
Linux for Photographers:
Home | Galleries | Articles | Reviews | Best Gear | Science | New | About | Contact |
http://www.clarkvision.com/articles/linux.for.photographers.part-x
First Published December 15, 2013
Last updated October 25, 2014.