Скачиваний:
12
Добавлен:
01.05.2014
Размер:
83.46 Кб
Скачать

5.1.1. Текст программы

#include <stdlib.h>

#include <stdio.h>

#include "Sampler.h"

const int Size = 1000;

void sort(float* a, int n)

{

int done;

int jump=n,i,j;

float hold;

while (jump>1)

{

jump/=2;

do

{

done=1;

for (j=0; j<n-jump; ++j)

{

i=j+jump;

if (a[j]>a[i])

{

hold = a[j];

a[j]=a[i];

a[i]=hold;

done=0;

}

}

}while(!done);

}

}

int main()

{

SAMPLE;

float list[Size];

srand(0);

for(int i=0; i<Size; ++i)

list[i]=rand();

sort(list, Size);

SAMPLE;

return 0;

}

5.1.2. Результат профилирования

----------------------------------------------------------------------

Исх.Поз. Прием.Поз. Общее время(мкс) Кол-во прох. Среднее время(мкс)

----------------------------------------------------------------------

1 : 35 1 : 41 807.93 1 807.93

----------------------------------------------------------------------

5.1.3. Текст программы

#include <stdlib.h>

#include <stdio.h>

#include "Sampler.h"

const int Size = 1000;

void sort(float* a, int n)

{

SAMPLE;

int done;

int jump=n,i,j;

float hold;

SAMPLE;

while (jump>1)

{

jump/=2;

SAMPLE;

do

{

done=1;

SAMPLE;

for (j=0; j<n-jump; ++j)

{

i=j+jump;

SAMPLE;

if (a[j]>a[i])

{

SAMPLE;

hold = a[j];

a[j]=a[i];

a[i]=hold;

SAMPLE;

done=0;

SAMPLE;

}

}

}while(!done);

}

SAMPLE;

}

int main()

{

SAMPLE;

float list[Size];

srand(0);

for(int i=0; i<Size; ++i)

list[i]=rand();

SAMPLE;

sort(list, Size);

SAMPLE;

return 0;

}

5.1.4. Результат профилирования

----------------------------------------------------------------------

Исх.Поз. Прием.Поз. Общее время(мкс) Кол-во прох. Среднее время(мкс)

----------------------------------------------------------------------

1 : 9 1 : 13 0.00 1 0.00

----------------------------------------------------------------------

1 : 13 1 : 17 0.84 1 0.84

----------------------------------------------------------------------

1 : 17 1 : 21 1.68 9 0.19

----------------------------------------------------------------------

1 : 21 1 : 25 42.74 57 0.75

----------------------------------------------------------------------

1 : 25 1 : 25 865446.12 46616 18.57

1 : 25 1 : 28 93530.73 7043 13.28

1 : 25 1 : 17 7.54 8 0.94

1 : 25 1 : 21 17.60 40 0.44

1 : 25 1 : 39 0.00 1 0.00

----------------------------------------------------------------------

1 : 28 1 : 32 119767.34 7043 17.01

----------------------------------------------------------------------

1 : 32 1 : 34 172272.41 7043 24.46

----------------------------------------------------------------------

1 : 34 1 : 25 336344.89 7035 47.81

1 : 34 1 : 21 1.68 8 0.21

----------------------------------------------------------------------

1 : 39 1 : 51 0.00 1 0.00

----------------------------------------------------------------------

1 : 44 1 : 49 34.36 1 34.36

----------------------------------------------------------------------

1 : 49 1 : 9 0.00 1 0.00

----------------------------------------------------------------------

5.2. Программа на языке Pascal

Соседние файлы в папке Лабораторная работа №21