Newsgroup: it.comp.programmare
Titolo: [CONFRONTO] Python vs C vs Visual Basic con algoritmi di sorting (integrazione)

Una aggiunta al test effettuato precedentemente. Ho implementato l'algoritmo
di ordinamento "contestualizzato" anche in Visual Basic (che, tra l'altro e'
interpretato) ed ho effettuato le misure. Ovviamente abbiamo delle
limitazioni che non ci permettono di effettuare una completa prova
comparativa, infatti il visual basic 6 SP3 non fornisce funzioni di libreria
per il sort e
Per questa ragione verra' utilizzato un nuovo insieme per la misura e
verranno dati i soli tempi dell'ordinamento "contestualizzato".
MISURE
    MAX_REPEATS  = 1
    MAX_VALUES = 10000
        Python = 0.178 s
        C = 0.000 s
        VB = 0.02 s
    MAX_REPEATS  = 10
    MAX_VALUES = 10000
        Python = 1.781 s
        C = 0.000 s
        VB = 0.131 s
    MAX_REPEATS  = 10
    MAX_VALUES = 20000
        Python = 3.592 s
        C = 0.01 s
        VB = 0.25 s
SORGENTI
Allegato 3 - Visual Basic
--- Form1
Private Sub Form_Load()
    Dim j As Integer
    Dim c As Single
    Dim d As Single
    c = Timer()
    experiment 1
    d = Timer() - c
    MsgBox "It tooks " & d & " to performs"
End Sub
--- Module1
    Const MAX_REPEATS = 10
    Const MAX_SAMPLES = 20000
    Const MAX_VALUES = 256
    Public samples(MAX_SAMPLES) As Integer
Sub prepare()
    Dim s As Integer
    Randomize Timer
    For s = 0 To MAX_SAMPLES - 1
        samples(s) = Rnd() * 256
    Next s
End Sub
Sub library_sort()
End Sub
Sub fast_sort()
    Dim buffer(MAX_VALUES) As Integer
    Dim x As Integer, y As Integer
    For x = 0 To MAX_SAMPLES - 1
        buffer(samples(x)) = buffer(samples(x)) + 1
    Next x
    x = 0
    For y = 0 To MAX_VALUES - 1
        While (buffer(y) > 0)
            samples(x) = y
            x = x + 1
            buffer(y) = buffer(y) - 1
        Wend
    Next y
End Sub
Sub experiment(fast As Integer)
    Dim t As Integer
    If (fast = 0) Then
        For t = 0 To MAX_REPEATS - 1
            prepare
            library_sort
        Next t
    Else
        For t = 0 To MAX_REPEATS - 1
            prepare
            fast_sort
        Next t
    End If
End Sub

 Una aggiunta al test effettuato precedentemente.
E continui a non dimostrare nulla.
Dai vai avanti, mi diverti ;)
E' bello vedere il sorcio che si affanna sulla ruota nella sua gabbietta ;)
--------------------------------
Inviato via 
http://usenet.libero.it


Gli ultimi risultati cosě come quelli precedenti non lasciano dubbi, perň
(non ho letto il codice molto attentamente) mi pare che vengano usate le
librerie per il sorting vero e proprio, confermi?
Kiuhnm

 E' bello vedere il sorcio che si affanna sulla ruota nella sua gabbietta
;)
Beh, meglio un sorcio in gabbia che un coglione in liberta'.
*** Azimuth ***

 Beh, meglio un sorcio in gabbia che un coglione in liberta'.
E che dire di te che sei entrambe le cose ? :)


 librerie per il sorting vero e proprio, confermi?
No, in tutti e tre i casi confronto il solo algoritmo "contestualizzato"
(cioe' quello scritto esplicitamente nel linguaggio dato -- senza uso di
libreria alcuna): sia nel Python, che nel C che nel VB. In tutti e tre i
casi l'algoritmo eseguito per MAX_REPEATS volte e' "fast_sort" (quello della
libreria e' "library_sort").
Tanto e' vero che i tempi del Python sono quelli (assurdamente!) piu' lenti
di quelli della libreria nativa!
Ciao!
*** Azimuth ***

 "library_sort").
Non avevo capito che cosa intendessi per "contestualizzato".
Allora il procedimento è corretto :-)
Kiuhnm

azimuth, ma certo che ne hai di tempo da perdere. Che lavoro fai, 
scusa? c'è posto per un'esterna?
-- 
 < 
http://www.reactos.com/
 >  Open source clone of Windows NT. Current
     Don't stand, REACT!      version 0.0.20. C, C++ and ASM developers
                              and beta testers are welcome!

: azimuth, ma certo che ne hai di tempo da perdere. Che lavoro fai, 
: scusa? c'è posto per un'esterna?
Credo che la tua ironia sia fuori luogo, Maya.
Ciao.
Fed.


Per me è interessata davvero...
Kiuhnm

 scusa? c'è posto per un'esterna?
Si', guarda, abbiamo proprio bisogno di qualcuno che ci porti il caffe', la
mattina...
*** Azimuth ***

Azimuth ha scritto:

figurati, non mi permetterei mai di rubarti il posto


:: azimuth, ma certo che ne hai di tempo da perdere. Che lavoro fai,
:: scusa? c'è posto per un'esterna?
: Si', guarda, abbiamo proprio bisogno di qualcuno che ci porti il caffe', 
: la mattina...
Ehehehehe.... beh, dai, azimuth... non limitarla cosi'! Magari sa fare 
bene anche le fotocopie... ;)
Fed.

 figurati, non mi permetterei mai di rubarti il posto
Beh, ma mica faccio solo quello... considera, per esempio, che io programmo
e progetto, e non ho neanche la ricreazione come hai tu.
*** Azimuth ***