Schnellste Methode Sie überprüfen, ob ein array leer ist in vb.net

Ich wissen wollen, der Schnellste Weg, um zu überprüfen, ob ein array leer ist in vb.net. Das array bereits initialisiert, so kann ich nicht verwenden Sie eine der Prüfungen, die schauen sich das an. Dies ist der aktuelle code unten:

If Not (cubes(threadnumber)(i).objects.GetLength(0) = 0) Then
   cubes(threadnumber)(i).objects = New Double() {}
   ReDim cubes(threadnumber)(i).objects(-1)
End If

Habe ich ein paar Tests gemacht und ich weiß, dass mit '.getupperbound' ist ein wenig schneller, aber ich bin mir nicht sicher, ob dies funktionieren wird, weil ich denke, dass '.getupperbound' gibt eine 0 zurück, wenn das array die Länge 1.

Alle Methoden zur Beschleunigung (auch geringfügig), wird extrem hilfreich sein. Dieses Programm dauert eine Ewigkeit, bis gesammte und in der ersten Zeile der obigen code ist ein großer Teil der Zeit, es heißt 136 Millionen mal.

Auch wenn jemand weiß, wie zu beschleunigen "for next" - Schleifen, die zu groß sein würde!

Dank 🙂

Fraser

Der einfachste Weg, um die Geschwindigkeit für die next Schleifen mit loop unrolling, aber dies erfolgt automatisch, indem die meisten Compiler nun. Herausziehen jede de-Referenzen, die statisch sind, um die Schleife oder verwenden Sie mehrere Male, und zur Vermeidung jeglicher boxing und unboxing. Hier ist ein guter Artikel .net managed code-Optimierung und Kosten-Analyse: msdn.microsoft.com/en-us/library/ms973852.aspx
danke für die Antwort (wenn auch 2 Jahre nachdem ich die Frage gestellt!) :). Ich habe viel gelesen über Optimierung seit diesem post, aber speziell auf der Suche, ob ein array leer ist, endete als zu langsam für meine große arrays von arrays.
Nie zu spät! Ok, vielleicht sollte ich mich bei dem Frage-und-Antwort-Termine, aber es hat herausragende teilweise Fragen. Die Lösung, die Sie kam mit war meine erste Antwort, mehr oder weniger. Im Grunde genommen, wenn der Zugang zu einem Objekt-Eigenschaft ist zu teuer, zu verfolgen, sich selbst in eine einfachere/schnellere Art. Cheers.

InformationsquelleAutor FraserOfSmeg | 2012-11-22

Schreibe einen Kommentar