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