AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Dateien kopieren - TThread

Ein Thema von Pentium 80486 · begonnen am 26. Mai 2012 · letzter Beitrag vom 26. Mai 2012
Antwort Antwort
Pentium 80486
(Gast)

n/a Beiträge
 
#1

AW: Dateien kopieren - TThread

  Alt 26. Mai 2012, 00:45
Read-Ahead und Caching hören sich sehr interessant an. Jedoch habe ich absolut keine Ahnung wie man soetwas umsetzt.

Das mit dem sich ständig und vermehrt bewegendem Ärmchen der Festplatte ist mir als allererstes in den Sinn gekommen.
Ich hoffe, dass die heutige Festplattentechnologe solche kurzzeitigen "Strapazen" verkraftet.

Read-Ahead.. hat das was mit Prefetching zu tun? Vorausschauendes Lesen heißt es ja. Prefetching ist ja, schlagt mich bitte nicht, quasi dasselbe (grob gesagt).
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.688 Beiträge
 
Delphi 2007 Enterprise
 
#2

AW: Dateien kopieren - TThread

  Alt 26. Mai 2012, 00:48
Mach dir um die Mechanik mal keine Sorgen, die kann das ab. Wir haben ja nicht mehr 1980
Read-Ahead ist Prefetching, und die Platten machen das, wie auch das Caching, selbst. Das ist schon alles da. Ich hab diese nur hier hin geschrieben, weil ich vermute, dass diese Maßnahmen multithreaded Zugriffen zumindest ein wenig ihren (von mir immer noch erwarteten) Geschwindigkeitsverlust zu mindern.

Dass du überhaupt eine Verschnellerung hattest ließe für mich nur den o.g. Schluss zu (mehrere beteiligte Devices), alternativ wären aber auch noch "nicht optimal" (lies: schlecht) geschriebene Kopierroutinen, die CPU und RAM mehr als sinnvoll ärgern, so dass sich Multithreading positiv auswirken kann.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)

Geändert von Medium (26. Mai 2012 um 00:52 Uhr)
  Mit Zitat antworten Zitat
Pentium 80486
(Gast)

n/a Beiträge
 
#3

AW: Dateien kopieren - TThread

  Alt 26. Mai 2012, 00:57
Um ehrlich zu sein habe ich deinen ersten Beitrag noch nicht richtig verstanden, ist ja schon spät

Du vermutest also, dass die von meinem Programm abzuarbeitenden Daten auf verschiedenen Laufwerken liegen. Das habe ich so verstanden oder eben nicht vestanden.
Um Missverständnissden aus dem Weg zu gehen:

ich lasse 100 10MB große Textdateien mit 1-en drin von Desktop -> "Neuer Ordner" nach Desktop -> "Neuer Ordner 2" kopieren.
Aktuell verarbeiten fünf Threads diese Aufgabe.
Jeder Thread übernimmt 20 Dateien.

Edit:
ich möchte noch etwas zu den 1980ern sagen.
Damals waren die Festplatten zwar leistungsärmer und langsamer, dafür aber viel robuster!

Vor ein paar Jahren habe ich den Serverraum einer Firma zu Gesicht bekommen und ich wusste nicht ob ich lachen oder weinen soll.
Da waren doch tatsächlich noch uralte IDE-Festplatten verbaut. Nicht unbedingt schnell, aber langlebiger als so manch moderner Kram.

Edit #2:
Ein Test hat ergeben, dass der Verarbeitungsprozess mit acht Threads etwa 35 Sekunden dauert. Mit vier Threads ist er ~ 15 Sekunden schneller fertig.

Geändert von Pentium 80486 (26. Mai 2012 um 02:18 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:26 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz