PDA

View Full Version : [c] velocizzare un pezzo di codice


czar
19-05-2008, 11:46
allora, sto leggendo una pcx, e in questo pezzo di codice, una volta letti per quante "packto" volte si ripete un certo valore (run lenght), vado a copiare per "packto" volte il valore "data" (unsigned char) nel puntatore a unsigned char sumPointer.

for(depack=packto; depack>0; depack--)
{
*(sumPointer)=data;
sumPointer++;
counter++;
}


c'è un modo per velocizzare tutto, visto che conosco quante volte dovrò scrivere il valore "data"?

gugoXX
19-05-2008, 11:58
allora, sto leggendo una pcx, e in questo pezzo di codice, una volta letti per quante "packto" volte si ripete un certo valore (run lenght), vado a copiare per "packto" volte il valore "data" (unsigned char) nel puntatore a unsigned char sumPointer.

for(depack=packto; depack>0; depack--)
{
*(sumPointer)=data;
sumPointer++;
counter++;
}


c'è un modo per velocizzare tutto, visto che conosco quante volte dovrò scrivere il valore "data"?

Prova a valutare la funzione memset.

DanieleC88
19-05-2008, 13:16
Prova a valutare la funzione memset.
A livello funzionale siamo più o meno lì, alla fine suppongo sia implementata in una maniera molto simile... Ma almeno gli evita di reinventare la ruota. :)