Datei kopieren
-
Ich finde system zwar auch schlecht aber schneller geht es nicht.
-
Mit Asm auf Hardware-Ebene kopieren *SCRN*
-
ok. danke... ich dachte nur, dass es fertige funktionen dafür gibt...
-
äähhh... wie steht es eigentlich mit den berechtigungen wenn ich es mit fopen usw. mache? bleiben die gleich oder muss ich sie selber anpassen?
-
Die musst Du selbst anpassen; wenn Du eine neue Datei erstellst, dann wird dafür die 0815-umask verwendet.
Btw, wenn Du sowas aus Performancegründen selbstmachen willst, dann halte ich das auch für eine ziemlich dumme Idee. Gelten lassen könnte ich "Ich will lernen, wie sowas prinzipiell geht" oä, die Geschwindigkeit ist wohl nur in den allerseltensten Fällen ein Argument. (Und die kann garantiert niemand verbessern, der gerade erst Filehandling-Grundlagen lernt.)
-
Schau bloss nicht in die FAQ ;).
mfg
v R
-
@nman: ich will mir auch nicht anmassen, dass ich ein schnelleres programm als irgend jamand programmieren kann, sondern ich möchte einfach kein anderes programm dazu benutzen und somit einen neuen prozess und was alles noch damit zu tun hat starten...
Ich hätte zudem auch gerne eine bessere kontrolle direkt im programm...
-
bdf schrieb:
@nman: ich will mir auch nicht anmassen, dass ich ein schnelleres programm als irgend jamand programmieren kann
Das an sich wäre kein Problem; ist nur halt eben die falsche Motivation.
sondern ich möchte einfach kein anderes programm dazu benutzen und somit einen neuen prozess und was alles noch damit zu tun hat starten...
Hier wäre ein frischer Prozess zwar sinnvoll, aber wie gesagt, wenn Du das nicht magst, dann schau bitte in die FAQ.
Ich hätte zudem auch gerne eine bessere kontrolle direkt im programm...
Worüber?
-
nman schrieb:
Ich hätte zudem auch gerne eine bessere kontrolle direkt im programm...
Worüber?
zum beispiel über die bereits kopierten bytes.. zwecks status-anzeige oder so.
Sehe auch nicht, wo hier ein extra prozess vorteile bringt.Ist open/read/write für sowas eigentlich performanter als die stdio-pendants?
-
DrGreenthumb schrieb:
zum beispiel über die bereits kopierten bytes.. zwecks status-anzeige oder so.
Würde ich aber nicht zu Fuß implementieren, sowas gibts schon tausendfach.
Sehe auch nicht, wo hier ein extra prozess vorteile bringt.
Naja, geht natürlich auch ein frischer Thread, hat halt den Vorteil, dass sein Programm nicht warten muss.
Aber solche Spekulationen bringen wohl nichts, wenn man nicht weiß, woran der OP arbeitetIst open/read/write für sowas eigentlich performanter als die stdio-pendants?
Keine Ahnung, uU schon; müsste man mal ausmessen.
-
Ist open/read/write für sowas eigentlich performanter als die stdio-pendants?
stdio hat nochmal einen eigenen Buffer. Naja, zum Dateikopieren würde ich aber eh versuchen sendfile zu nehmen oder zumindest mmap.
-
ja, hat nen eigenen buffer, aber am ende is ja eh die festplatte der flaschenhals. Wieso mmap? Ich will die Dateien ja nicht im Speicher haben.
Aber sendfile scheint ja genau das richtige zu sein!
/* hmhm... das mit dem flaschnhals gilt natürlich immer, von daher war der einwand eher quatsch... */
-
Um das mal abzukürzen:
http://www.c-plusplus.net/forum/viewtopic-var-t-is-39523.html