Welcome to the MacNN Forums.

If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.

You are here: MacNN Forums > Community > MacNN Lounge > When was the last time you used software optimized down to the assembly language?

When was the last time you used software optimized down to the assembly language?
Thread Tools
The Godfather
Addicted to MacNN
Join Date: Dec 1999
Location: Tampa, Florida
Status: Offline
Reply With Quote
Apr 16, 2011, 11:42 AM
I remember it was a big selling point in the pre-G3 days. Then, Steve announced iMovie for the G3 or G4 that slashed transitions and DVD encoding to 0.5x with presumably assembly magic.
After that last flash in the pan, either compilers became as fast as assembly, or the last PPC assembly girl died of old age, or software managers didn't see the payout of 2-4x faster software, or something else.
In the intel era, no assembly optimized software ever saw the light.
Posting Junkie
Join Date: Dec 2000
Status: Offline
Reply With Quote
Apr 16, 2011, 11:54 AM
Well, you can't really know whether an app was written in assembly or something else without looking at the source code. Some parts of the OS may well include assembly code — I would particularly expect it in Rosetta, since emulation technology often needs to be as fast as possible.

The thing about assembly that makes it often undesirable, though, besides the fact that the optimizer can often do very well these days, is the fact that it ties you inextricably to the current hardware platform. If you'd had any code written in assembly during the PPC days, you would have had to completely rewrite that code after the Intel switch. And then a few years later, you'd have to port it again to x86_64, which isn't as drastically different as PPC to i386, but still does have changes. If you wanted to take code from your project and port it to a smartphone, whoops, time for another rewrite.

Ticking sound coming from a .pkg package? Don't let the .bom go off! Inspect it first with Pacifist. Macworld - five mice!
Spheric Harlot
Clinically Insane
Join Date: Nov 1999
Location: 888500128, C3, 2nd soft.
Status: Offline
Reply With Quote
Apr 17, 2011, 05:24 AM
Word has it that BJ writes the drivers for my audio interface in assembler - which is one reason why Metric Halo boxes were among those unfazed by the Lucent/Agere Firewire chipset revision two years ago that "broke" a lot of interfaces.

Apparently, some coders know how the actual hardware works and what specs actually mean - and most don't.
Mac Elite
Join Date: May 2001
Location: Up north
Status: Offline
Reply With Quote
Apr 17, 2011, 06:23 PM
Some other points:
- Assembly is notoriously difficult to maintain.
- The time spent optimizing code paths in assembly could be better spent optimizing cache efficiency, or on parallelization.
- It's a highly specialized skill that most programmers (including good programmers) don't have, nor need anymore.
Mac Write
Mac Elite
Join Date: Aug 2000
Location: Vancouver B.C.
Status: Offline
Reply With Quote
Apr 18, 2011, 02:45 AM
Get busy living or get busy dying
--Stephen King
Professional Poster
Join Date: Jan 2003
Location: Teaneck, NJ
Status: Offline
Reply With Quote
Apr 18, 2011, 09:55 AM
Originally Posted by Mac Write View Post
I think everything by Steve Gibson is written is assembly. All of his software is windows only though, isn't it?

Do you listen to Security Now by any chance?
AT&T iPhone 5S and 6; 13" MBP; MDD G4.
Posting Junkie
Join Date: Oct 2005
Location: Houston, TX
Status: Offline
Reply With Quote
Apr 18, 2011, 07:42 PM
Handbrake uses x264 which contains lots of hand generated asm because gcc/icc are retarded for dsp-like work.
Join Date: Apr 2001
Location: San Antonio TX USA
Status: Offline
Reply With Quote
Apr 18, 2011, 09:22 PM
...on the other hand, most compilers are heavily tweaked to maximize efficiency of output code, often by using pre-built chunks of ASM, but also by analyzing the source code and fixing dumb programmer tricks (redundancies, stupid loops that should be different structures, etc.). For the majority of programs, this tends to provide a whole lot of bang for the buck. For special stuff, like "DSP-like work" as mduell points out, you need an expert programmer to provide the ASM magic because the compiler just can't.

Glenn -----OTR/L, MOT, Tx
Clinically Insane
Join Date: Dec 1999
Status: Offline
Reply With Quote
Apr 18, 2011, 11:35 PM
Companies are about rapid release cycles and features. With computers getting faster and cheaper, they don't really optimize the code anymore. Most software is "good enough" and your average consumers doesn't know any better or doesn't care.
"…I contend that we are both atheists. I just believe in one fewer god than
you do. When you understand why you dismiss all the other possible gods,
you will understand why I dismiss yours." - Stephen F. Roberts
Reply With Quote
Apr 19, 2011, 09:24 PM
WriteNow! was hand-coded 68K assembly. That software was fast - even on an 8MHz Mac Plus with 1MB of RAM. I preferred that to Word, in its day.
Thread Tools
Forum Links
Forum Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Privacy Policy
All times are GMT -4. The time now is 07:05 AM.
All contents of these forums © 1995-2017 MacNN. All rights reserved.
Branding + Design: www.gesamtbild.com
vBulletin v.3.8.8 © 2000-2017, Jelsoft Enterprises Ltd.,