<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Even if it is empty string there will be performance downgrade in case
if strlen not inline function.<br>
<br>
because when call will be issued, CPU will flush internal pipeline and
then will try get if from<br>
cache. If it's not already in L1 cache it will be cache miss, and it
will try to get it from L2 cache,<br>
or even from memory, and that will be really slow. In this case you can
easily lost few<br>
tens of thousands on CPU cycles.<br>
<br>
All the Best!<br>
Sergey.<br>
<br>
<br>
joachim wrote:
<blockquote cite="mid41EE6D7E.6080306@securax.org" type="cite">If its a
0x00 it will stop yes, but if its not, it will continue, while
  <br>
its not necessary as we already know the string is not zero length.
  <br>
  <br>
Which would mean that if the stringlength = 0, there will be no waste
of
  <br>
cpu cycles, if its 1 char or more, it will waste cpu cycles.
  <br>
  <br>
If the string is 255 chars, it will use up around 255 times more cpu
  <br>
cycles if you use the strlen.
  <br>
  <br>
  <br>
Zoa.
  <br>
  <br>
  <br>
Andrew Kohlsmith wrote:
  <br>
  <br>
  <blockquote type="cite">On January 19, 2005 07:45 am, Jerris, Michael
MI wrote:
    <br>
    <br>
    <br>
    <blockquote type="cite">It would probably be more efficient to
check just the first char of the
      <br>
string to see if it is 0 than to loop through the whole string to see
if
      <br>
it is &gt; 0 length.
      <br>
      <br>
      <br>
    </blockquote>
    <br>
But would strlen()'s loop not terminate on the first 0x00 char??&nbsp; I
mean a
    <br>
couple dozen cycles here is not something a user's gonna notice, even
in a
    <br>
tight loop that is processing strings for Asterisk.
    <br>
    <br>
Personally I feel this whole ast_strlen_zero macro (it better be a
macro or at
    <br>
least inline function!) is poor optimization -- does Asterisk really
spend so
    <br>
much time in strlen() that it was necessary?
    <br>
    <br>
-A.
    <br>
_______________________________________________
    <br>
Asterisk-Dev mailing list
    <br>
<a class="moz-txt-link-abbreviated" href="mailto:Asterisk-Dev@lists.digium.com">Asterisk-Dev@lists.digium.com</a>
    <br>
<a class="moz-txt-link-freetext" href="http://lists.digium.com/mailman/listinfo/asterisk-dev">http://lists.digium.com/mailman/listinfo/asterisk-dev</a>
    <br>
To UNSUBSCRIBE or update options visit:
    <br>
&nbsp; <a class="moz-txt-link-freetext" href="http://lists.digium.com/mailman/listinfo/asterisk-dev">http://lists.digium.com/mailman/listinfo/asterisk-dev</a>
    <br>
    <br>
    <br>
  </blockquote>
  <br>
  <pre wrap="">
<hr size="4" width="90%">
_______________________________________________
Asterisk-Dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Asterisk-Dev@lists.digium.com">Asterisk-Dev@lists.digium.com</a>
<a class="moz-txt-link-freetext" href="http://lists.digium.com/mailman/listinfo/asterisk-dev">http://lists.digium.com/mailman/listinfo/asterisk-dev</a>
To UNSUBSCRIBE or update options visit:
   <a class="moz-txt-link-freetext" href="http://lists.digium.com/mailman/listinfo/asterisk-dev">http://lists.digium.com/mailman/listinfo/asterisk-dev</a></pre>
</blockquote>
<br>
</body>
</html>