Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   скорость выполнения программы (http://forum.oszone.net/showthread.php?t=141395)

иоанн 29-05-2009 21:01 1130579

скорость выполнения программы
 
хотелось узнать является ли скорость такой программы показателем быстодействия компьютера. мой комп считает ее за 21.9 сек. (извините за терминологию чайника)
Dim a As Long

Private Sub Command1_Click()
a1 = Timer
'девять нулей
For a = 1 To 1000000000
Next
a2 = Timer
b = a2 - a1
Print b
'у меня 21.92188 секунд
End Sub

Busla 29-05-2009 21:53 1130620

иоанн, умный компилятор/интерпретатор может вообще пропустить пустой цикл ;-)
т.к. компьютеры все разные (процессор, память, периферия), для оценки производительно используют набор тестов или даже симулируют реальные задачи.

Admiral 29-05-2009 22:22 1130637

иоанн, своего рода да, но если есть желание делать бенчмарк, то как сказал Busla, симулировать какую-то задачу.
Например в программе Super PI рассчитывается постоянная до определённого (2^32) знака после запятой.
Цитата:

Цитата иоанн
'у меня 21.92188 секунд »

Это наверное запущенное со среды? Если скомпилировать и запустить то значение будет менее 10 секунд, а то и 5.

иоанн 29-05-2009 23:43 1130667

а что такое _ бенчмарк_

Admiral 30-05-2009 01:17 1130707

http://ru.wikipedia.org/wiki/Бенчмарк

иоанн 30-05-2009 11:44 1130849

не знаю . как его (код) написать , чтобы было компактно и культурно
Dim i As Integer
Dim pn(20000000) As Double
Dim p As Double
Dim n As Long

Private Sub Command1_Click()
a1 = Timer
i = 1
p = 4
For n = 2 To 20000000
pn(n) = -i * 4 / (2 * n - 1)
If i = 1 Then
i = -1
Else
i = 1
End If
p = p + pn(n)
Next
a2 = Timer
a = a2 - a1
Print "число пи -"; p
Print "время -"; a; "секунд"
End Sub
там формула для числа пи _ p=4-4/3+4/5-4/7+4/9-4/11 .........

Pliomera 30-05-2009 13:05 1130905

Код:

...
denom = -1: ourPi = 0 'Начальные значения переменных
For x = 1 To 20000000
denom = denom + 2 'Инкремент для знаменателя дробей
Select Case (denom + 4) Mod 4 'Проверка знака очередного слагаемого
Case 1: ourPi = ourPi + 4 / denom
Case 3: ourPi = ourPi - 4 / denom
End Select
Next x
...



Время: 23:17.

Время: 23:17.
© OSzone.net 2001-