Optimized trigometry
- Berichten: 829
Optimized trigometry
Weet er iemand een methode die de berekeningen van trigometry sneller maken, mits dan wel natuurlijk een zekere foutmarge, ik werk namelijk aan een stuk code die gigantisch vertraagd door de lange berekeningen van Sinussen en Cosinussen.
"Als je niet leeft zoals je denkt, zul je snel gaan denken zoals je leeft."
--Vladimir Lenin-- (Владимир Ильич Ульянов)
--Vladimir Lenin-- (Владимир Ильич Ульянов)
-
- Berichten: 4.502
Re: Optimized trigometry
Geef eens een berekening of vraagstuk op ;ik gebruikte zoiets dergelijks ook in mijn QB 45-programma's,moest wel graden omrekenen in radialen,dus de ingevoerde graden delen door 57.29578 omdat mijn wrs.amerikaanse QB-systeem werkt met radialen.
Bij het resultaat weer terugrekenen in graden!
Bij het resultaat weer terugrekenen in graden!
- Berichten: 5.679
Re: Optimized trigometry
Geef eens een voorbeeld van zo'n formule die je uitrekent? Want behalve programmeertruukjes kun je beter eerst op algoritmisch niveau optimaliseren. Als je 3 sinussen kunt ombouwen tot 1 is dat beter.
Als het dan nog steeds te traag is: lookup tables?
Als het dan nog steeds te traag is: lookup tables?
In theory, there's no difference between theory and practice. In practice, there is.
- Berichten: 7.224
Re: Optimized trigometry
Of probeer een andere library:
http://mathnet.opensourcedotnet.info/
Als je echt performance wilt hebben en er ook een euro of 1500 voor neer wilt tellen, dan is de ISML library wel wat:
http://www.vni.com/products/imsl/
http://mathnet.opensourcedotnet.info/
Als je echt performance wilt hebben en er ook een euro of 1500 voor neer wilt tellen, dan is de ISML library wel wat:
http://www.vni.com/products/imsl/
If I have seen further it is by standing on the shoulders of giants.-- Isaac Newton
- Berichten: 5.679
Re: Optimized trigometry
Ik heb trouwens geen ervaring met C# maar kun je daar in release (optimized) mode de asm code zien die hij ervan maakt? Ik neem toch wel aan dat C# net als C++ compileert naar optimized FPU code enzo, en niet halfslachtig gaat lopen scripten/interpreten/ansi-complient-emuleren/whatever?
In theory, there's no difference between theory and practice. In practice, there is.
- Berichten: 7.224
Re: Optimized trigometry
Ik heb trouwens geen ervaring met C# maar kun je daar in release (optimized) mode de asm code zien die hij ervan maakt? Ik neem toch wel aan dat C# net als C++ compileert naar optimized FPU code enzo, en niet halfslachtig gaat lopen scripten/interpreten/ansi-complient-emuleren/whatever?
C# compileert naar MLIS (Microsoft Intermediate Language) code. Deze kan vervolgens door de Common Language Runtime (CLR) uitgevoerd worden. Een beetje heel erg a la Java dus.
If I have seen further it is by standing on the shoulders of giants.-- Isaac Newton
- Berichten: 5.679
Re: Optimized trigometry
Oh
Nou TS, dan heb ik hier een tip voor je die echt veel snelheid gaat opleveren: doe het in C++
Nou TS, dan heb ik hier een tip voor je die echt veel snelheid gaat opleveren: doe het in C++
In theory, there's no difference between theory and practice. In practice, there is.
- Berichten: 6.905
Re: Optimized trigometry
Math.Net is een heel goede library. Ik zou eerst wiskundig optimaliseren en dan kijken wat de snelheid is. Je zou uiteraard een tabel kunnen maken en opzoeken maar ik weet niet of je snelheid gaat winnen.
Het vel van de beer kunnen verkopen vraagt moeite tenzij deze dood voor je neervalt. Die kans is echter klein dus moeten we zelf moeite doen.
-
- Berichten: 83
Re: Optimized trigometry
C# doet een geoptimaliseerde Compilatie voor die ene machine bij de eerste run van het programma, daarom is C# veel sneller dan java. zoek de benchmarks maar eens op.Ik heb trouwens geen ervaring met C# maar kun je daar in release (optimized) mode de asm code zien die hij ervan maakt? Ik neem toch wel aan dat C# net als C++ compileert naar optimized FPU code enzo, en niet halfslachtig gaat lopen scripten/interpreten/ansi-complient-emuleren/whatever?
Java heeft alleen JIT compilatie voor sommige dingen het wordt nooit een "echt" programma.
Als je het echt goed wil doen, schrijf een DLL in C++ en asm en gebruik deze in je programma
Niks is zo snel als een lookup table, maar je "mist" wel bepaalde waarden. voor sommige toepassingen maakt dat echter niks uit..Math.Net is een heel goede library. Ik zou eerst wiskundig optimaliseren en dan kijken wat de snelheid is. Je zou uiteraard een tabel kunnen maken en opzoeken maar ik weet niet of je snelheid gaat winnen.