Sunday, July 27, 2008

Evaluating A Memory Upgrade

I was talking recently with Eric Chan, of Adobe, who’s one of the Adobe guru’s on Camera Raw. Since we use Camera Raw to convert all our camera’s proprietary Raw files into the DNG open format (created by Adobe and given to the world) , for many many reasons (see here and here for several why), and I asked him about Camera Raw’s memory usage, and optimizing for that.

I asked Eric what the optimal memory would be for my G5 Quad 2.5. I was considering switching to a faster machine, but first wanted to know about optimizing my current system, and improving speeds and throughput, if possible.

(Continued after the Jump)

I told Eric that my Quad had just 2GB of ram in it, and he suggested I upgrade to 8GB, if possible. He said that much more than that, he thought, wouldn’t do much more for me.

Currently, my machine can process a raw file into DNG in 7.45 seconds, fresh restart, only Photoshop running. I ordered my memory (yes, SimpleTech), and paid $292 for the additional memory. When the chips arrived, we installed them, ran a memory test, and re-processed the exact same files the exact same way. The results? 3.28 seconds per image – a reduction per image of 4.17 seconds per image.

So I did some calculating. You should too.

Remember those high school match questions that went something along the lines of:
“a train traveling 65 miles per hour leaves Albuquerque headed to Abilene non-stop, and a train traveling 80 miles per hour leaves Abilene headed to Albuquerque, and the trip is 487 miles, at what point will they meet?

Extra Credit: what is the closest city they will meet in?”
Here’s where that type of math plays out in your real life.

Assuming you’re paying $20 an hour for a post-production person, and that person can process an image in 7.45 seconds per image. By spending $292, you can increase that person’s productivity by 4.17 seconds per image. How many images much you produce before you can break even on the memory expense?

Show your work.
$20 = 60 minutes = 3,600 seconds, or $0.0055 paid per second. (That’s 6-tenth’s of a cent per second.)

Current Configuration: 7.45 seconds per image – staffing costs - $0.041 cents per image processed. (that’s 4.1 cents per image processed.)

New Configuration: 3.28 seconds per image – staffing costs - $0.018 cents per image processed (that’s $1.8 cents per image processed.)

Savings: 4.17 seconds per image, staffing costs savings - $.023 cents per image (that’s 2.3 cents per image.)

Next, divide the price paid for the memory - $292, by $0.023, and you arrive at 12,696 images.

Answer: By spending $292 on a memory upgrade, the cost of that upgrade is covered by a more productive post-production person after just 12,696 images.
For Extra Credit:
If I shoot an average of 4 assignments a week, with a range of between 200 and 400 images per assignment, approximately how long before I arrive at that cost savings?

Show your work.
4 assignments a week averages 300 images per assignment, or 1,200 images per week.

Answer: By the eleventh week, the cost savings will be realized. Since a common calculation for businesses to make is to determine if an investment in plant or equipment will pay off in 18 months of less, this investment, which pays off in under 3 months was an obvious investment to make.
Now, look at your CPU speed - is it a dual G5? A Single G5? For you PC users out there - check your own speeds too. These type of investments can really pay off. Here's Apple's calculator to see if you should upgrade: Apple Mac Productivity Calculator. When you go to that calculator, the number you'll need to know is how many images you process in a day (on average is fine), and the amount of time each image takes to process on your current machine, in seconds. Once you have these figures, multiply them, and divide by 60, to get the number of minutes each day you spend waiting around. For example, waiting 7.45 seconds per image, processing 1,000 images a day, is 124 minutes spent waiting around. Choosing the G5 Quad, Adobe Photoshop, entering in 124 minutes into the "Estimated time you wait while using the above application (minutes/day)" line, and then entering in $20/hour, and 1 workstation, results a savings each month of $164.92, and annually, a savings of $1979.09. Very interesting, indeed.

Please post your comments by clicking the link below. If you've got questions, please pose them in our Photo Business Forum Flickr Group Discussion Threads.
http://

1 comments:

Anonymous said...

3 Comments:

1. use ECC memory if your machine will support it:
you'll get less flakyness, less trashed filesystem,
than if you use non-parity RAM.

( Error Correcting Code:
years ago it was discovered that bit-cells in dynamic-RAM
( capacitor-based, requiring frequent refreshes )
could be flipped from 0 to 1 by the cracking of a single atom in the cover over the cell
( and atoms do spontaneously crack -- hence the term "half-life" ).

Of course,
if that happens in the byte of RAM that's got the disk-location for your data,
and this causes the data to be written to the wrong part of the disk...

-shudder-

Error Correcting Code eradicates that,
for single & double-bit errors.

Think of it as being like the difference between low-level, infrequent,
only-sometimes dangerous virus-infection... )

2. ALWAYS run ( as you did ) a memory-integrity-tester on the RAM, after install:
a slightly flaky connection between the module & mobo
can result in memory-corruption that can be incredibly hard to diagnose, otherwise.

For x86 architecture, MemTest86
( both the "+" version, and the other version )
has discovered memory-corruption on machines I've fixed, through the years, many times.

3. Crucial.com
-- no, I'm not affiliated, but they've never provided me with a flaky module,
and I've only read of 1 sys-admin who came across one, and posted about it
( mind-you, I haven't looked in the last year ).

Their modules are never "push" rated:
if it says it'll work at a given speed, it will,
given steady power-supply ( the other main reason systems go flaky ).

You're right about RAM, though:
My first move on devising any system for any customer ( part-time geek )
is to specify whatever machine they want with either
a) no RAM, then pack it full with Crucial modules, or
b) minimal/lowest-cost memory, then replace it all outright,
with the maximum affordable.
( saves thousands on the Power Mac, e.g. )

: )

Thanks again, John

Newer Post Older Post