si le volume des donnée est de l'ordre de quelque mega, la seul operation d'ecriture devrais avoir une duree de l'ordre de quelque seconde (dans le pir des cas sur le commun des disque dur), ou alors tu ecris sur un autre type de peripherique.
donc tu as reelement besoin de profiler, avec gprof si tu compiles avec un compilateur gnu (gcc, g++, ...), pour voir le temps passer dans chaque fonctions par exemple et determiner en un coup d'eil celle aurait reelement besoin d'etre optimimisee
c'est possible qu'avec strcat ca soit plus lent mais comme je l'avais dit enchainer des strcat sur la meme chaine est tres inefficace
regarde du coté des extensions gnu (si tu utilises un compilateur gnu), je pensais que ce probeleme etait resolu mais il y a un exemple (source de la fonction concat) dans la doc de la glibc
http://www.gnu.org/software/libc/m [...] catenation