3 ms·
I am not yet entirely sure what the compiler does and how one could actually use it. Would it make sense to recompile source code, even third party source code,
by dageroth 17y ago
I am not yet entirely sure what the compiler does and how one could actually use it. Would it make sense to recompile source code, even third party source code, that is used on a multicore webserver using this compiler in order to gain some performance improvements?
- mgreenbe 17y agoIs your multicore webserver embedded? If not, I'm not sure this is for you. The embedded processor chip in mobile phones is small and not very powerful, so machine learning is more applicable to use in these devices in order to make the chip more energy efficient and powerful. (http://www.milepost.eu/resources.html) More explanation is available here: http://ctuning.org/wiki/index.php/CTools:MilepostFramework http://ctuning.org/wiki/index.php/CTools:MilepostFramework. The chart should give you a basic idea of their architecture: they dynamically instrument runs of your programs under different optimization to find optimal settings for your release build.
- dageroth 17y agoyes, I read that, but wouldn't the same approach make sense for non-embedded processors? Or are the usual compilers already so good that there is not much to be gained by intelliently optimising the compiling process? What stroke me was the phrase "more applicable to", I thought this might mean: "but it works also on other processors...somewhat". I have not much idea about how the compiler actually works, or why the compilers for embedded processors are so bad that just these need this kind of optimisation while others do not. I guess I'll have to read through the stuff to find out...
- wlievens 17y agoCompilers for embedded processors aren't bad at all. But architectures vary heavily, and the subject of this article is a system that tunes optimizations automatically, instead of having engineers tune the optimizations themselves. Also, note that for embedded systems low-level performance is typically a more important concern than for non-embedded systems. You typically don't care whether a function in your web or desktop application ends up getting inlined or not. It can make a significant difference in an embedded system.