Quelle est la différence dans l'écriture atomique de fichiers sur l'iPhone en objectif-c et non, y a-t-il une différence de performances entre les deux?
Merci d'avance!
Quelle est la différence dans l'écriture atomique de fichiers sur l'iPhone en objectif-c et non, y a-t-il une différence de performances entre les deux?
Merci d'avance!
Atomique en général signifie que l'opération ne peut pas être interrompu permettra de compléter ou n'ont aucun effet. Lors de l'écriture de fichiers, qui est accompli par écrit dans un fichier temporaire, puis le remplacement de l'original avec le temporaire quand l'écriture est terminée.
Un plantage lors de l'écriture atomique moyen de fichier de l'original n'est pas modifié et il est une poubelle de fichiers qui peuvent être supprimés. Un plantage lors de l'écriture normalement, cela signifierait un bon fichier est corrompu.
Performance sage, le coût est minime. Au cours de l'écriture, vous avez deux copies d'un même fichier. Le remplacement du fichier est une opération très simple au niveau du système de fichiers.
Edit: merci zneak
Les systèmes de fichiers n'ont pas à recourir à l'écriture/renommer des cycles pour l'écrit. Systèmes de fichiers qui ont sémantique de verrouillage permet de verrouiller " une partie ou la totalité d'un fichier, ou même dans certains cas faire des choses comme l'ajoute à un fichier, à l'aide avec l'atomicité.
@Randy, à la fois de vos hypothèses au sujet de la fragmentation sont susceptibles d'être mauvais. Sur la plupart des systèmes de fichiers, la rédaction d'un ensemble de fichiers et de clôture, il en résulte une moins fichier fragmenté, et l'écriture d'un fichier volumineux en une seule écriture va certainement entraîner une meilleure utilisation de gros blocs. Si vous signifiait le fichier blocs étaient plus susceptibles d' 'creep' ensemble du disque, qui dépend de la configuration des préférences de votre système de fichiers. Si vous êtes à la rédaction de flash, vous voulez probablement le système de fichiers à ramper à travers l'espace de stockage disponible comme une sorte d'auto-nivellement de l'écrit.
Je suppose que le remplacement atomique des fichiers peut entraîner une fragmentation plus rapide du système de fichiers, en particulier lorsqu'il s'agit de fichiers volumineux, car de nouveaux fichiers sont créés sans libérer d'abord leur destination. Le système défragmentera le système si cela se produit (régulièrement), ce qui signifie qu'il y aura une perte de performances minimale.
Je pense toujours que l'écriture atomique est plus importante que le coût minimal d'un processus d'écriture en deux étapes et la fragmentation facultative.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.