nobody0
28-01-2005, 00:54
Um Dateien zu verarbeiten lese ich deren Namen so mit fgets ein:
Bash:
> find ./ -type f -print | dupmerge
dupmerge:
while (fgets (buf, sizeof (buf), stdin), !feof (stdin))
{
nfiles++;
if (EOF == fputs (buf, tmp))
{
(void) fprintf (stderr, "could not write to temporary file, exiting\n");
exit (-1);
}
}
aber das dauert bei nur 434730 Dateien schon 40 Minuten, in denen die Festplatten-LED dauernd an ist!
Das find ist hierbei nicht das Problem, wie mir top zeigt.
Was kann man da machen um das Einlesen der Dateinamen zu beschleunigen? :confused:
Bash:
> find ./ -type f -print | dupmerge
dupmerge:
while (fgets (buf, sizeof (buf), stdin), !feof (stdin))
{
nfiles++;
if (EOF == fputs (buf, tmp))
{
(void) fprintf (stderr, "could not write to temporary file, exiting\n");
exit (-1);
}
}
aber das dauert bei nur 434730 Dateien schon 40 Minuten, in denen die Festplatten-LED dauernd an ist!
Das find ist hierbei nicht das Problem, wie mir top zeigt.
Was kann man da machen um das Einlesen der Dateinamen zu beschleunigen? :confused: