Newsgroup: it.comp.lang.visual-basic
Titolo: Prestazioni di Vb.Net

saluti a tutti
vorrei saper se c'č qualche anima pia in grado di darmi informazioni  sulle
prestazioni di VbNet.
Mi spiego meglio, devo implementare una applicazione grafica in cui mi
farebbe molto comodo l'utilizzo dell'ereditarietą e delle funzioni virtuali.
Devo gestire una notevole quantitą di oggetti (diverse migliaia) con
frequenti chiamate ai loro metodi.
Ho perņ molta paura che l'ereditarietą inserita in Vb sia un qualche
"accrocco" che ne penalizza le prestazioni degli oggetti. Gią gli oggetti
com per loro natura introducono una notevole lentezza in chiamate massive ai
loro metodi, se poi ci aggiungiamo dell'altro....
In sostanza vorrei sapere se vale la pena che mi metto a concepire una
gerarchia di classi adesso sapendo di avere buone prestazioni (migliori del
COM), oppure se č meglio che mi metto da subito il cuore in pace e magari
provo a migrare verso il C++.
Grazie in anticipo a chi vuol rispondere.
Rea

 pace e magari provo a migrare verso il C++.
Se hai la possibilita' fallo. Le applicazioni .NET (VB e C#) avranno
sicuramente dalla loro parte una velocita' e facilita' di sviluppo (e
tutto cio' che ne segue), ma il codice C++ rimarra' sempre di ben altro
livello.
Ciao.

 provo a migrare verso il C++.
Visual Studio.NET sarà forse pronto per la fine di quest'anno; anche se il
ritardo attuale della beta 2, prevista ora per giugno, non è da
sottovalutare.
Più realisticamente penso sarà pronto tra 1 anno circa.
Forse non ti conviene aspettare...
Byee
Zeross

 meno di VB6)
dilla tutta, pero' ! :)
cosa ci metti nel lv ?
ho provato adesso con un p2/366, w2k pro ita sp1.
il codice qui sotto carica 33k items in 25.5", li scarica in 1".
appena piu' lenti i tempi dell'ide.
cur2str e' il bas di roal sul sc, che insieme al format dovrebbe rallentare
abbastanza.
ciao, a.
Option Explicit
Private Sub cmdLoad_Click()
    Dim j As Long, k, itmX As ListItem, sSize As String
    Dim time1: time1 = Timer
    k = InputBox("Item(s) to be added:", , 1000)
    If k = "" Or Val(k) < 1 Then Exit Sub
    LV.ListItems.Clear
    For j = 0 To Val(k)
        Set itmX = LV.ListItems.Add()
        itmX.Text = j
        sSize = Format(j, "###,###,###,###")
        itmX.SubItems(1) = Space(15 - Len(sSize)) & sSize
        itmX.SubItems(2) = Cur2Str(j, langItalian)
        If j Mod 100 = 0 Then _
            Caption = j & " :: " & Format(Timer - time1, "###,##0.#0")
    Next
    Caption = j & " :: " & Format(Timer - time1, "###,##0.#0")
    Set LV.SelectedItem = LV.ListItems(1)
End Sub
Private Sub cmdUnload_Click()
    Dim time1: time1 = Timer
    LV.ListItems.Clear
    Caption = "Unload :: " & Format(Timer - time1, "###,##0.#0")
End Sub
Private Sub Form_Resize()
    Dim sw As Integer: sw = ScaleWidth \ 2
    With cmdLoad
        .Left = 0
        .Top = ScaleHeight - .Height
        .Width = sw
    End With
    With cmdUnload
        .Left = sw
        .Top = ScaleHeight - .Height
        .Width = sw
    End With
    Dim lw As Integer: lw = LV.Width \ 8
    With LV
        .Height = ScaleHeight - cmdLoad.Height
        .Width = ScaleWidth
        .ColumnHeaders(1).Width = lw * 1
        .ColumnHeaders(2).Width = lw * 2
        .ColumnHeaders(3).Width = lw * 4.4
    End With
End Sub
