Hi David,

LOC is just one metric and is not a perfect one, of cause. And it differs by
the language a controller supports. It would as useful as, and as useless
as, I/O benchmarking.
As you pointed out, one can reduce LOC by defining application specific
APIs, but it could result in tons of APIs in the long run and that would
spoil maintenanceability of the controller.
If controller A and B has the same level of API sets and if you need twice
LOCs for controller A in writing typical applications like learning switch,
then LOC can say something in this case.
Well, it's really difficult to measure a controller. It might be good to
read sample codes of these controllers, but it is difficult to share with
others...

HIDE



> -----Original Message-----
> From: David Erickson [mailto:deric...@stanford.edu]
> Sent: Tuesday, February 14, 2012 3:27 AM
> To: HIDEyuki Shimonishi
> Cc: openflow-disc...@mailman.stanford.edu
> Subject: Re: [openflow-discuss] [trema-dev] Testing trema apps with an
> external CBENCH TOOL
> 
> On 2/13/2012 4:21 AM, HIDEyuki Shimonishi wrote:
> >> company for all the effort), but IMHO most developers will probably
> >> want to choose a controller based on ease of use, documentation, and
> >> preferred language -- all of which are very subjective.
> >   ...
> >
> > One simple method to QUANTITATIVELY compare the productivity of
> controllers
> > would be comparing line counts needed for typical operations, functions,
> or
> > applications.
> > For example, many controllers provide simple learning switch functions
> as
> > their sample code, so we can count the lines of codes for this function
> > among different controllers.
> >
> >
> 
> Hi Hide-
> Personally I don't find LOC very enlightening other than as a possible
> warning sign if the size is vastly larger than other software with
> similar functionality.  One can relatively easily decrease LOC for some
> app by abstracting away functionality that app needs into a few function
> calls behind the controller's API, but it doesn't say much about what
> happens when someone writes a different app that needs to do things that
> aren't available behind those few minimized function calls.  If LOC were
> a driving motivator we would probably all be writing 1 line applications
> written in Perl, which I don't think anyone wants.
> 
> -D

_______________________________________________
openflow-discuss mailing list
openflow-discuss@lists.stanford.edu
https://mailman.stanford.edu/mailman/listinfo/openflow-discuss

Reply via email to