SI
SI
discoversearch

We've detected that you're using an ad content blocking browser plug-in or feature. Ads provide a critical source of revenue to the continued operation of Silicon Investor.  We ask that you disable ad blocking while on Silicon Investor in the best interests of our community.  If you are not using an ad blocker but are still receiving this message, make sure your browser's tracking protection is set to the 'standard' level.
Technology Stocks : Intel Corporation (INTC) -- Ignore unavailable to you. Want to Upgrade?


To: Joe NYC who wrote (108345)8/25/2000 2:34:44 PM
From: Tenchusatsu  Read Replies (1) | Respond to of 186894
 
Joe, I'm pretty sure the compiler guys, both IA-32 and IA-64, know their stuff when it comes to the challenges of C++ and OO programming. In any case, I would imagine that optimization would include inlining of simplistic functions and streamlining of late-binding function calls (such as those labeled "virtual"). Then the blocks which can be optimized will become larger and more manageable.

At least Itanium has a way to improve upon function calls and minimizing "spill-n-fill" of the register file. Itanium supports a register window and a background register save mechanism, so the processor won't have to worry about copying some (if not all) of the registers to memory before jumping to a function. This works even for recursive function calls.

Tenchusatsu



To: Joe NYC who wrote (108345)8/25/2000 2:57:12 PM
From: EricRR  Respond to of 186894
 
In addition, the code may not know ahead of time what type of object it may be dealing with, resulting in calling entirely different of methods of they type of the object changes. I am not what the performance implications would be on different type of processors (Athlon/P3 vs. P4 vs. Itanium.

VB and Java are not purely interpreted languages. They are a hybrid, with VB moving more to the compiled category.


VB is purely interprited on web servers, (VB script in ASP), and JSP is a scripting launguage which also uses JAVA "beans" (components).

This type of code I call polymorphic, because, as you say, the CPU never knows at compile time what functions are going to be called. They also tend to be full of conditional branches which are rarely called more than once.

If the answer is that the chip badly needs a special compiler to run at full potential, then the question is how will the chip perform on code that is never really compiled (organized) until runtime.