[Prev][Next][Index][Thread]

Re: Are there any .NET possibilities/implications for Dylan/Functional Developer?




Roland Paterson-Jones wrote in message
<9heq89$3soe$1@sp15at20.hursley.ibm.com>...
>
>"Andreas Bogk" <andreas@andreas.org> wrote in message
>87sngodyl2.fsf@teonanacatl.andreas.org">news:87sngodyl2.fsf@teonanacatl.andreas.org...
>> kachina@gte.net (Kachina) writes:
>>
>> .NET on servers is as stupid as Java Bytecode on servers. On a server
>> I don't need portable binaries, I need fast, small and efficient
>> binaries. That means native.
>
>JIT compilers take care of this. Note that start-up time on servers is
>irrelevant.


When you use a JIT compiler, you have to write code generators
for all the machines you plan to run the JIT on.  I think the jury is still
out on whether JIT compilers can do as good a job as traditional
compilers.  I say that the "jury is out" because there are many very
subtle trade-offs, including but not limited to:
 - How much information does the JIT compiler have?  For Java,
   the answer is "not nearly enough" because Java byte codes
   throw away valuable information, such as type information or
   inlinability information.
 - How much time does the JIT compiler have?  The more time
   you have, the better you can do, but the longer a client has to
   wait.

I think that a JIT scheme that acts more like profile-directed
optimization might turn out to be very good.  You start with a
traditional compiler that does a passably good job.  Maybe it
generates native code, maybe not, but the important thing is
that it does not discard information.  The JIT can then spend
its time doing a better job.






References: