Ridurre tempo esecuzione ultimi due test HW4

g
gullisa (1170 points)
7 24 31
asked Nov 9, 2020 in HW4 obbligatorio by gullisa (1,170 points)
edited Nov 9, 2020 by gullisa
Ciao a tutti,

consigli per incrementare la velocità di esecuzione negli ultimi due test (il mio codice sfora minimamente a causa delle sottofunzioni che mappano le vocali accentate a quelle non accentate e secondariamente nella sottofunzione che crea gli ES)? Nota: ho disabilitato il timeout per vedere la durata effettiva.

Grazie
230 views

3 Answers

AdSum (16290 points)
9 20 134
answered Nov 9, 2020 by AdSum (16,290 points)
Non conosciamo ne il tuo codice ne la tua logica, quindi è difficile darti un consiglio.
Comunque, la miglior maniera di velocizzare il codice è di evitare il più possibili i cicli, preferendo singole operazioni quando possibile, e ridurre il più possibile le operazioni, evitando quelle superflue e inutili ripeizioni, e quindi lasciando solo le necessarie.
g
gullisa (1170 points)
7 24 31
commented Nov 9, 2020 by gullisa (1,170 points)
Grazie, hai ragione. Allora: la logica è che le vocali vengono mappate tramite una tabella di traduzione su tutto il testo (tramite un metodo delle stringhe...) e che poi gli ES vengono creati seguendo la sequenza suggerita nel testo del problema verificando che un carattere faccia o meno parte dell'insieme delle vocali (in questa funzione generatrice degli ES uso una condizione di verifica all'interno di un ciclo).
AdSum (16290 points)
9 20 134
commented Nov 9, 2020 by AdSum (16,290 points)
Non vedo falle nel tuo ragionamento, probabilmente puoi ottimizzare altro. Calcola comunque una cosa, il tempo sulla tua macchina è differente rispetto a quella della VM.
andrea.sterbini (172680 points)
511 927 1776
answered Nov 9, 2020 by andrea.sterbini (172,680 points)
Nota, il timeout quando ferma un test impiega pochi millisecondi a stopparlo, per cui sembra di aver sforato di poco, ma il tempo vero può essere maggiore.
giordano_sannino (13650 points)
7 16 81
answered Nov 9, 2020 by giordano_sannino (13,650 points)
sicuro che il tuo tempo reale sia quello?
g
gullisa (1170 points)
7 24 31
commented Nov 9, 2020 by gullisa (1,170 points)
sì, ho disabilitato il timeout