All of lore.kernel.org
 help / color / mirror / Atom feed
From: P S <pairspace@gmail.com>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: James McKenzie <james.mckenzie@bromium.com>,
	Christopher Clark <christopher.w.clark@gmail.com>,
	robin.randhawa@arm.com, Wei Liu <wei.liu2@citrix.com>,
	Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>,
	Lars Kurth <lars.kurth.xen@gmail.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Marek Marczykowski <marmarek@invisiblethingslab.com>,
	George Dunlap <george.dunlap@citrix.com>,
	"Daniel P.Smith" <dpsmith.dev@gmail.com>,
	Daniel Smith <dpsmith@apertussolutions.com>,
	Paul Durrant <paul.durrant@citrix.com>,
	committers@xenproject.org, Jan Beulich <JBeulich@suse.com>,
	Stewart Hildebrand <Stewart.Hildebrand@dornerworks.com>,
	Jun Nakajima <jun.nakajima@intel.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: Enhancing Xen's Kconfig infrastructure to support tailored solutions
Date: Tue, 19 Feb 2019 16:05:43 -0500	[thread overview]
Message-ID: <91366EC9-9448-43CE-9D80-88401FB48B5B@gmail.com> (raw)
In-Reply-To: <alpine.DEB.2.10.1902191112060.5641@sstabellini-ThinkPad-X260>


[-- Attachment #1.1: Type: text/plain, Size: 3409 bytes --]

On Feb 19, 2019, at 14:13, Stefano Stabellini <sstabellini@kernel.org> wrote:
> 
>> On Mon, 18 Feb 2019, Lars Kurth wrote:
>>      On 18 Feb 2019, at 12:16, George Dunlap <george.dunlap@citrix.com> wrote:
>> 
>> On 2/18/19 12:11 PM, George Dunlap wrote:
>>      On 2/18/19 12:01 PM, Andrew Cooper wrote:
>>            On 18/02/2019 11:57, Wei Liu wrote:
>>                  On Mon, Feb 18, 2019 at 11:53:15AM +0000, Lars Kurth wrote:
>> 
>>                              On 18 Feb 2019, at 11:30, George Dunlap
>>                              <george.dunlap@citrix.com> wrote:
>> 
>>                              On 2/18/19 11:23 AM, Wei Liu wrote:
>>                                    On Mon, Feb 18, 2019 at 11:17:56AM +0000, Lars
>>                                    Kurth wrote:
>>                                          Thank you Wei. It's interesting though
>>                                          that the full vs HVM only is almost
>>                                          identical in terms of SLOC's
>>                                          Lars
>> 
>>                                    The cloc target counts the files in the dependency
>>                                    graph generated by
>>                                    make.
>> 
>>                        Do we know for sure that CLOC counts everything in a file or does it honour
>>                        the pre-processor settings?
>> 
>>                  We certainly don't feed any preprocessor defines to it. I doubt it
>>                  understand C to that level of details anyway.
>> 
>> 
>>            LoC isn't a fantastic metric under any circumstance.
>> 
>>            Bigger code is definitely better, if the reason it is bigger is because
>>            it is because it is formatted for readability/clarity etc.
>> 
>>            Attempting to optimise for smaller LoC, other than making entire
>>            functional areas optional, is usually short sighted.
>> 
>> 
>>      For instance, we could probably decrease the LoC by nearly 20k by
>>      changing the style not to give the opening bracket its own line:
>> 
>>      $ find . -name '*.c' | xargs grep '^[[:space:]]*{' | wc -l
>>      19896
>>      $ find . -name '*.[ch]' | xargs grep '^[[:space:]]*{' | wc -l
>>      21847
>> 
>> 
>> This is hypervisor only BTW (run from xen.git/xen).
>> 
>> It is a bit mind-boggling to think that there are more open brackets in
>> the Xen code base than there is PV-specific code. O_o
>> 
>> 
>> As we have the same coding conventions across hypervisor code, that shouldn't make a difference
> 
> This is amazing, in a terrible kind of way: all our numbers will be
> inflated by 20K!! For Xen on Arm is almost 50%! I am half-thinking we
> should add xargs grep '^[[:space:]]*{' to the make cloc target.

UCC (Unified Code Count) [1] can measure/diff logical SLOC for several languages.

Rich

[1] Papers 
http://csse.usc.edu/TECHRPTS/2007/usc-csse-2007-737/usc-csse-2007-737.pdf
http://csse.usc.edu/csse/event/2012/COCOMO/presentations/TOR-2010(3906)-72_Library.pdf
http://www.nguyenvvu.net/wp-content/uploads/2015/07/UCC_Tool_Description.pdf

[2] Source
http://csse.usc.edu/ucc_new/wordpress/2018/07/26/ucc-version-2018-07/

[3] Build
g++ ./src/*.cpp -o UCC -std=c++0x -DUNIX -O3

[4] Run
UCC -dir xen *.c -outdir report


[-- Attachment #1.2: Type: text/html, Size: 10453 bytes --]

[-- Attachment #2: Type: text/plain, Size: 157 bytes --]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

  reply	other threads:[~2019-02-19 21:05 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-02-13  2:34 Enhancing Xen's Kconfig infrastructure to support tailored solutions Daniel P. Smith
2019-02-13 11:13 ` Jan Beulich
2019-02-13 18:25 ` Wei Liu
2019-02-13 19:11   ` Stefano Stabellini
2019-02-14  9:53     ` Jan Beulich
2019-02-14 18:32       ` Stefano Stabellini
2019-02-14 18:57         ` Andrew Cooper
2019-02-15  8:43           ` Jan Beulich
2019-02-14 21:03         ` Lars Kurth
2019-02-15 11:08           ` Wei Liu
2019-02-15 19:08             ` Stefano Stabellini
2019-02-18 11:12               ` Wei Liu
2019-02-18 11:17                 ` Lars Kurth
2019-02-18 11:23                   ` Wei Liu
2019-02-18 11:30                     ` George Dunlap
2019-02-18 11:53                       ` Lars Kurth
2019-02-18 11:57                         ` Wei Liu
2019-02-18 12:00                           ` Lars Kurth
2019-02-18 12:01                           ` Andrew Cooper
2019-02-18 12:11                             ` Lars Kurth
2019-02-18 12:11                             ` George Dunlap
2019-02-18 12:16                               ` George Dunlap
2019-02-18 12:54                                 ` Lars Kurth
2019-02-19 19:13                                   ` Stefano Stabellini
2019-02-19 21:05                                     ` P S [this message]
2019-02-15  8:52         ` Jan Beulich
2019-02-15 17:27           ` Stefano Stabellini
2019-02-15 10:58         ` Wei Liu
2019-02-14 18:52       ` Andrew Cooper
2019-02-15  9:35     ` George Dunlap
2019-02-15 11:10       ` Lars Kurth
2019-02-15 17:36       ` Stefano Stabellini
2019-02-15 17:55         ` George Dunlap
2019-02-15 18:27           ` Stefano Stabellini
2019-02-24 14:52       ` Daniel P. Smith

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=91366EC9-9448-43CE-9D80-88401FB48B5B@gmail.com \
    --to=pairspace@gmail.com \
    --cc=JBeulich@suse.com \
    --cc=Stewart.Hildebrand@dornerworks.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=cardoe@cardoe.com \
    --cc=christopher.w.clark@gmail.com \
    --cc=committers@xenproject.org \
    --cc=dpsmith.dev@gmail.com \
    --cc=dpsmith@apertussolutions.com \
    --cc=george.dunlap@citrix.com \
    --cc=james.mckenzie@bromium.com \
    --cc=jun.nakajima@intel.com \
    --cc=lars.kurth.xen@gmail.com \
    --cc=marmarek@invisiblethingslab.com \
    --cc=paul.durrant@citrix.com \
    --cc=robin.randhawa@arm.com \
    --cc=sstabellini@kernel.org \
    --cc=suravee.suthikulpanit@amd.com \
    --cc=wei.liu2@citrix.com \
    --cc=xen-devel@lists.xen.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.