We've had discussions recently on making code CPU efficient, or space efficient, or "programmer efficient". This is a new one on me. Making it "energy efficient". Wish somebody would port LLVM to z/OS. LLVM is low level virtual machine. It is a pseudo assembler code which is compiled into machine code. The curious part is that the same "assembler" code can compile into machine code for different ISAs, but produce the same results. That's what makes it a "virtual machine". More like a virtual ISA.
http://www.phoronix.com/scan.php?page=news_item&px=MTM1MzE <quote> Making A Code Compiler Energy-AwarePosted by Michael Larabel on April 16, 2013 There's a discussion on the LLVM development mailing list about making the compiler become energy-aware to provide an optimization level that would provide the most power-efficient binaries. However, it isn't clear whether this would make sense over simply trying to assemble the fastest binary. While an "-Oe" optimization level that would optimize for energy-efficient performance over the optimization levels for performance, debugability, or binary size, it wouldn't necessarily entail much and hasn't gained the interest of core upstream compiler developers. For commodity hardware, most compiler research indicates that the most energy-efficient binary is simply the fastest. The faster the work finishes, the quicker the processor can drop to one of its low-power states. Three years ago there was a -Oe optimization proposal<http://llvm.org/bugs/show_bug.cgi?id=6210>, which ended up getting quickly marked as invalid with LLVM's founder, Chris Lattner, reaffirming "faster = lower power" on mainstream CPUs. While this older bug report was pointed out in the discussion, some have brought up possibilities of ways to lower memory use in an energy-efficient mode since on some hardware (especially ARM SoCs), RAM use can be a power-hungry operation over simply re-generating the values, among other approaches. In this discussion, it was brought up that some researchers are working on some energy-efficiency improvements as part of the ENTRA Project<http://entraproject.eu/>. ENTRA is a three-year research project (October 2012 - 2015) funded by the European Union to promote energy-aware software development through "advanced program analysis and modelling of energy consumption" within systems. No fruits of this work have yet to be produced. Those wishing to read the full mailing list discussion can do so beginning with this message<http://lists.cs.uiuc.edu/pipermail/llvmdev/2013-April/061185.html> . </quote> -- This is a test of the Emergency Broadcast System. If this had been an actual emergency, do you really think we'd stick around to tell you? Maranatha! <>< John McKown
