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?
"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ö.
"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#.
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