<html><head><meta http-equiv="Content-Type" content="text/html charset=koi8-r"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="margin: 0px; font-size: 13px; font-family: Monaco; color: rgb(245, 245, 245); background-color: rgb(0, 0, 0);" class=""><div style="margin: 0px;" class=""><span style="font-variant-ligatures: no-common-ligatures; color: #34bd26" class="">int</span> main (<span style="font-variant-ligatures: no-common-ligatures; color: #34bd26" class="">int</span> argc,<span style="font-variant-ligatures: no-common-ligatures; color: #34bd26" class="">char</span> **argv) {</div><div style="margin: 0px;" class="">        <span style="font-variant-ligatures: no-common-ligatures; color: #34bd26" class="">long</span> <span style="font-variant-ligatures: no-common-ligatures; color: #34bd26" class="">int</span> S = atoi(argv[<span style="font-variant-ligatures: no-common-ligatures; color: #c33720" class="">1</span>]);</div><div style="margin: 0px;" class="">        <span style="font-variant-ligatures: no-common-ligatures; color: #34bd26" class="">long</span> <span style="font-variant-ligatures: no-common-ligatures; color: #34bd26" class="">int</span> i,z;</div><div style="margin: 0px;" class="">        <span style="font-variant-ligatures: no-common-ligatures; color: #34bd26" class="">clock_t</span> start = clock();</div><div style="margin: 0px;" class="">        <span style="font-variant-ligatures: no-common-ligatures; color: #34bd26" class="">long</span> <span style="font-variant-ligatures: no-common-ligatures; color: #34bd26" class="">int</span> sum = <span style="font-variant-ligatures: no-common-ligatures; color: #c33720" class="">0</span>;</div><div style="margin: 0px;" class="">        <span style="font-variant-ligatures: no-common-ligatures; color: #ce7924" class="">for</span>(z = <span style="font-variant-ligatures: no-common-ligatures; color: #c33720" class="">0</span>; z < <span style="font-variant-ligatures: no-common-ligatures; color: #c33720" class="">1000</span>; z++ ){</div><div style="margin: 0px;" class="">                sum = <span style="font-variant-ligatures: no-common-ligatures; color: #c33720" class="">0</span>;</div><div style="margin: 0px;" class="">                <span style="font-variant-ligatures: no-common-ligatures; color: #ce7924" class="">for</span> (i=<span style="font-variant-ligatures: no-common-ligatures; color: #c33720" class="">0</span>;i < S - S % <span style="font-variant-ligatures: no-common-ligatures; color: #c33720" class="">16</span>; i+=<span style="font-variant-ligatures: no-common-ligatures; color: #c33720" class="">16</span>) {</div><div style="margin: 0px;" class="">                        sum += i   + i+<span style="font-variant-ligatures: no-common-ligatures; color: #c33720" class="">1</span> + i+<span style="font-variant-ligatures: no-common-ligatures; color: #c33720" class="">2</span>  + i+<span style="font-variant-ligatures: no-common-ligatures; color: #c33720" class="">3</span>  + i+<span style="font-variant-ligatures: no-common-ligatures; color: #c33720" class="">4</span>  + i+<span style="font-variant-ligatures: no-common-ligatures; color: #c33720" class="">5</span>  + i+<span style="font-variant-ligatures: no-common-ligatures; color: #c33720" class="">6 </span> + i+<span style="font-variant-ligatures: no-common-ligatures; color: #c33720" class="">7</span></div><div style="margin: 0px;" class="">                            +  i+<span style="font-variant-ligatures: no-common-ligatures; color: #c33720" class="">8</span> + i+<span style="font-variant-ligatures: no-common-ligatures; color: #c33720" class="">9</span> + i+<span style="font-variant-ligatures: no-common-ligatures; color: #c33720" class="">10</span> + i+<span style="font-variant-ligatures: no-common-ligatures; color: #c33720" class="">11</span> + i+<span style="font-variant-ligatures: no-common-ligatures; color: #c33720" class="">12</span> + i+<span style="font-variant-ligatures: no-common-ligatures; color: #c33720" class="">13</span> + i+<span style="font-variant-ligatures: no-common-ligatures; color: #c33720" class="">14</span> + i+<span style="font-variant-ligatures: no-common-ligatures; color: #c33720" class="">15</span></div><div style="margin: 0px;" class="">                        ;</div><div style="margin: 0px;" class="">                }</div><div style="margin: 0px;" class="">                <span style="font-variant-ligatures: no-common-ligatures; color: #ce7924" class="">for</span> (i; i < S; i++ ) {</div><div style="margin: 0px;" class="">                        sum += i;</div><div style="margin: 0px;" class="">                }</div><div style="margin: 0px;" class="">        }</div><div style="margin: 0px;" class="">        <span style="font-variant-ligatures: no-common-ligatures; color: #34bd26" class="">clock_t</span> end = clock();</div><div style="margin: 0px;" class="">        printf(<span style="font-variant-ligatures: no-common-ligatures; color: #c33720" class="">"</span><span style="font-variant-ligatures: no-common-ligatures; color: #d53bd3" class="">%lu</span><span style="font-variant-ligatures: no-common-ligatures; color: #c33720" class=""> (</span><span style="font-variant-ligatures: no-common-ligatures; color: #d53bd3" class="">%0.8f</span><span style="font-variant-ligatures: no-common-ligatures; color: #c33720" class="">)</span><span style="font-variant-ligatures: no-common-ligatures; color: #d53bd3" class="">\n</span><span style="font-variant-ligatures: no-common-ligatures; color: #c33720" class="">"</span>,sum,((<span style="font-variant-ligatures: no-common-ligatures; color: #34bd26" class="">double</span>)end-start)/<span style="font-variant-ligatures: no-common-ligatures; color: #c33720" class="">1e6</span>/z);</div><div style="margin: 0px;" class="">}</div><div class=""><br class=""></div></div><div class=""><br class=""></div><div class="">1.5 ms</div><div class=""><br class=""></div><div class="">gcc --std=c99 -O3 -march=native</div><div class=""><br class=""></div><div class=""><br class=""></div><div apple-content-edited="true" class="">
<div style="color: rgb(0, 0, 0); font-family: Helvetica;  font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; " class=""><div class="">-- </div><div class="">Mons Anderson</div><div class=""><<a href="mailto:mons@cpan.org" class="">mons@cpan.org</a>></div></div><br class="Apple-interchange-newline"><br class="Apple-interchange-newline">
</div>
<br class=""><div><blockquote type="cite" class=""><div class="">On 9 февр. 2015 г., at 16:11, Михаил Монашёв <<a href="mailto:postmaster@softsearch.ru" class="">postmaster@softsearch.ru</a>> wrote:</div><br class="Apple-interchange-newline"><div class="">Здравствуйте, Mons.<br class=""><br class=""><blockquote type="cite" class="">Народ, я не осилил дочитать это всё до конца.<br class="">А давайте-ка соберёмся и померяемся.<br class="">Не в плане теории, а в плане конкретных чисел<br class="">сравним разные языки, подходы и т.п.<br class=""></blockquote><br class="">А  собираться  обязательно?  Можно ведь и удалённо. Я на Go пишу всего<br class="">месяц  и  мне было бы сложно придти и что-то нормально на нём написать<br class="">за малое время. Но сравнить языки было бы интересно.<br class=""><br class="">Предложу  простую  задачку,  которая  покажет,  насколько  хорошо язык<br class="">работает  с  памятью:  сложить  все  значения  массива,  состоящего из<br class="">10000000  целых чисел. Код там простой: создаём массив, заполняем его,<br class="">замеряем  время,  потом  в  цикле  складываем  элементы массива, снова<br class="">замеряем время и выдаём результат. Вот мой вариант на Go:<br class=""><a href="https://play.golang.org/p/iHGG3nV10L" class="">https://play.golang.org/p/iHGG3nV10L</a><br class=""><br class="">Тонкости:  в песочнице код съедает много процессора и время там всегда<br class="">одно  и  то  же, поэтому его надо сохранить в файл, например main.go и<br class="">потом запустить вот так: go run main.go<br class="">Скомпилировать  в исполняемый файл можно вот так: go build main.go<br class="">А вот так выйдет более быстрая версия: go build -gcflags="-B" main.go<br class="">Скачать Go можно вот тут: http://golang.org/<br class=""><br class="">-- <br class="">С уважением,<br class=""> Михаил                          mailto:postmaster@softsearch.ru<br class=""><br class="">-- <br class="">Moscow.pm mailing list<br class="">moscow-pm@pm.org | http://moscow.pm.org<br class=""></div></blockquote></div><br class=""></body></html>