Quali altri mezzi suggerisce? Questa è l'opzione più veloce che ho trovato finora...
Ottimizzare la logica. Per esempio, lavorare con gli array e i loop. Prova a impacchettare i valori dei criteri in un array. E fare i controlli in un ciclo. Forse allora non ci sarà bisogno in 74 mila casi...
1. No, non l'hanno fatto - cosa dovrei vederci esattamente? Non so davvero come usarlo.
2. è la variante "case :" e non la variante "if" che dà un significativo aumento di velocità. Se lo fai anche solo come
Il codice diventerà ancora più veloce... Ma si può certamente confrontare il tempo di compilazione e le prestazioni...
1. Lì vedrete le parti più lente del codice. Anche se... Un'altra domanda è se influisce sulla compilazione...
2. Come volete: potete usare il caso. Ti è stato consigliato di suddividerlo in funzioni più piccole. Spezzatelo e testatelo. Sì, certo, il codice diventerà più grande. Ma cosa fare.
@Renat Fatkhullin, per favore chiarisci, il profiler può aiutare a rivelare i colli di bottiglia della compilazione? O usarlo solo per controllare la velocità del codice in tempo reale?
Vorrei trasferire questa enumerazione, diciamo, in un file CSV esterno, ma poi sorge un altro problema - perdita di tempo per leggere il file, e inoltre, quando si distribuiscono i compiti agli agenti non sono in grado di inviare ad ogni agente 500 megabyte, mentre il codice EA viene inviato ad un agente (o no?) e diviso tra loro.
E un'altra domanda, il mio codice è facilmente compresso da 7zip da 500 a 15 megabyte, ma dopo la compressione, il file sarà circa 500 - perché è così - nessun modo per fare una compressione primitiva (almeno fino a 100 megabyte)?
Comprimere il file con lo zip. Leggere zip, decomprimere all'interno. Sarà più veloce che trasferire 500 Mb di EA (viene anche trasferito ad ogni agente).
Alexey Kozitsyn: @Renat Fatkhullin, potresti per favore chiarire, il profiler può aiutare a rivelare i colli di bottiglia della compilazione? O usarlo solo per controllare la velocità del codice in tempo reale?
Il profiler non ha nulla a che fare con la compilazione.
Профилирование — это сбор характеристик программы во время ее выполнения. При профилировании замеряется время выполнения и количество вызовов отдельных функций и строк в коде программы. При помощи этого инструмента программист может найти наиболее медленные участки кода и провести их оптимизацию. Профилирование можно проводить на обычном...
Il profiler è già stato suggerito?
Opzione n. 2. Prendete ogni riga di tipo:
in una funzione separata. Prova a credere a Renate:)
Cioè il risultato dovrebbe essere come questo alla fine:
ecc.Sì, c'è un link all'EA qui.
Sono passati due giorni - la compilation è al 7%...
Su questa macchina.
Il profiler è già stato offerto?
No, non l'ha fatto - cosa dovrei vederci esattamente? Non so davvero come usarlo.
Opzione 2. Per mettere ogni riga del tipo:
in una funzione separata. Prova a credere a Renate:)
Cioè il risultato dovrebbe essere così alla fine:
ecc.È la variante "case :" e non la variante "if" che dà un significativo guadagno di velocità in questo caso. Se lo fai anche solo come
Il codice diventerà ancora più grande. Ma potete confrontare il tempo di compilazione e le prestazioni, naturalmente...
Su questa macchina.
Sì, quel codice non è grande, non ho postato un codice da 500 megabyte - se ne hai bisogno posso...
Quali altri mezzi suggerisce? Questa è l'opzione più veloce che ho trovato finora...
Ottimizzare la logica. Per esempio, lavorare con gli array e i loop. Prova a impacchettare i valori dei criteri in un array. E fare i controlli in un ciclo. Forse allora non ci sarà bisogno in 74 mila casi...
1. No, non l'hanno fatto - cosa dovrei vederci esattamente? Non so davvero come usarlo.
2. è la variante "case :" e non la variante "if" che dà un significativo aumento di velocità. Se lo fai anche solo come
Il codice diventerà ancora più veloce... Ma si può certamente confrontare il tempo di compilazione e le prestazioni...
1. Lì vedrete le parti più lente del codice. Anche se... Un'altra domanda è se influisce sulla compilazione...
2. Come volete: potete usare il caso. Ti è stato consigliato di suddividerlo in funzioni più piccole. Spezzatelo e testatelo. Sì, certo, il codice diventerà più grande. Ma cosa fare.
Vorrei trasferire questa enumerazione, diciamo, in un file CSV esterno, ma poi sorge un altro problema - perdita di tempo per leggere il file, e inoltre, quando si distribuiscono i compiti agli agenti non sono in grado di inviare ad ogni agente 500 megabyte, mentre il codice EA viene inviato ad un agente (o no?) e diviso tra loro.
E un'altra domanda, il mio codice è facilmente compresso da 7zip da 500 a 15 megabyte, ma dopo la compressione, il file sarà circa 500 - perché è così - nessun modo per fare una compressione primitiva (almeno fino a 100 megabyte)?
Comprimere il file con lo zip. Leggere zip, decomprimere all'interno. Sarà più veloce che trasferire 500 Mb di EA (viene anche trasferito ad ogni agente).
@Renat Fatkhullin, potresti per favore chiarire, il profiler può aiutare a rivelare i colli di bottiglia della compilazione? O usarlo solo per controllare la velocità del codice in tempo reale?
Il profiler non ha nulla a che fare con la compilazione.