Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>Theoretically speaking, yes, a JIT can be made for C++. It could take advantage of some things in the underlying architecture to aggressively optimize the code. It would also come with the downside of making the application take longer to load at runtime.</p> <blockquote> <p>Ofcourse, there would be no garbage collection and therefore the overhead due to it, but the optimization factor would be there. Has anyone worked on this. Are there any papers, tools on this? How good will this approach be?</p> </blockquote> <p>Big misconception here. Imposing GC across the board for every user-defined type is major overhead. It's one of the reasons Android, iOS, and Windows mobile have all turned to C/C++ for high-performance applications in spite of starting off trying to use only managed VMs initially.</p> <p>Of course the additional level of indirection means the GC is free to do things like compact memory, but an optimized C/C++ program would already be working with compacted memory from the beginning. It would also mean the memory is more fragmented initially, which is a performance killer for the kind of high-performance applications that C++ is good at (one's that deal with large, contiguous buffers, e.g., like video processing, ray tracing, or audio processing).</p> <p>Also turning every UDT instance into a reference means that everything is on the heap, which is effectively turning operations that are originally a few clock cycles into hundreds.</p> <p>That said, to get to the heart of your question, sure, C++ code can be built using JIT, but you may find that there aren't really such compelling reasons to do so given things like the static nature in which people generally work with C++ code.</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload