andreapav
11-04-2016, 17:47
Ciao a tutti.
Premesso che non sono un grande esperto di C++, ho riscritto (sto riscrivendo) una applicazione da C# in C++.
I metodi sono praticamente uguali, cambiano naturalmente certe strutture dati (in pratica da liste a vector) ma appunto i metodi sono uguali e anche il numero di iterazioni (non ci sono bug - al max qualche memory leak ma sono ancora a esecuzione singola).
Il risultato sorprendente è che il C# è più veloce del C++ !!
Caratteristica di questa applicazione è che ho a che fare con tantissimi piccoli oggetti diversi che vengono creati, ci si butta dentro qualcosa, si fanno due conti e per quell'oggetto si associa un punteggio.
Ho notato che, almeno da test veloci, nell'inizializzazione di un oggetto il c# sia più veloce.. non so se sia proprio vero comunque..
Può essere che in un caso come questo non sia vera la regola per cui il C++ è più efficiente? Cosa devo tener conto per poter scegliere in maniera sensata C++ o C#?
Come immaginate, non vorrei arrivare alla fine per rendermi conto che non ho guadagnato in tempo ma tutt'altro...
Grazie delle vostre impressioni!
Premesso che non sono un grande esperto di C++, ho riscritto (sto riscrivendo) una applicazione da C# in C++.
I metodi sono praticamente uguali, cambiano naturalmente certe strutture dati (in pratica da liste a vector) ma appunto i metodi sono uguali e anche il numero di iterazioni (non ci sono bug - al max qualche memory leak ma sono ancora a esecuzione singola).
Il risultato sorprendente è che il C# è più veloce del C++ !!
Caratteristica di questa applicazione è che ho a che fare con tantissimi piccoli oggetti diversi che vengono creati, ci si butta dentro qualcosa, si fanno due conti e per quell'oggetto si associa un punteggio.
Ho notato che, almeno da test veloci, nell'inizializzazione di un oggetto il c# sia più veloce.. non so se sia proprio vero comunque..
Può essere che in un caso come questo non sia vera la regola per cui il C++ è più efficiente? Cosa devo tener conto per poter scegliere in maniera sensata C++ o C#?
Come immaginate, non vorrei arrivare alla fine per rendermi conto che non ho guadagnato in tempo ma tutt'altro...
Grazie delle vostre impressioni!