Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Excel VBA (часть 3)

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

asbo

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору


Код:
 
Option Explicit
 
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'     System declarations
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Private Declare Function QueryPerformanceCounter Lib "Kernel32" (x As Currency) As Boolean
Private Declare Function QueryPerformanceFrequency Lib "Kernel32" (x As Currency) As Boolean
 
Private Declare Function GetTickCount& Lib "Kernel32" ()
 
Dim cHft@, cHftBeg@, cHftEnd@, cHftFrq@, cHftOhd@, cHftTmp@ 'As Currency
Dim i&, j&, lCycQty&, lTotal&, lGtcBeg&, lGtcEnd&, lGtc&, lHft&
Dim bMore As Boolean
Dim sGtc$, sHft$
 
 
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'     Test declarations
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Dim lTest&
 
 
Public Sub sb_SpeedTest()
    i = 0: j = 0
     
    lCycQty = 1
    bMore = True
     
    lTotal = 8
     
    Do While bMore
        'If bMore Then lCycQty = lCycQty * 10
        lCycQty = lCycQty * 10
        j = j + 1
         
'' *** Test code setup
 
'' *** Test code setup end
         
        i = 0
         
        QueryPerformanceFrequency cHftFrq
        QueryPerformanceCounter cHftBeg
        QueryPerformanceCounter cHftEnd
        cHftOhd = cHftEnd - cHftBeg
         
        QueryPerformanceCounter cHftBeg
        lGtcBeg = GetTickCount
         
        Do                      ' *** LOOP
            'DoEvents
            i = i + 1
'' *** Test code begin
            'lTest = GetTickCount * CLng(bMore)
            lTest = GetTickCount * bMore
'' *** Test code end
 
        Loop Until i = lCycQty  ' *** LOOP
         
        lGtcEnd = GetTickCount
        QueryPerformanceCounter cHftEnd
         
        lGtc = lGtcEnd - lGtcBeg
        cHftTmp = cHftEnd - cHftBeg
         
        QueryPerformanceCounter cHftBeg
        QueryPerformanceCounter cHftEnd
        cHftOhd = (cHftOhd + cHftEnd - cHftBeg) / 2
         
        lHft = CLng(1000000 * (cHftTmp - cHftOhd) / cHftFrq)
         
        'bMore = (lGtc < 10000)
        bMore = (j < lTotal)
         
        sGtc = Format(lGtc, "#,##0")
        sHft = Format(lHft, "#,##0")
        Debug.Print j; "; Cycles: " & "10^" & j & "; Time: "; sGtc & vbTab & vbTab & sHft
    Loop
    Debug.Print "*** *** ***" & vbLf
End Sub
 

Всего записей: 1805 | Зарегистр. 03-10-2006 | Отправлено: 13:31 17-08-2011
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Excel VBA (часть 3)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru