-cerca di chiamare meno volte possibile la funzione. Quindi meglio passare tutto il testo in una volta, e poi gestire la situazione, piuttosto che passare il testo riga per riga.
-senza sapere come è articolata la funzione, è difficile darti consigli, però alcune cose abbastanza comuni, da evitare sono ad esempio evitare di salvarsi gli ES che non servono, infatti ti servono solo i finali.
-la tua funzione di divisione in sillabe dovrebbe essere molto semplice. La cosa che porta via più tempo è controllare ad uno ad uno i caratteri. Dopo ogni controllo, il programma dovrebbe fare un'operazione semplice, tipo aumentare un contatore.