2009-07-24 8 views
3

J'ai besoin d'une application de test qui va créer un grand nombre de petits fichiers sur le disque aussi vite que possible.Performance création de plusieurs petits fichiers

Les opérations asynchrones aideront-elles à créer des fichiers ou simplement à les écrire? Existe-t-il un moyen d'accélérer le processus entier (l'écriture sur un seul fichier n'est pas possible)

Répondre

1

Est-ce que le disque physique ne serait pas le goulot d'étranglement ici? Vous obtiendrez probablement des résultats différents si vous écrivez à un lecteur 4200rpm par rapport à un lecteur de 10 000rpm par rapport à un SSD ultrarapide.

1

Il est difficile pour moi de dire sans écrire une application de test moi-même, mais l'accès au disque sera synchronisé de toute façon, donc ce n'est pas comme si vous aviez plusieurs threads en train d'écrire sur le disque en même temps. Vous pouvez accélérer vos performances en utilisant des threads si vous avez effectué une bonne quantité de traitement avant d'écrire chaque fichier.

0

S'il est possible de tester votre application en utilisant un ramdisk, cela accélèrera probablement considérablement les choses.

0

Si possible, ne les écrivez pas tous dans le même répertoire. De nombreux systèmes de fichiers ralentissent lorsqu'ils traitent des répertoires contenant un grand nombre de fichiers. (Une fois, j'ai amené notre serveur de fichiers au travail, qui sert heureusement tout le bureau, à genoux en écrivant des milliers de fichiers dans le même répertoire).

Au lieu de cela, créez un nouveau répertoire pour chaque 1000 fichiers ou plus.

Questions connexes