Re:Four more carmakers join diesel emissions row
by kazinator on Sunday October 11, 2015 @02:34AM
(#10368313)
The similarity is that optimization is taking place, and cheating is possible by recognizing a test situation, in order to "game" the test. Compilers can "game" benchmarks by recognizing them specifically and supplying hand-crafted code. The cases which do this have no applicability to non-benchmark code. Just like recognizing that an emissions test is taking place and behaving optimally for that test has no applicability to real driving.
You cannot compare that at all.
With engine simulation and control you have real-time loops, with the biggest problem being the latency. You reduce latency by getting better HW, better sensors, shorter distances, a better SW driver architecture. You don't optimize by finding patterns or counting occurrences at all, esp. not at run-time. You always have to be prepared for the worst case. Plus you always have HW + SW combined. Any major important SW feature is always doubled in HW for security. It's a different world.
With compilers there's no real-time trouble (GC's, ha!), mostly no loops, no worry about HW, cables, sensors or drivers. It's pure abstraction. With JIT compilers it's a bit different, mostly a tradeoff memory + optimization overhead vs speed. More measurements and dynamic decisions. But jit optimization in engine control? Nah. And there's never a HW cross check. Signals, interrupts may arrive or get lost. The machine will not hard reset and reboot if a signal gets lost. It does so in a car or in space or other industrial control environments.