On 25 Feb 2010, at 11:16 , GewoonAnthony wrote:

> Omdat deze berekening heel veel voorkomt wil ik de tabel in
> een variabel gebruiken [...]
> hoe zoek ik het meest efficient bij het bijbehorende bedrag het
> percentage op. [...]
> is het efficient om veel gebruikte tabellen inderdaag in het
> geheugen te laden? En wat is de maximale omvang qua efficiency.

Allemaal vragen die volgens mijn duiden op premature optimization.  Waarom maak 
je niet eerst iets dat functioneert, en mocht de tabel-lookup een performance 
bottleneck blijken te zijn, kun je die altijd nog verfijnen.


> 15000     -   16500          25%
> 16500     -    23000         30%

Een eerste aanzet zou kunnen zijn om deze gegevens op te slaan in een list van 
tuples (ondergrens, bovengrens, precentage), en dan linear te doorzoeken om een 
percentage te bepalen bij een bepaald bedrag.

Als je tabel geen gaten bevat, maar de schijven mooi opelkaar aansluiten, zou 
je maar één grens hoeven op te slaan.  En als de lineare zoek te traag blijkt, 
zou je je tabel gesorteerd in een sequence kunnen zetten en met een binaire 
zoekmethode (bisect module) razendsnel een percentage op kunnen zoeken.  Maar 
dan zit je dus al in de optimaliseringsfase ;-)

Groets,



_______________________________________________
Python-nl mailing list
Python-nl@python.org
http://mail.python.org/mailman/listinfo/python-nl

Antwoord per e-mail aan