jvd said:I'm sure that before the end of the year amd will put out the a64 non fx dual system boards .
I wouldn't mind building an a64 3000+ dual . Would be sweet
That would surely help my rendering times. Gosh Maya can be such a bitch...
jvd said:I'm sure that before the end of the year amd will put out the a64 non fx dual system boards .
I wouldn't mind building an a64 3000+ dual . Would be sweet
Simon F said:But he was also talking about the problems of the development cycles increasing and of the spiralling costs. Making the HW harder to use doesn't help matters. I guess it all depends on how good the development tools are in the first years before and after launch - usually these start out as "less than ideal".Entropy said:I have to say I'm a bit disappointed in the attitude of some programmers. I've seen science graduate students just buckle up and attack the problem of wringing optimal performance out of quite gnarly architectures.
Guden Oden said:Now, there's nothing wrong with the guy's intelligence, he's become immortal through programming techniques such as "Carmack's Reverse" and such, and is a veritable rocket scientist to boot, but the guy is LAZY.
a = strcmp(str1, str2);
_strcmp proc // return parameter in ah
pushad
lea esi, str1
lea edi, str2
loop_again:
inc esi
inc edi
mov al, byte ptr [esi]
mov ah, byte ptr [edi]
cmp al, ah
ja abov
jb belo
cmp al, '$'
jne loop_again
popad
xor ah, ah
ret
abov:
popad
mov ah, 1
ret
belo:
popad
mov ah, -1
ret
_strcmp endp
I want that on my wall.Simon F said:it's the old adage "You can lead a programmer to water but you really have to hold his head down for a long time."
That's not even really tedious yet Try writting inline asm quicksort once (especially with the moronic GCC intricts that don't allow register naming - it gets beyond painfull trying to read code using 32 registers named "%x" -_- ).It's also getting harder and harder even for skilled asm programmers to consistently beat the best C compilers. It's also extremely tedious. Compare this:
akira888 said:It's also getting harder and harder even for skilled asm programmers to consistently beat the best C compilers. It's also extremely tedious. Compare this:
Code:a = strcmp(str1, str2);
With this:
Code:_strcmp proc // return parameter in ah pushad lea esi, str1 lea edi, str2 loop_again: inc esi inc edi mov al, byte ptr [esi] mov ah, byte ptr [edi] cmp al, ah ja abov jb belo cmp al, '$' jne loop_again popad xor ah, ah ret abov: popad mov ah, 1 ret belo: popad mov ah, -1 ret _strcmp endp
The saddest aspect is that the string.h C function is probably a lot faster than mine. There's block string instructions on the x86, but they tend to inflexible.
Fafalada said:That's not even really tedious yet Try writting inline asm quicksort once (especially with the moronic GCC intricts that don't allow register naming - it gets beyond painfull trying to read code using 32 registers named "%x" -_- ).
switch(functionid){
1: r=a+b; break;
2: r=a-b; break;
3: rlong=(long)(a*b); break;
4: r=a/b; break;}
mov ax, functionid
cmp ax, 2
jae three_or_more
cmp ax, 2
je two_here
mov ax, a
add ax, b
mov r, ax
jmp endh
two_here:
mov ax, a
sub ax, b
mov r, ax
jmp endh
three_or_more:
cmp ax, 4
je four_here
mov ax, a
cwd
mul b
mov bx, dx
shl ebx, 16
mov bx, ax
mov r_long, ebx
jmp endh
four_here:
mov ax, a
cwd
div b
mov r, ax
endh:
....
Well, before you print it off, let me adjust it slightly...Dio said:I want that on my wall.Simon F said:it's the old adage "You can lead a programmer to water but you really have to hold his head down for a long time."
akira888 said:Yes, that was more of an example than anything.
I admit, I was being harsh, but only because I care. I actually prefer GCCs inline asm to all those I've used on wintel.beg your pardon, gcc's inline asm is far from moronic, as it actually works _with_ the cc optimiser/backend, rather than _against_ it (which is the case with the allmighty, "developer's dream" vc)
CELL is a product of an analog electrical engineer who is clueless about computer architecture and a computer hardware architect who doesn't give a shit about what programmers say.
akira888 said:Thus creating a whole new definition of "lazy."
It's also getting harder and harder even for skilled asm programmers to consistently beat the best C compilers. It's also extremely tedious.
Guden Oden said:I count to almost 50 processes of various types running in my own PC, and that does not include the number of sub-threads in each of those processes.
london-boy said:Guden Oden said:I count to almost 50 processes of various types running in my own PC
Then you need to start learning how to use a PC... Or don't complain about it j/k
Guden Oden said:london-boy said:Guden Oden said:I count to almost 50 processes of various types running in my own PC
Then you need to start learning how to use a PC... Or don't complain about it j/k
Haha! Well, actually I didn't complain, I just made an observation. And the reason there's so much running in my PC is I have lots of stuff connected to my PC (like 10 USB devices, all 5 PCI slots filled, utility programs etc - my systray typically has 14+ icons in it).
So, it's not that I don't know how to use a PC - I am actually a power user. I do need more RAM though - 512MB isn't enough these days. XP is really nice, but SUCH a RAM-hog.
Bjorn said:And then you have to take into consideration that he is one of the few that has actually supported multiple CPU's in his engines.
How many of them simultaneously use more than 0.1% of your CPU time?Guden Oden said:I count to almost 50 processes of various types running in my own PC, and that does not include the number of sub-threads in each of those processes. A console won't be bogged down with all that garbage.
JC, alone AFAIK amongst game developers, made an effort and did a reasonable job, getting a 20-40% speedup (on the aforementioned system) by a clever trick using the way the internals of the Q3 engine worked.Multiprocessing is the easiest way to reach massive performance without having to pay a massive amount of money, complaining that programming such systems won't be easy doesn't help because this change is going to HAPPEN wether any particular programmer wants it or not. Efforts are better spent researching different approaches that works in a multiprocessor environment.