webForumDet fria alternativet

C# vs C/C++

.NET

5 svar · 431 visningar · startad av P

Medlem sedan jan. 20012 204 inlägg
Frågan#1

Har tänkt utveckla ett program som jag beräknar kunna ta väldigt lång tid att exekvera, stort optimeringsproblem som ska lösas. Om jag har bra skriven kod i c# och c/c++ kommer de då att ta lika lång tid att exekvera, någon som har någon bra adress som jämför prestandard?

Medlem sedan juli 200012 978 inlägg
#2

Jag är ganska säker på att C++ går snabbare när det gäller beräkningar.
Det är svårt att sia utan att man vet vad det handlar om!

Medlem sedan aug. 20003 575 inlägg
#3

Att C/C++ är betydligt bättre prestanda stämmer bra.

Men det finns några frågor du kan ställa till dig själv.

  • Hur bra kan du C/C++ vs C#?
  • Eftersom det går fortare att utveckla i C# om kunskapen är lika kanske det är bättre med C#
  • Kan du kompensera prestandan med hårdvara?
  • Är prestanda presentationen kritisk?

Ge lite tips på vad det är för slags beräkningar applikationen skall utföra

Medlem sedan juni 20008 205 inlägg
#4

"Optimeringsproblem", låt mig gissa att det handlar om massvis med sökning, och därmed rekursion? Då skulle jag gissa att C++-programmet kan gå lite snabbare, men förmodligen inte relativt mängden arbete som utförs. När det gäller såna här problem är det algoritmer och programdesign som gör skillnad snarare än valet av miljö.

Medlem sedan aug. 20003 575 inlägg
#5

spango skrev:

"Optimeringsproblem", låt mig gissa att det handlar om massvis med sökning, och därmed rekursion? Då skulle jag gissa att C++-programmet kan gå lite snabbare, men förmodligen inte relativt mängden arbete som utförs. När det gäller såna här problem är det algoritmer och programdesign som gör skillnad snarare än valet av miljö.

Självklart är designen och val av algorithmer avgörande.

Men jag antar efter att frågan är ställd på ett sådant sätt att algorithmer och liknande som skall användas redan är avgjort.
Och därför kommer och frågar av val av miljö.

Men som du säger vilken algorithm man väljer är avgörande för prestandan. Men blir algorithmen implementerad i C istället för C# så är fortfarande prestandan högre i C. Frågan är bara om man verkligen måste ha den prestanda höjningen mellan C och C#.

Medlem sedan juni 20008 205 inlägg
#6

Jo, förvisso. Men poängen med mitt inlägg var att om det nu är som jag misstänker, att det är skitmycket sökning som ska utföras med tonvis av rekursion, är de prestandavinster man får av C(++) rätt obetydliga, och framför allt inte direkt relativa till hur mycket arbete som utförs. Om C#-programmet tar dubbelt så lång tid på en liten datamängd som C++-programmet, kommer det med all sannolikhet inte att göra det på en större datamängd.

259 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
116 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)