Re: String comparison for fixed strings

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Thanks everyone! :-)

On 17/08/07, Per Jessen <per@xxxxxxxxxxxx> wrote:
> Glynn Clements wrote:
>
> > In particular, branch instructions are dealt with by dedicated logic
> > circuitry which does nothing but process branch instructions. This
> > enables speculative execution to work handle branches even when the
> > calculation of the branch condition hasn't completed.
>
> Yep, I understand all that - it doesn't even have to be a particularly
> modern CPU, even IBMs S390 architecture did this in the early '90s.
> Speculative execution and branch prediction etc. have both been around
> for a while, just not in the Intel world.
>
> Regardless, I still wouldn't say "branches don't normally take any CPU
> cycles", but maybe that's splitting hairs.
>
> > The actual cost of a code cache miss varies depending upon the
> > relative speed of the CPU and RAM, but 400 cycles is typical. You
> > would need to have a lot of additional instructions before their cost
> > outweighs that of a cache miss.
>
> Very true, but given the size of L1 cache these days, you also have a
> lot more leeway than you did e.g. in the 90s.  A typical memcmp() for
> short strings is unrolled by default by gcc.  (at least I'm fairly
> certain it does that).
>
>
> /Per
> -
> To unsubscribe from this list: send the line "unsubscribe linux-c-programming" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>
-
To unsubscribe from this list: send the line "unsubscribe linux-c-programming" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Assembler]     [Git]     [Kernel List]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [C Programming]     [Yosemite Campsites]     [Yosemite News]     [GCC Help]

  Powered by Linux