QT5 C++ versus Python
Nel Giugno di quest’anno mi è stato chiesto di far diventare stand-alone un applicazione in Python eseguita attraverso Maya, per motivi di praticità e di licenze non era più possibile far partire Maya e successivamente lo script in Python, bisognava creare un eseguibile che facesse lo stesso lavoro ma completamente staccato da Maya.
L’applicazione permette di creare una directory che contiene tutti gli asset (files di maya, textures etc.) di un progetto che un producer seleziona attraverso l’interfaccia dello script e che vuole inviare ad un fornitore. Una volta aperto Maya e lanciato lo script, a detta di alcuni colleghi in quei casi in cui si dovevano copiare molti asset, si arrivava facilmente a 30 GB, e l’applicazione occupava la macchina anche 8 ore..
All’inizio ho pensato di usare le PythonQT, mi trovavo del codice già fatto, o meglio così pensavano le persone che mi hanno commissionato il lavoro. Purtroppo il codice scritto da altri presenta sempre qualche insidia, per usare un eufemismo, e strapparlo dal contesto di Maya per farlo vivere da solo, non era per me, la cosa più facile da fare, avrei dovuto riscrivere la stragrande maggioranza del codice.
Mi sono detto, viste le prestazioni, se uso C++ con Qt5 la situazione non può che migliorare.
Grazie all’esperienza accumulata durante il lavoro su OpenCV, ho potuto realizzare quanto progettato in meno di due mesi, nonostante le informazioni che mi sono arrivavate durante il periodo di sviluppo non fossero complete e precise. Ma quella è un’altra storia.
Le prestazioni? A detta dei mie ex-colleghi le prestazioni sono passate da 8 ore a 3/5 minuti per 30 GB di impacchettamento.. Con questo non voglio denigrare Python, quello script veniva eseguito attraverso un applicazione e il codice si bloccava spesso, perché revisionato più volte da persone diverse, ma indubbiamente un programma in C++ ha sempre il suo perché.