Re: Linking Problem




In article <Xns9662B232731C1rws0203comcastnet@xxxxxxxxxxxxxx>, Russell <rws0203nospam@xxxxxxxxxxx> writes:
>
> If you did try to get by with compiling to an INT on one system, and
> running on another, note that INT's are quite slow.

A rule of thumb used by some people who study performance is that on
contemporary general-purpose processors, the worst case for micro-
interpreted code (such as MF COBOL INT code, Java bytecode, UCSD P-
System, etc) is about an order of magnitude performance hit. That
would be for CPU-bound code with a broad instruction spectrum, and
is due largely to cache penalties incurred by having to perform a
table lookup for each byte.

In practice, the actual performance cost for CPU-bound code is
typically significantly smaller (because the instruction spectrum of
typical code is smaller, CPU-bound code is often running in tight
loops that are cache-friendly, interpreted code isn't often used for
processing huge data sets that might stress the data cache, etc).
It's more likely to be a factor of 3-5.

With MF COBOL you have the option of compiling to INT, moving the INT
to your target platform, testing it there, and then compiling it to
native code, of course. This recompile-portable-form-to-native-form
approach is similar to what the OSF was trying to do with ANDF - a
good idea that never really got off the ground. JIT compilation is
flashier, but all-at-once recompilation is a lot more efficient.

--
Michael Wojcik michael.wojcik@xxxxxxxxxxxxxx

Even though there may be some misguided critics of what we're trying
to do, I think we're on the wrong path. -- Reagan
.



Relevant Pages

  • Re: Explain this
    ... At least in C and C++, the fact that we're assigning a char to x ... and C++ in a different way: in C, a character literal has type int, ... compiling it as C++ would assign to the global. ... but a language that was considerably different ...
    (comp.lang.cpp)
  • Re: problem with cast and unions
    ... my aim is to make a library compiling with suncc. ... The part where there is that problem is about conversion from a C float ... to a Small "cell" (actually an int). ... contain a valid representation of an 'int'. ...
    (comp.lang.c)
  • Re: KSE was Re: open/close/ioctl api change?
    ... iscsi_open(struct cdev *dev, int flags, int otype, struct thread *td) ... found the problem, 'option KSE' which is defined now in DEFAULTS, ... I'm compiling outside the source tree. ...
    (freebsd-current)
  • Re: KSE was Re: open/close/ioctl api change?
    ... iscsi_open(struct cdev *dev, int flags, int otype, struct thread *td) ... found the problem, 'option KSE' which is defined now in DEFAULTS, ... I'm compiling outside the source tree. ...
    (freebsd-hackers)
  • Re: jail extensions
    ... and disable module compiling when module don`t marked jail ... for each jail, but in order to make this continue to work in the existing system, they still need to ... static int yy; ... struct a { ...
    (freebsd-arch)