In eine Datei schreiben Leistungstest

Posted on: 14. Januar 2020
Alle Infos die du brauchst um das Video erfolgreich umzusetzen:
Wie cool es doch ist, performanten Code zu schreiben! 🙂
Nach diesem Video wirst du in der Lage sein, mittels folgenden 3 Methoden, in eine Datei zu schreiben:
– add-content (langsam)
– out-file (viel langsamer)
– .NET Klasse Streamwriter (sehr schnell)

Wir sind offen und gespannt auf deine Anregungen: Input-Formular
Am einfachsten schaust du das Video und hast dazu diesen Code offen. So kannst du auch den Code in deiner gewünschten Grösse darstellen und kannst dem Video einfacher folgen.
——————————————–
$maxit = 10000 # Maximum Iterationen            
            
# Dateien erstellen            
$pfadzudesktop = "C:\users\$($env:USERNAME)\Desktop\"            
for($i=0;$i -lt 3;$i++){            
new-item -path $pfadzudesktop -ItemType file -Name "test_anhaengen_zu_datei$i.txt"            
}            
            
# Methode 1 | add-content            
$starttime = get-date            
for($i=0;$i -lt $maxit;$i++){            
    $zufallszahl = Get-Random -Maximum 9999999999999 # zufällige Zahl erstellen            
    Add-Content -path "$($pfadzudesktop)\test_anhaengen_zu_datei0" -Value $zufallszahl            
            
}            
$endtime = New-TimeSpan -Start $starttime -End (get-date)            
            
            
# Methode 2 | out-file            
$starttime = get-date            
for($i=0;$i -lt $maxit;$i++){            
    $zufallszahl = Get-Random -Maximum 9999999999999 # zufällige Zahl erstellen            
    out-file -FilePath "$($pfadzudesktop)\test_anhaengen_zu_datei1" -InputObject $zufallszahl -Append            
            
}            
$endtime = New-TimeSpan -Start $starttime -End (get-date)            
            
            
# Methode 3 | .NET Klasse            
# .net Klasse Streamwriter verwenden, um ein Streamwriter-Objekt zu erstellen, welches nach der Erstellung die Datei sperrt            
$starttime = get-date            
$streamwriter = [system.io.streamwriter]::new("$($pfadzudesktop)\test_anhaengen_zu_datei2.txt")             
for($i=0;$i -lt $maxit;$i++){            
    $zufallszahl = Get-Random -Maximum 9999999999999 # zufällige Zahl erstellen            
    $streamwriter.WriteLine($zufallszahl)            
            
}            
# Streamwriter-Objekt schliessen, da sonst das .txt-file gesperrt bleibt (kann nicht von Hand, oder einem anderen Prozess reingeschrieben werden)            
$streamwriter.close()             
$endtime = New-TimeSpan -Start $starttime -End (get-date)            
            
——————————————–
Hat dir das Video gefallen und etwas gebracht, dann freuen wir uns immer auf dein Feedback. Daumen nach oben, Kommentar und Abo sind geeignete Mittel um das auszudrücken. Falls du kannst, mache doch auch deine Kollegen auf unseren Kanal aufmerksam. Denn so wachsen wir zusammen stetig weiter und das freut uns alle. Win-Win-Win.
Falls du spezielle Anforderungen an Scripts oder Auftragsarbeiten hast, kannst du mich gerne direkt per Email erreichen. Alle Infos dazu sind hier Kontakt
Ich hoffe du verstehst, dass ich nur Videos zu Themen machen kann, die ein grösseres Interesse von verschiedenen Leuten haben. Benutzerspezifische Scripts erstelle ich ausschliesslich als Auftragsarbeiten oder im Mandat.

Da wir sämtliche Videos kostenlos zur Verfügung stellen und auch keine Werbung reinpacken, sind wir immer froh für eine kleine Spende. Vielen Dank bereits dafür.