I skimmed over it and it is wishful thinking.
How can I engineer a system (besides using good algorithms instead of sloppy one) to consume less energy, if
we do not know what means energy aware:
At then this is what?
- Number of instructions executed, the least the better?
- What about missed caches?
- What about missed instruction pipelining?
For example on your mac when you unplug the cable you have a different card setup because the videos
card can consume more. So we can degrade certain operation.
But how to measure this seriously.
Is this something that could be of interest to Inria or the Pharo project?
It depends how money is put on the table. :)
What do you mean exactly with your last comment? I think that when distinctions in a domain are successfully made explicit at design time, this will improve performance at runtime and thus should also improve energy efficiency. How does that relate to your comment about message passing/branching/polymorphism?
To me I���m sorry but I do not buy without serious measurement that
" distinctions in a domain are successfully made explicit at design time, this will improve performance at runtime ���
Let us play the scientific here for a moment: do you have data? did you measure it? what are you biais in your measurement/experiment.
Now to reply to your question in OORP we promote that
case statement were bad that we it is better to use message passing.
Except that in some domains in some specific circumstances have case statement is faster.
Similarly they are domains where GC is a problem.
Kind regards,
Jonathan van Alteren
Founding Member | Object Guild B.V.
Sustainable Software for Purpose-Driven Organizations
jvalteren@objectguild.com
On 13 Oct 2020, 16:49 +0200, St��phane Ducasse <
stephane.ducasse@inria.fr>, wrote:
Hi St��phane,
Thanks for your feedback. I agree that the usefulness of these results is limited. However, if we (Object Guild) want to make a case for energy efficiency, it can help if the language itself can be shown to be efficient as well.
I do not know what is energy efficient nor how it is measurable.
Now our objectives is that pharo does not burn the batteries when doing nothing and we start to have that with the headless and idle vm.
For now, I think the efficiency will need to come from a good object design.
this would presume that message passing is faster than branching.
And I remember that we had argument with hardware people about our reengineering pattern
on condition to polymorphism
Kind regards,
Jonathan van Alteren
Founding Member | Object Guild B.V.
Sustainable Software for Purpose-Driven Organizations