10.02.2015 9:28, Михаил Монашёв пишет:

C:\Temp>3.exe
Time:(11.00000000)ms . Sum: 49999995000000

Это время в 32-битной венде.

Как победить этот варнинг при компиляции я не разбирался пока.

добавь #include <stdlib.h>
int main (int argc,char **argv) {
═ ═ ═ ═ longint S = atoi(argv[1]);
═ ═ ═ ═ longint i,z;
═ ═ ═ ═ clock_t start = clock();
═ ═ ═ ═ longint sum = 0;
═ ═ ═ ═ for(z = 0; z < 1000; z++ ){
═ ═ ═ ═ ═ ═ ═ ═ sum = 0;
═ ═ ═ ═ ═ ═ ═ ═ for (i=0;i < S - S % 16; i+=16) {
═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ sum += i ═ + i+1 + i+2═ + i+3═ + i+4═ + i+5═ + i+6═ + 
i+7
═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ══+═ i+8 + i+9 + i+10 + i+11 + i+12 + i+13 + i+14 + 
i+15
═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ;
═ ═ ═ ═ ═ ═ ═ ═ }
═ ═ ═ ═ ═ ═ ═ ═ for (i; i < S; i++ ) {
═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ sum += i;
═ ═ ═ ═ ═ ═ ═ ═ }
═ ═ ═ ═ }
═ ═ ═ ═ clock_t end = clock();
═ ═ ═ ═ printf("%lu (%0.8f)\n",sum,((double)end-start)/1e6/z);
}




1.5 ms

gcc --std=c99 -O3 -march=native



--═
Mons Anderson
<[email protected]>




On 9 февр. 2015 г., at 16:11, Михаил Монашёв
<[email protected]> wrote:
Здравствуйте, Mons.
Народ, я не осилил дочитать это всё до конца.
А давайте-ка соберёмся и померяемся.
Не в плане теории, а в плане конкретных чисел
сравним разные языки, подходы и т.п.


А ═собираться ═обязательно? ═Можно ведь и удалённо. Я на Go пишу всего
месяц ═и ═мне было бы сложно придти и что-то нормально на нём написать
за малое время. Но сравнить языки было бы интересно.
Предложу ═простую ═задачку, ═которая ═покажет, ═насколько ═хорошо язык
работает ═с ═памятью: ═сложить ═все ═значения ═массива, ═состоящего из
10000000 ═целых чисел. Код там простой: создаём массив, заполняем его,
замеряем ═время, ═потом ═в ═цикле ═складываем ═элементы массива, снова
замеряем время и выдаём результат. Вот мой вариант на Go:
https://play.golang.org/p/iHGG3nV10L
Тонкости: ═в песочнице код съедает много процессора и время там всегда
одно ═и ═то ═же, поэтому его надо сохранить в файл, например main.go и
потом запустить вот так: go run main.go
Скомпилировать ═в исполняемый файл можно вот так: go build main.go
А вот так выйдет более быстрая версия: go build -gcflags="-B" main.go
Скачать Go можно вот тут: http://golang.org/
--
С уважением,
  Михаил ═════════════════════════mailto:[email protected]




--
Moscow.pm mailing list
[email protected] | http://moscow.pm.org

Ответить