<html>
  <head>
    <meta content="text/html; charset=koi8-r" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Коллеги , а что вы не юзаете тот же интеловский компилятор, он то
    именно на такой синтетики должен давать максимальные результаты.<br>
    <br>
    <div class="moz-cite-prefix">On 02/10/2015 04:33 PM, Andrey
      Kovbovich wrote:<br>
    </div>
    <blockquote
cite="mid:CAPTWO-aHEGN3BMryCQT8ppdyD+dNXC-LE1RhA7_Q2Oe8hwjD7g@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div><br>
        </div>
        Потестил на более менее современной тачке... вариант Монса у
        меня сегфолтится почему-то, прогнал слегка модифицированный из
        пред комментов<br>
        <br>
        <div>#include <stdio.h></div>
        <div>#include <time.h></div>
        <div>#include <stdlib.h></div>
        <div>#include <stdint.h></div>
        <div>#include <inttypes.h></div>
        <div><br>
        </div>
        <div>int main()</div>
        <div>{</div>
        <div>        uint32_t *arr;</div>
        <div>        arr  = (uint32_t *) malloc(10000000 *
          sizeof(uint32_t));</div>
        <div><br>
        </div>
        <div>        int i,z;</div>
        <div>        for( i=0; i<10000000; i++) {</div>
        <div>                arr[i] = i;</div>
        <div>        }</div>
        <div><br>
        </div>
        <div>        clock_t start = clock();</div>
        <div>        uint64_t sum;</div>
        <div><br>
        </div>
        <div>        for(z = 0; z < 100; z++ ){</div>
        <div>            sum = 0;</div>
        <div>            for( i=0; i<10000000; i++) {</div>
        <div>                            sum+=arr[i];</div>
        <div>            }</div>
        <div>        }</div>
        <div><br>
        </div>
        <div>        clock_t end = clock();</div>
        <div>        printf("Time:(%0.8f)ms . Sum: %" PRIu64,
          ((double)end-start)*1000/CLOCKS_PER_SEC/z, sum);</div>
        <div><br>
        </div>
        <div>        return 0;</div>
        <div>}</div>
        <div><br>
        </div>
        <div>$ cat /proc/cpuinfo<br>
        </div>
        <div>model name<span style="white-space:pre-wrap"> </span>:
          Intel(R) Core(TM) i7 CPU       X 980  @ 3.33GHz<br>
        </div>
        <div><br>
        </div>
        <div>$ gcc --std=c99 -O3 -march=native 3.c -o 3.native<br>
        </div>
        <div>$ ./3.native<br>
        </div>
        <div>Time:(5.20000000)ms . Sum: 49999995000000$<br>
        </div>
        <div><br>
        </div>
        <div><br>
        </div>
        <div>еще раз на скриптовом J</div>
        <div><br>
        </div>
        <div>
          <div>$ ./jconsole.sh</div>
          <div>   x =: i.10000000</div>
          <div>   6!:2 's =: +/x'</div>
          <div>0.009537</div>
          <div>   s</div>
          <div>49999995000000</div>
        </div>
        <div><br>
        </div>
        <div class="gmail_extra">9+ ms</div>
        <div class="gmail_extra"><br>
          <div class="gmail_quote">10 февраля 2015 г., 14:48
            пользователь Анатолий Гришаев <span dir="ltr"><<a
                moz-do-not-send="true" href="mailto:0body0@rambler.ru"
                target="_blank">0body0@rambler.ru</a>></span>
            написал:<br>
            <blockquote class="gmail_quote" style="margin:0px 0px 0px
0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">10.02.2015
              14:36, Михаил Монашёв пишет:<span><br>
                <blockquote class="gmail_quote" style="margin:0px 0px
                  0px
0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Здравствуйте,
                  Анатолий.<br>
                  <br>
                  <blockquote class="gmail_quote" style="margin:0px 0px
                    0px
0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Кстати 
                    лучше  считать  с  нуля  тогда  процесор  может
                    использовать<br>
                    prefetch<br>
                  </blockquote>
                  Ещё  в  С  можно  как-то задать выравнивание массива.
                  Не знаю, правда,<br>
                  поможет ли это, но мне кажется, что всё упирается в
                  скорость чтения из<br>
                  памяти. Ещё возможно попытаться задать выравнивание
                  для тела цикла.<br>
                  <br>
                </blockquote>
              </span>
              В POSIX написано, что результат вызова malloc всегда
              выровнен, а всякие массивы объявленные статично компилятор
              выравнивает.<br>
              Можно поэтому не волноваться :)<br>
              Конечно, если ты сам адрес массива не посчитаешь/укажешь
              типа 0x...7f.
              <div>
                <div><br>
                  <br>
                  -- <br>
                  Moscow.pm mailing list<br>
                  <a moz-do-not-send="true"
                    href="mailto:moscow-pm@pm.org" target="_blank">moscow-pm@pm.org</a>
                  | <a moz-do-not-send="true"
                    href="http://moscow.pm.org" target="_blank">http://moscow.pm.org</a><br>
                </div>
              </div>
            </blockquote>
          </div>
          <br>
        </div>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
    </blockquote>
    <br>
    <pre class="moz-signature" cols="72">-- 
 </pre>
  </body>
</html>