Attualmente codice in PHP. Recentemente ho lavorato su un progetto usando PHP e Symfony che:
- legge file XML di grandi dimensioni (un sacco di analisi / lettura DOM),
- converte file XML di grandi dimensioni in array di grandi dimensioni,
- unisce 2 array di grandi dimensioni (un sacco di ordinamenti di array),
- prende i 2 grandi array e li trasforma in un file CSV di grandi dimensioni.
L'ho terminato in PHP, ma ora richiede una certa quantità di memoria e richiede circa 8-15 secondi per essere eseguito. Così ora ho le seguenti opzioni e ho bisogno di aiuto per sceglierne una:
- Prova a riscriverlo / refactoring usando metodi migliori in PHP
- Scegli un linguaggio di programmazione diverso (ho voluto impararne uno, forse un altro linguaggio elabora queste cose molto più velocemente?)
- Fai 1 o 2 e inoltre imposta qualcosa per leggere costantemente i file xml e scriverli su documenti MongoDB per servire i client dal database invece di rottamare i dati.
Sono propenso a fare 2 o 3 (usando una lingua diversa), poiché sono sicuro che c'è un altro linguaggio che gestisce questo tipo di attività molto più velocemente (ad esempio Python, C ecc.). È solo che non sono sicuro di quale.