Come valutare CLR / C ++ vs C ++ nativo?

2

Come dovrei andare a valutare le prestazioni o il tempo di esecuzione di C ++ con CLR rispetto al C ++ nativo?

Il mio pregiudizio personale è che credo che C ++ con CLR sia più lento dal momento che deve essere eseguito su una macchina virtuale. Devo anche ammettere che non sono mai stato davvero un fan di Visual C ++ a causa della sintassi che è stata aggiunta, quindi volevo sapere come valutare le prestazioni dei due approcci e determinare quale sia provabilmente più veloce invece di fare affidamento solo sul mio pregiudizi.

    
posta Joe 30.12.2013 - 13:18
fonte

2 risposte

1

Ho fatto alcuni benchmark in passato da solo, e la mia esperienza è stata che il C ++ nativo era circa un fattore 2 più veloce di C ++ / CLI per il mio caso aziendale tipico , senza alcuna modifica rilevante nel codice - Il tuo chilometraggio può variare. Per me, un fattore 2 era quasi sempre del tutto accettabile da attaccare al lato C ++ / CLI, perché l'interazione con il framework .NET e altro codice .NET era molto più importante per me di questo guadagno di prestazioni.

    
risposta data 30.12.2013 - 14:04
fonte
1

Bene, come sempre questo tipo di domande non può essere risposto con un assoluto sì o no.

Le mie esperienze in generale sono che C ++ / CLI ha prestazioni abbastanza veloci da consentirmi di lavorare con esso in applicazioni desktop, wrapper di librerie C o simili. Tuttavia, se avessi avuto bisogno di costruire un grande sistema in tempo reale, non lo userei.

Devi dare un'occhiata a ciò di cui hai bisogno per utilizzarlo e se è davvero critico per le prestazioni, dovresti costruire un prototipo - o modello o qualsiasi altra cosa tu voglia chiamarlo - e fare un benchmark. Hai un sacco di dischi IO? Hai bisogno di molte allocazioni di memoria variabili? Hai dei vincoli in tempo reale?

    
risposta data 30.12.2013 - 13:27
fonte

Leggi altre domande sui tag