PDA

View Full Version : holy crap batman, emulation goes warp speed


thegelding
2004-09-13, 10:13
article is here (http://www.wired.com/news/technology/0,1282,64914,00.html?tw=wn_tophead_2)

bitchin'


g

In demonstrations to press and analysts, the company has shown a graphically demanding game -- a Linux version of Quake III -- running on an Apple PowerBook.

. It requires no user intervention: It kicks in automatically when a non-native application is launched.
"It's pretty darn impressive," said analyst Jim Turley. "It's remarkable because it's unremarkable (to see it in action): It just works."

Brad
2004-09-13, 10:42
*drool*

Me want now! :)

Seriously, though, that is quite an incredibly impressive feat if they've really managed to eek out the performance they claim. If priced right, QuickTransit could make Transitive a lot of money. Hell, *I* would go out and buy a copy today if its claims are true.

LoCash
2004-09-13, 10:59
If nothing runs at all, everything runs equally well!

According to a /. comment, here is how this probably works...

According to TFA, this is a pre-compiler/translator, not an emulator. i.e. The entire program is recompiled for another platform using only the binary data as the source. This is theoretically possible and has been attempted many times, but such compilers often trip over levels of indirection that programmers add.

For example, a programmer might place the video address in a variable, then reference that for screen paints. Such a trick would be impossible to detect at compile time, and would only be properly handled by a true emulator.

Kickaha
2004-09-13, 11:24
Okay, my bullshit detectors have been screaming... until that.

Interesting. If they can perform that fast enough... could be nice.

Now... what does this mean for Apple? :)

Does it mean no one will write for Apple any more, or does it mean that people will look for best of breed development tools *period*, since platform deployment no longer matters as much, and we'll see Cocoa apps pop up on Wintel?

scratt
2004-09-13, 11:28
Good points LoCash.

It also pisses me off a bit because you don't get something for nothing.
And IF this works as it is sold (and that is a BIG IF and I for one am not convinced) it is going to be yet another piece of tissue paper clogging up the works.

Let me explain.. Way back when I was a programmer we used to write in machine code for the hardware platform we were working on. We would peek and poke bits of hardware and fine tune code to get the ultimate performance out of a machine. If we did that today what the machine could do sat on your desk would blow your socks off... Heck what the machine sat in your closet gathering dust could do would be pretty damn amazing!

Nowadays everything is written using libraries and some bastardised version of C and we are getting a massive performance hit over what the hardware we are acutally running on is capable of in order to maintain a semblance of cross platform compatitbility and os standardisation.

If we went back to the style of writing that we used to employ the machines we have now would be running at least twice as fast as they are now, if not more. Yes developement times would be longer and porting would be harder or not happen yadda yadda yadda but then we wouldn't need to be constantly upping chip speeds and going for smaller and smaller dyes to try and keep our machines running at a decent speed... Perhaps we could devote the moeny we are spending on that to develope better software which was more hardware specific.

I know I am pissing in the wind here... but what I am saying is true. Just not relevant to the real world and not gonna change anything.. but it still pisses me off and we are wasting a lot of our technology advances on a fundamentally inneficient method of software developement industry wide.

A good percentage of machine power these days is used up running the operating system standard calls to keep everything standard for future and past generations of machine and os.

I can see the reasons and it is a necesary evil... but it was enough to make me move to Japan and write for hardware there as it was the only country left that did it still and to eventually quit programming altogether.

This universal pannacea that is being sold to us again by this company is going to be yet another piece of junk to stop up the drain with! IMHO!

RANT OVER! I am going to find some bugs to pull wings off now :) :mad:

johnq
2004-09-13, 11:33
I would say it's a huge minus for Apple rather than the plus one might think it is. All those people that refuse to pay Apple's prices for hardware can now just run Apple apps (stolen via fileswapping) on Wintel hardware.

-

I'm curious how this works as far as the gui apps? QIII doesn't tell us what a Windows/Linux app will look like on Mac OS X etc.

Kickaha
2004-09-13, 11:52
If we went back to the style of writing that we used to employ the machines we have now would be running at least twice as fast as they are now, if not more. Yes developement times would be longer and porting would be harder or not happen yadda yadda yadda but then we wouldn't need to be constantly upping chip speeds and going for smaller and smaller dyes to try and keep our machines running at a decent speed... Perhaps we could devote the moeny we are spending on that to develope better software which was more hardware specific.

I know I am pissing in the wind here... but what I am saying is true. Just not relevant to the real world and not gonna change anything.. but it still pisses me off and we are wasting a lot of our technology advances on a fundamentally inneficient method of software developement industry wide.

I vehemently disagree.

The pace of speed increases of hardware have far outstripped the pace of software development efficiency increases, and therefore we are at a net gain, not loss by taking this route.

I used to poke and peek bits too, and yeah, it's a kick. I *HATE* the fact that we have CS grad students who have never done it, and frankly, aren't sure how that magic box works. :P (No, I'm not joking - to some of them it's still a mystery how all the pieces work together... hell, I had to explain to a class of undergrad seniors what the term 'bootstrapping' meant.)

BUT... it's a highly inefficient way of writing code. Very. Extremely. (It creates efficient code, but inefficiently.) Humans (well, most) don't think like that... we think in terms of concepts, and abstractions. Matching software development to that is a much bigger win. Heck, this was realized back in the late 60s, but the hardware simply wasn't up to the task to keep up with the requirements needed to support those abstractions. Now, it is. And until that derivative of hardware speed approaches zero, (or until the second derivative goes very negative,) we're going to continue to be further ahead of the game using the current approach.

Writing to silicon only works for small projects and/or small teams. Once you start getting into very large systems, the communication overhead between teams, or members, swamps the actual work being done, until you finally hit a zeropoint. Face it, the humans are the weak link. We're the most inefficient part of the development chain - so you can either have the inefficient part working inefficiently to produce efficient code, or the inefficient part working more efficiently to produce less than optimal code. The latter will get you farther, if your goal is to produce code. (If your one and only goal is to produce efficient code, then you'll have to go the first route.)

Hardware speed is cheap right now - let it bolster the software development side for a while, since that gives us the biggest overall gain. Meanwhile, folks like me will be working on ways of improving the software side of things. ;)

bassplayinMacFiend
2004-09-13, 11:56
scratt,

Ah the good ole days of load, process and store! :D

I don't see MS writing Word or Excel in ASM, do you? What's been lost in speed has been more than made up with accessible APIs and libraries. Somehow if everyone was still programming in ASM, how many companies do you think would want to hand out machine code to their APIs?

I remember the days of peeking and poking well and while you are correct that good ASM code is both solid and fast I wouldn't want to have to do general purpose programming in ASM at all. This is where compiler technology is supposed to step in and make all that Obj-C code run well. :)

scratt
2004-09-13, 12:20
It's interesting to hear your comments.

And what you are saying - both of you - to a degree is true.

But the fact remains (as bassplayinMacFiend said) assembly is solid and fast and will always be faster that compiled code.

And whilst I agree (as I pointed out in my original post) that development speeds that we have today would not be possible without relying on libraries and the like it doesn't mean that I have to like it, nor does it get the best out of machines!

If you or I sat down and wrote a program and I wrote it in assembler with the knowledge of the hardware and you wrote it in a high level language relying on libraries the following would happen:

You would finish first! (Assuming it was a reasonable sized project and not just 'Hello World').

Mine would be faster and more elegant.

FULL STOP.

I have worked with a very large team of prgrammers working on a multi-computer platform (a big network for a multi-player simulation system) and everything was written at machine level for networking, graphics, and the core operating system. At the time it was the only way to place 3D sounds and render 3D stereo graphics and maintain a network both inter-machine and of Polhemus trackers on each individual work station. We had a twenty man team which I was heading and we developed an entire system in six months. This was back in the days when Daytona (the SEGA racing game ) was being written for the Arcades and we had the same hardware to develope VR for SEGA.

You are right to say it developes efficient code inneficiently and I never denied that all I said was that I personally hate the current system of code developement.

I have no 'goal' or 'viewpoint' in this discussion that I am trying to 'sell'. I was merely talking from a point of personal choice. I am fully aware (as I said) that this is not a realistic viewpoint (in the real world). It is perhaps a romantic viewpoint.. but non-the-less efficient tight code on the same platform as your bloat-ware be it M$ or Apple (and I love Apple) would run faster. Period.

That is all.

I do not dispute that we are at a 'net gain' in terms of progress of software generally. That does not mean that I have to feel that our solution is elegant. It also does not refute the point that assembly language written well will always provide better performance out of the same horsepower.

:D Now where was that bug I was pulling wings off.....

bassplayinMacFiend
2004-09-13, 14:34
The first time I wrote a program and had it work perfectly on the first try was in ASM. IMO ASM embodies how software develop should work, design, chart, then code. Working in this manner I was able to write ASM code on paper, plug it into the machine and it worked. The first time.

I have yet to write a program of any complexity in Java, C or Obj-C and have it work correctly on the first try. Still, until OOASM comes about I'm stuck in higher level languages. :)

Kickaha
2004-09-13, 16:38
I hear ya... ASM is perfect for small computation chunklets. Ie, functions. And for that, it's very hard to beat hand-tweaked code.

It blow goats, however, at expressing things like delegation, generic iterators, or semantic relationships. :) Those are the elements of human thought much more than registers and operators... and ultimately the mental widgets we're going to have to support with programming languages if we're to have any hope of increasing software production efficiency.

For small pieces, however, hand-tweaked ASM rocks. I fully support using it for optimizing appropriate parts of large systems written in high-level languages. :D

CoreMac
2004-09-14, 09:25
I would say it's a huge minus for Apple rather than the plus one might think it is. All those people that refuse to pay Apple's prices for hardware can now just run Apple apps (stolen via fileswapping) on Wintel hardware.


I've been trying to argue against this thought and the idea that developers will abandon the Mac if it can run Windows apps over at that other place, but no one gets what I'm trying to say. :rolleyes: I'll try it here, but I expect a spanking.

On question of how this impacts Apple... Could Apple be the mysterious customer that plans to make an announcement later this year? I think that Apple is moving to a new type of software design with technologies like Core Video and Core Image. This new breed of software is Apple's future and it is something they will be more and more in control of. I doubt Transitive would allow Apple’s next generation apps like Motion to run on Windows, at least not until Microsoft offers something like the Core technologies (and that’s slipping). I'm thinking that Steve sees most of the existing apps by the major players (MS, Adobe, Macromedia, Etc.) as old and stale. As the industry has become consolidated how long has it been since we’ve seen real innovation from these guys? Sure it is essential that this old stuff runs on a Mac, but if things are going to stay with the status quo, we're stuck with 2%. The future based on new technologies is where he's heading and he's betting the new tech will create new creative developers. He’s also planning on Apple being the major developer. They have to play their cards very strategically. Don't piss off Adobe until your ready to drop a Photoshop killer. But the real future he’s planning is something of which we have little knowledge. Where will technologies like Cell take the Mac? How will the software model change?

So if Transitive is more than just vapor, how can it help Apple? Be, Inc. offered a new, compelling platform for computing, but it did not offer compatibility with existing apps. Apple, by comparison, moved the platform forward while doing a fairly good job of bringing along the legacy Mac stuff. Supporting the past is a necessary evil if you are going to live long enough to change the computing world (again). At this point wouldn’t supporting most of the Linux or Windows apps be a real bonus as Apple looks for new markets? If we are on the cusp of a new software and hardware paradigm, I can’t help but wonder if in Steve’s mind it would be like saying round one is over. There’s not that much difference in what most existing Windows or Linux or Mac applications do anyway. With QuickTransit, the Mac could possibly run most of the old stuff, but it’s the new next generation Mac-only stuff that really matters. It would be a gamble, but what is the other choice? If Transitive really works and Apple stands still, where does that leave it? Apple is a shark. It has to keep moving forward or it will die.

stoo
2004-09-14, 12:19
It took me a few days, but I actually know some Transitive employees. Now to extract some inside info (joke).

ShiggyMiyamoto
2004-09-30, 13:35
It took me a few days, but I actually know some Transitive employees. Now to extract some inside info (joke).
lol Get us a copy of the program :D

dfiler
2004-10-01, 08:38
Why the either-or argument between high and low-level programming languages? Aren't both useful tools for their intended applications? Use high-level languages for complex systems that could otherwise never be developed. Use low-level languages for computationally intensive tasks that would otherwise be untenably slow.

Back on topic:

I don't believe the QuickTransit hype. Every few years another startup claims to have found the holy grail of cross platform compatibility. Is it possible they're on to something? Certainly. Yet, if history is any lesson, we shouldn't be holding our breath.