Hardlinks erzeugen, Linux deutlich schneller als Windows - warum?
-
Hallo zusammen,
ich habe nun mehrere Tage nach Möglichkeiten gesucht in C unter Windows Hardlinks zu erzeugen. Leider ohne Erfolg.
Ich muss eine große Menge Dateien hardlinken, dass mache ich unter Linux mit//for-Schleife mit system("ln <src> <dest>"); //(Dauer bei 8000 Dateien etwa 4,5 min).
Gleiches unter Windows dauert 3 mal länger! Habe dazu in der system() die cmd Kommandos ln, fsutils und mklink benutzt.
Was mache ich falsch, bzw. gibt es eine schnellere Möglichkeit mit C unter Windows Hardlinks zu erzeugen.Danke! DaDu
EDIT: Die Zeitmessung erfolgte jeweils nach einen Neustart, also es liegt nicht an irgendwelchen Arbeitsspeicherleichen;)
-
Dieser Thread wurde von Moderator/in rüdiger aus dem Forum ANSI C in das Forum Rund um die Programmierung verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Direkt WinAPI verwneden und nicht system.
-
Leider bin ich noch ein ziemlicher C-Neuling. Ich habe folgenden C++ code gefunden: http://msdn.microsoft.com/en-us/library/aa363860(VS.85).aspx aber wie nutzt man das dann in C? Oder meinst du was anderes mit WinAPI?
LG DaDu
-
Du rufst die Funktion einfach auf.
Es sind doch alle Argumente erklärt.
-
Ich danke euch, hat tatsächlich geklappt. Da hab ich wieder was gelernt:)
LG, DaDu
-
Unter Linux gibt es etwas das nennt sich Systemcall und oh Wunder man kann auch Hardlinks erzeugen ohne einen externen Prozess zu starten
-
Um wieviel is es jetzt eigentlich schneller geworden?