All of lore.kernel.org
 help / color / mirror / Atom feed
From: Konrad Eisele <eiselekd@gmail.com>
To: Christopher Li <sparse@chrisli.org>
Cc: Josh Triplett <josh@joshtriplett.org>,
	Konrad Eisele <konrad@gaisler.com>,
	linux-sparse@vger.kernel.org
Subject: Re: dependency tee from c parser entities downto token
Date: Sat, 05 May 2012 10:56:17 +0200	[thread overview]
Message-ID: <4FA4EB31.5000607@gmail.com> (raw)
In-Reply-To: <CANeU7QkoHY_L9oQ4WuxPFUABwFznTfAMWMSRz7-Pe98dSiuiGQ@mail.gmail.com>

On 05/05/2012 12:30 AM, Christopher Li wrote:
> On Fri, May 4, 2012 at 1:53 PM, Konrad Eisele<eiselekd@gmail.com>  wrote:
>> make C=2:
>>
>> original sparse:
>> real    17m54.997s
>> user    15m25.181s
>> sys     2m11.281s
>>
>> decpp-sparse from "git clone git://git.code.sf.net/p/decpp/code decpp "
>> real    18m29.748s
>> user    16m18.155s
>> sys     2m13.221s
>>
>> But decpp is not written with performance in common cases in mind.
>> The 2 runs probably also depend on other factors too.
>> I cant think that 4 bytes extra for each token can have a big impact,
>> if I would implement it that way (it is not in decpp).
>
> The deal breaker is not able to free token list if other program using
> sparse don't need it. I believe that I have an alternative approach
> allow you do want you want while keeping the impact to sparse
> internal small. In my mind, that is straightly better than your
> current patch. I can share more details if you found a missing link.
>
>> I understand. Actually the code to demonstrate is
>> git://git.code.sf.net/p/decpp/code , then do a
>> $make
>> $./shrinkc t1.c
>> That is kind of the goal.
>> And - it does require some  internal structure
>> change. You dont get this kind of functionality
>> for free. You have to be invasive, isnt this
>> something that is obvious?. And in my view, it
>> can come with penalty. The preprocessing stage
>
> That doesn't mean that we should pay any penalty
> for it. Especially I believe there is better alternative
> approach to allow you do what you want and keep
> the API clean. You need to be a little patient here
> to understand my alternative suggestions. I did spend
> some time here to come up with the approach to make
> it works for you and keep myself happy about the internals.
>
> You dismiss the my suggestion too eagerly without
> considering how to make it work. You are pretty much saying,
> "Nah, this is not going to work, I am calling in the big hammers."
> You should at least consider it, point out where you think
> it doesn't work, so that I can provide addition details how
> to make it work. I did notice that I have some detail left out in
> my suggestions, mostly due to time constrain to write it up.
>
> Chris
>

I'm willing to learn, I'll implement your token<pos> scheme,
see the other mail just sent on that subject
-- Konrad



  parent reply	other threads:[~2012-05-05  8:52 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-04-24  9:54 dependency tee from c parser entities downto token Konrad Eisele
2012-04-25 20:10 ` [PATCH] depend.c: build up a dependency tree from c entities downto tokens: entries in the tree are: macro-depend: tree of #if nesting macro-expansions: possible macro expansion source of a token tok->macro-expansions->macro tok->macro-depend->macro c entities are linked in via [stmt|expr|sym]->start-end-token Konrad Eisele
2012-04-30 22:58 ` dependency tee from c parser entities downto token Christopher Li
2012-05-02  7:27   ` Konrad Eisele
2012-05-03 23:52     ` Christopher Li
2012-05-04  7:33       ` Konrad Eisele
2012-05-04  9:25         ` Christopher Li
2012-05-04 10:36           ` Konrad Eisele
2012-05-04 12:36             ` Konrad Eisele
2012-05-04 15:30               ` Josh Triplett
2012-05-04 20:53                 ` Konrad Eisele
2012-05-04 22:30                   ` Christopher Li
2012-05-05  0:32                     ` Josh Triplett
2012-05-05  8:59                       ` Konrad Eisele
2012-05-05  8:56                     ` Konrad Eisele [this message]
2012-05-04 18:02             ` Christopher Li
2012-05-04 21:46               ` Konrad Eisele
2012-05-04 21:56                 ` Konrad Eisele
2012-05-04 23:05                 ` Christopher Li
2012-05-05  8:54                   ` Konrad Eisele
2012-05-05 11:12                     ` Christopher Li
2012-05-05 16:59                       ` Konrad Eisele
     [not found]                         ` <CANeU7Qn7vUzLQAF6JGRECro_pPDnL7MCswkrNACe1wohLHZu7g@mail.gmail.com>
2012-05-05 19:56                           ` Fwd: " Christopher Li
2012-05-05 23:38                             ` Konrad Eisele
2012-05-06 18:34                               ` Christopher Li
2012-05-07  6:12                                 ` Konrad Eisele
2012-05-07 22:06                                   ` Christopher Li
2012-05-08  6:38                                     ` Konrad Eisele
2012-05-09  9:18                                       ` Christopher Li
2012-05-09  9:48                                         ` Konrad Eisele
2012-05-09 22:50                                           ` Christopher Li
2012-05-10  6:19                                             ` Konrad Eisele
2012-05-10  6:38                                               ` Konrad Eisele
2012-05-10  9:37                                                 ` Christopher Li
2012-05-10  9:51                                                   ` Konrad Eisele
2012-05-10 11:25                                                     ` Christopher Li
2012-05-10 12:14                                                       ` Konrad Eisele
2012-05-10 12:28                                                         ` Konrad Eisele
2012-05-11 19:40                                                           ` Christopher Li
2012-05-11 21:48                                                             ` Konrad Eisele
2012-05-12 11:02                                                               ` Christopher Li
2012-05-12 17:46                                                                 ` Konrad Eisele
2012-05-12 17:57                                                                   ` Konrad Eisele
2012-05-13  8:52                                                                   ` Konrad Eisele
2012-05-15  6:30                                                                     ` Christopher Li
2012-05-15  7:52                                                                       ` Konrad Eisele
2012-05-15  9:44                                                                         ` Christopher Li
2012-05-15 13:03                                                                           ` Konrad Eisele
2012-05-14 10:53                                                                   ` Christopher Li
2012-05-10  9:03                                               ` Christopher Li

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=4FA4EB31.5000607@gmail.com \
    --to=eiselekd@gmail.com \
    --cc=josh@joshtriplett.org \
    --cc=konrad@gaisler.com \
    --cc=linux-sparse@vger.kernel.org \
    --cc=sparse@chrisli.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.