Yes, you are right: function version is still 20Bytes bigger than macro 
version. Do you have a better solution to fix this problem?

> -----Original Message-----
> From: David Sidrane <david.sidr...@nscdg.com>
> Sent: Friday, July 31, 2020 6:29 PM
> To: dev@nuttx.apache.org
> Subject: RE: [GitHub] [incubator-nuttx] xiaoxiang781216 commented on a change 
> in pull request #1487: libc: Avoid ctype function to
> evaluate the argument more than once
> 
> > The normal function size is smaller than macro version.
> 
> The comment and data seem to be in conflict.
> 
> master:43255 is less than 'normal function':43275
> 
> Am I missing something?
> 
> -----Original Message-----
> From: Xiang Xiao [mailto:xiaoxiang781...@gmail.com]
> Sent: Friday, July 31, 2020 3:19 AM
> To: dev@nuttx.apache.org
> Subject: RE: [GitHub] [incubator-nuttx] xiaoxiang781216 commented on a change 
> in pull request #1487: libc: Avoid ctype function to
> evaluate the argument more than once
> 
> Here is the size report for stm32f103-minimum:nsh:
> The master:
>    text    data     bss     dec     hex filename
>   43255     108    2196   45559    b1f7 nuttx
> With lookup table
> patch(https://github.com/apache/incubator-nuttx/pull/1487):
>    text    data     bss     dec     hex filename
>   43567     108    2196   45871    b32f nuttx
> With normal function
> patch(https://github.com/apache/incubator-nuttx/pull/1496):
>    text    data     bss     dec     hex filename
>   43275     108    2196   45579    b20b nuttx
> The normal function size is smaller than macro version.
> 
> > -----Original Message-----
> > From: Xiang Xiao <xiaoxiang781...@gmail.com>
> > Sent: Friday, July 31, 2020 4:08 PM
> > To: dev@nuttx.apache.org
> > Subject: RE: [GitHub] [incubator-nuttx] xiaoxiang781216 commented on a
> > change in pull request #1487: libc: Avoid ctype function to evaluate
> > the argument more than once
> >
> > Let's restart the problem: it's definitely a bug that ctype macros
> > evaluate it's argument more than once. If the code size is more
> > important than the speed, let's change all macros to normal function
> > that we get the correction behavior and save the code size at the same
> > time.
> >
> > > -----Original Message-----
> > > From: David Sidrane <david.sidr...@nscdg.com>
> > > Sent: Friday, July 31, 2020 7:32 AM
> > > To: dev@nuttx.apache.org
> > > Subject: RE: [GitHub] [incubator-nuttx] xiaoxiang781216 commented on
> > > a change in pull request #1487: libc: Avoid ctype function to
> > > evaluate the argument more than once
> > >
> > > > Is this something we should be concerned about?
> > >
> > >
> > > Sorry if that came off wrong. I was agreeing with Greg's with the
> > > former statement.  Not the latter one.
> > >
> > > David
> > >
> > > -----Original Message-----
> > > From: Brennan Ashton [mailto:bash...@brennanashton.com]
> > > Sent: Thursday, July 30, 2020 12:57 PM
> > > To: dev@nuttx.apache.org
> > > Subject: Re: [GitHub] [incubator-nuttx] xiaoxiang781216 commented on
> > > a change in pull request #1487: libc: Avoid ctype function to
> > > evaluate the argument more than once
> > >
> > > On Thu, Jul 30, 2020, 12:40 PM David Sidrane
> > > <david.sidr...@nscdg.com>
> > > wrote:
> > >
> > > > -1 on more bloat
> > > >
> > >
> > > That is not a constructive vote. No one thinks we should have more
> > > bloat.
> > >
> > > The question is do we need to focus more on this. Some of the
> > > changes are due to shortcuts we have taken in the past that are now
> > > causing issues. The PR that spurred this is exactly this. The code
> > > as it exists is wrong in that it has unexpected side effects which
> > > is what Xiao
> > is trying to address.
> > >
> > > I will acknowledge that there have been other changes where it was
> > > more of a complexity trade-off.  Even on those there was discussion
> > > about the impact.
> > >
> > >
> > > > It is a simple matter to see the cost of a PR if we add bloaty
> > > > (https://github.com/google/bloaty) to ci.
> > > >
> > >
> > > Great please file the simple PR to add it. This is not trivial as we
> > > need to manage the artifacts from previous builds to do the
> > > comparison or double the build time. We heard you last time, but
> > someone has to do to the actual work.
> > >
> > > --Brennan

Reply via email to