NetCal / DNCext_MPARTC

MPA RTC Backend for the NetCal.org DNC
http://mpa.networkcalculus.org
GNU Lesser General Public License v2.1
3 stars 1 forks source link

Directly Wrap MPA RTC Curves for DNC Compliance #14

Open sbondorf opened 5 years ago

sbondorf commented 5 years ago

Current behavior:

In theory, this allows to create a DNC curve, yet, that is an option we never use. The calculator config does not change during runtime and therefore the DNC will always continue working with the MPA RTC backend. For that reason, MinPlus_MPARTC should directly create an instance of {Arrival,Service,MaxService}Curve_MPARTC_PwAffine that wraps the MPA RTC curve.

To achieve this, the classes {Arrival,Service,MaxService}Curve_MPARTC_PwAffine need to be extended by a {Arrival,Service,MaxService}Curve_MPARTC_PwAffine(ch.ethz.rtc.kernel.Curve curve) method each. It may be possible to just dispatch to another method creating a wrapper for curve.

sbondorf commented 5 years ago

Ok, the methods are actually there. @phschon already implemented them, I simply overlooked them.

This is great as it means I just have to change the return-curve constructions in MinPlus_MPARTC.

sbondorf commented 5 years ago

Implemented in commit cd2109e5b2a4d72d43a302030773ca3778720aeb

In two unrepresentative runs of the functional tests, this change resulted in an overall speedup between 10% and 20%.

sbondorf commented 4 years ago

There is more to do here, I am re-opening the issue.