Siccome di multithreading/multiprocessing ne so poco, o meglio, li ho usati in Python ma onestamente non sono mai stato un guru e vorrei evitarmi di studiarmeli per il C++, perchè son sicuro uscirebbe un massacro, quindi volevo sapere se ha senso usare Python per eseguire in multiprocessing un altro programma (eseguito più volte), quindi semplicemente lanciare processi in base a CPU/RAM.

Il problema del programma in C++ è che fa tanti calcoli, mettere in parallelo i calcoli è un suicidio, mettere in parallelo l'intero programma e fargli semplicemente fare i calcoli che faresti in sequenza ma tutti insieme invece è fattibile (invece di eseguire programma a con numeri X aspettare la terminazione e poi rieseguirlo con numeri Y per poi aspettare e rieseguire per Z e così via runnare direttamente X/Y/Z).

Oltretutto come faccio a stabilire quanti processi posso lanciare nel caso evitando di farlo decidere al sistema semplicemente osservando CPU/RAM?

Spero di essere stato chiaro e nel caso scrivetemi le perplessità nelle quali non mi sono spiegato che proverò a esserlo di più.

Grazie mille