On 17 April 2013 07:34, Ed Jaffe <[email protected]> wrote:

> On 4/16/2013 3:55 PM, Scott Ford wrote:
>
>> I want to ask a question, in this day/age and processing power is it
>> really worth
>> being concerned about Assembler instructions speed ?
>>
>
> I am not unbiased. My answer is exactly what one would expect from the
> CTO of a software company that has been authoring far-better-performing
> code since 1978. Am I proud of slides 67-74 in this SHARE presentation?
> https://share.confex.com/**share/120/webprogram/Handout/**
> Session13319/%28E%29JES%**20Update_SHARE%20120.pdf<https://share.confex.com/share/120/webprogram/Handout/Session13319/%28E%29JES%20Update_SHARE%20120.pdf>
> You bet I am!
>

You may! :-)

I think that most of the people on the list realize that much of this type
of discussions is to hone your skills, understand what challenges your code
offers to the machine, and be able to diagnose issues with code fragments
where it is relevant. My experience is that those who don't appreciate the
low level concepts often don't see the big picture either.

Much of what I learn here while lurking provides background information for
when I need to address an issue in the code base that I inherited. I
recently found the code spending a lot of time in sequentially searching a
linked list, comparing each key with an EX of a CLC instruction (which I
understand is not a good idea anymore). Since only the search argument was
variable length, I could copy it to a fixed length field and do plain CLC
instead. While the big improvements are in the algorithms, some
understanding of the machine architecture is helpful when thinking about
those issues as well. I don't know which part helped most to write the next
release that added a lot of new function, reduced the size of code by 30%
and reduced CPU usage by factor of 5-10.

While it is true that CPUs have gotten faster, the volume of data we
operate on has often increased as well. And even when algorithms are O(N)
the volume of data can still surprise you. My favorite quote from an
application developer is: "Rob, we know this is not effecient. But it works
fine for 100,000 records. Why would it not work for 107 million?" (hint,
100K records took less than 2 minutes to run, the nightly batch took 27
hrs).

Rob

Reply via email to