Ultracopier 0.3

News spécifique à la version 0.3 d’ultracopier.

Joyeux noel! Et vive ultracopier 0.3

Bonjour, bon noel à tous en avance! Je dit ça car je vous ai prévu un gros cadeau de noel! Ultracopier 0.3!

Je suis en train d’uploader la version courante, à noël justement elle sort en version alpha. Merci à tous ceux qui ont soutenu le projet, surtout pour les financements.

EDIT: Il reste encore du taff à faire, en changeant d’interface j’ai vu que le moteur de copie bugger…

EDIT2:Bug corrigé

EDIT3:Il reste encore des bug à corrigé dans la version release, donc dans le multi-thread pour les performances est activé

Dernier truc à faire, bientôt un truc utilisable

Bonjour, bonne nouvelle, j’ai fait le tour d’ultracopier, en gros il reste la pause à faire et la limitation de vitesse. Et aprés c’est fini!

Aprés je passe la version en alpha, et je ferai quelque autre interface, peu étre meme un moteur rsync, un http, bref, l’avenir sera plus tranquille.

Je pourrai aussi commencer les traductions, et mettre à jour les plugins et ultracopier séparément.

Maj du renommage dans ultracopier 0.3

Bonjour, en plus d’un certain nombre de bug fix que j’ai fait sur ultracopier, je me suis attaquer au renommage, il marche, même si il n’est pas optimal. Je prévois de faire une options pour personnalisé les régles de renommage dans les options du moteur de copie. Les performances du renommages en serie ne doivent pas être optimal, mais ça sera réglé bientôt.

Maintenant que la gestion des erreurs, celle des collisions est correcte, il manque encore de tester la fonction de pause, passé un fichier, et mettre à la fin en cas d’erreur.

Ultracopier qui s’ameliore

Comme dit précedement, Ultracopier s’ameliore, les algo sont meilleurs, j’ai corrigé pas mal de bug partout, préparé la version portable.il manque encore le fait de mettre en fin de liste aprés une erreur, bug sur le renomage, … mais ça prends forme, je doit aussi faire les testes d’intégrités de fichiers.

Maj des algo de correction d’erreur pour la sécurité des données

J’ai maj les algo de correction d’erreur pour la sécurité des données, pour une meilleur reprise sur erreur, mais j’ai pas encore fait l’implémentation.

transfer_write_error

transfer_write_error

transfer_read_error

transfer_read_error

transfer_normal

transfer_normal

Optimisation partiel du moteur de copie 0.3

J’ai publié la nouvelle version d’ultracopier, comme dab sur: Ultracopier-0.3.0.0-win32.zip, au programme, gain flagrant sur les petit fichiers, environs 2x comparer à ultracopier 0.2, et ce n’est pas fini, j’ai d’autre optimisation dans le sac pour ce genre de fichier. Grace à ça ultracopier à des performances sur les petits fichiers de 1er plan, juste avec cette optimisation.

Coté linux avec les drivers opensource et une ATI Radeon HD 5450 (autrement dit des performances 2D et graphique de merde), j’ai vu un gain net entre la version 0.2 et la version 0.3.

Je pense aussi jouer avec les tailles de buffer, block, et la tailles des queues pour maximisé le débit brute sur les gros fichiers.

Déjà qu’Ultracopier est meilleur sur les fonctionnalitées et pas mal d’autre point que teracopy, copy handler et supercopier, je pense faire aussi bien ou mieux coté performance. Il me reste une paire d’optimisation à faire, et Qt 4.8 me permettra d’étre plus performant aussi. Et je pense bien me défendre coté sécurité des données.

 

Sortie du moteur d’Ultracopier 0.3 en version sans gros bug

Bonjours, toujours à la même addresse:

http://files.first-world.info/ultracopier/tp/Ultracopier-0.3.0.0-win32.zip

J’ai maj Ultracopier avec le moteur 0.3 qui marche, il reste encore plein de bug, mais dans l’ensemble c’est utilisable.

Pour rappelle, il est comme: Teracopy (Certain l’appelle teracopier), copy handler (ou copyhandler), Supercopier
Ultracopier permet d’avoir un supercopier mac ;)

File transfer for file copy/move

Hello, here I will speak about file transfer to do copy/move. You need understand some basic therms.

I have discover which each OS and FS is different.

  • Windows/ntfs have correct fs layer, asynchronous inode and data layer, synchronous is not allowed and then flush return instantly regardless if is really written on the disk (prevent freeze the application, in all case data in memory lost application blocked or not). 
  • Linux/ext4 with partial asynchronous for data layer (in loop read/write the read block the write, and the write block the read), inode creations and manipulations are synchronous but due to low volume the aggressive access can be done without big lost of performance.
In my work I have found lot of problem, the main was:
  • close file descriptor after write lot of content call flush function or like, then is slow down while all file is not write, regardless if the hdd is idle or have few occupation.
  • In loop: read 1 block, write 1 block, the out of cache/buffer block the other operation without reason.
  • Inode access can be parallel to be grouped by the OS. At parallel copy, the mkdir to create the destination folder can concurrence then self.
  • The graphic thread, then the main thread can be slow down in some condition (like linux with slow open source graphic drivers and large file copy list), and the IO access is blocking.

Ultracopier 0.1

While { read (position); write (position) }

  • Advantage: Very simple, and used by the most of developer to have simple copy file.
  • Disadvantage: The missing cache do read blocking, then if buffer is not full, the write can be down without blocking but the loop and thread is blocked at read function and the contrary.
  • Implementation mistake: The slow down in interface slow down the copy.

Ultracopier 0.2

Thread 1: While { read (position); } , Thread pool for write: While { write (position); } close(); , and pipe like communication

  • Advantage: The close function is blocked in thread, and while is blocked another write thread is used. The read not block anymore the write, and the contrary (the different media have advantage, and the buffer and cache level can change separately and be in concurrency).
  • Disadvantage: It’s complicated on some programming aspect, I have need use goto to minimize the code, and have great big read function. The write thread decision is can be complicated too. The list parsing and read is same code for intuitive programming. Not parallel the extra programming like variable initialization, to prevent slow down for not real copy operation. Not parallel inode and data parallel operation possible. Can’t recovery destination file write corruption. 
  • Implementation mistake: Do with thread and lot of blocking function (not event to have cleaner design), based on 0.1 design. The slow down in interface slow down the copy.

Ultracopier 0.3

Thead 1: Copy list send/receive event (start transfer, stop transfer event), Thread list of {Read thread, Write thread, transfer thread} with pipe like communication.

  • Advantage: Can parallel the inode and data access, prevent no copy operation to slow down the copy. Can group inode access via parallel access, but data parallel is bad in general. Have asynchronous behavior like for all OS/FS (included synchronous OS/FS like linux/ext4). Very cleaner design, possible separate control on each transfer. Can recovery destination file write corruption. 
  • Disadvantage: Need master multi-thread, data locality, and lot of advanced algorithm.
The new copy engine is the best I have do, if you which do your copy engine to have better, make it has ultracopier plugin and compare with my copy engine.

Ultracopier maj avec le nouveau moteur de copie

Bonjour, j’ai maj ultracopier 0.3 avec le moteur de copie définitif, le 0.3, il est buggé, il reste un bug super dur à trouvé. Aprés il sera utilisable, mais pas d’une stabilité à toute épreuve.

J’ai mit aussi le moteur 0.2. Comme vous pouvez le voir, la nouvelle version est bien plus rapide dans certain cas que j’ai pu tester (linux + ext4).

J’ai pu avancé, mais pas plus du à mon départ d’espagne pour la bolivie. Je m’installe tranquillement. Mais une fois les maj implémenté je pense et fixer le bug du moteur de copie, je pense m’attaquer à quelque autre moteur de copie et avancé rapidement sur ces derniers. Ensuite je passerai le status en beta.

Ultracopier pre-alpha version 0.3.0.0 tp

Bonjour, pour ceux qui veulent avoir un bon aperçu de ce que sera ultracopier 0.3.0.0, j’ai mit un tp en pre-alpha (pas du tout stable) içi:

Ultracopier-0.3.0.0-win32.zip

C’est l’accumulation d’un ans de travail.

Go to Top