440,715 Members | 768 Online
Need help? Post your question and get tips & solutions from a community of 440,715 IT Pros & Developers. It's quick & easy.

# int vs. float in benchmark testing

 P: n/a Would adding .0 to each of the numbers below turn this into a floating point test? Seems too easy. def cpu_test(): import time start = time.time() x = 0 # 0.0 while x < 9999999: # 9999999.0 x = x + 1 # 1.0 print x print (time.time()-start)/60 cpu_test() Jul 18 '05 #1
6 Replies

 P: n/a Bart Nessux wrote: Would adding .0 to each of the numbers below turn this into a floating point test? Seems too easy. def cpu_test(): import time start = time.time() x = 0 # 0.0 while x < 9999999: # 9999999.0 x = x + 1 # 1.0 print x print (time.time()-start)/60 cpu_test() Uh, yes it would, as far as it goes, but are you sure you're learning something useful by doing so? Floats are always slower than ints, but you really shouldn't be concerned about speed anyway. The way to decide which to use is this: if you need floating point because you are doing math that involves fractional values, then use floating point. Otherwise use ints. End of story. No performance considerations in most code. -Peter Jul 18 '05 #2

 P: n/a Peter Hansen wrote: Bart Nessux wrote:Would adding .0 to each of the numbers below turn this into a floatingpoint test? Seems too easy.def cpu_test(): import time start = time.time() x = 0 # 0.0 while x < 9999999: # 9999999.0 x = x + 1 # 1.0 print x print (time.time()-start)/60cpu_test() Uh, yes it would, as far as it goes, but are you sure you're learning something useful by doing so? Uh, yes. We're benchmarking different processors. An IBM PPC 970 does things differently than an Intel P4. Running the same bit of Python code on both makes for an interesting comparison. Since processors handle ints and floats differently, it is useful for me to test them both. Jul 18 '05 #3

 P: n/a Bart Nessux wrote: Uh, yes. We're benchmarking different processors. An IBM PPC 970 does things differently than an Intel P4. Running the same bit of Python code on both makes for an interesting comparison. Since processors handle ints and floats differently, it is useful for me to test them both. Then why not get yourself some real benchmarks? Benchmarks are a tricky thing. Unless your real code is doing something that looks an awful lot like the above (looping and adding 1.0 to things a lot), it seems unlikely what you learn will really be what you wanted to learn. -Peter Jul 18 '05 #4

 P: n/a In article , Bart Nessux wrote: Peter Hansen wrote: Bart Nessux wrote:Would adding .0 to each of the numbers below turn this into a floatingpoint test? Seems too easy.def cpu_test(): import time start = time.time() x = 0 # 0.0 while x < 9999999: # 9999999.0 x = x + 1 # 1.0 print x print (time.time()-start)/60cpu_test() Uh, yes it would, as far as it goes, but are you sure you're learning something useful by doing so? Uh, yes. We're benchmarking different processors. An IBM PPC 970 does things differently than an Intel P4. Running the same bit of Python code on both makes for an interesting comparison. Since processors handle ints and floats differently, it is useful for me to test them both. I bet (significantly) more time is being spent in the python byte code processing machinery than the actual chip-level instructions performing the integer and floating point math, so your processor-differential results will be masked by that. Dave Jul 18 '05 #5

 P: n/a On Fri, 20 Feb 2004, Peter Hansen wrote: Bart Nessux wrote: Uh, yes. We're benchmarking different processors. An IBM PPC 970 does things differently than an Intel P4. Running the same bit of Python code on both makes for an interesting comparison. Since processors handle ints and floats differently, it is useful for me to test them both. Then why not get yourself some real benchmarks? Marc-Andre Lemburg's PyBench covers this sort thing. -- Andrew I MacIntyre "These thoughts are mine alone..." E-mail: an*****@bullseye.apana.org.au (pref) | Snail: PO Box 370 an*****@pcug.org.au (alt) | Belconnen ACT 2616 Web: http://www.andymac.org/ | Australia Jul 18 '05 #6

 P: n/a On Fri, 20 Feb 2004 09:53:04 -0500, Peter Hansen wrote: I think you'll mainly be benchmarking the 'print x' rather than the int/float comparison and int/float addition. Bart Nessux wrote: Would adding .0 to each of the numbers below turn this into a floating point test? Seems too easy. def cpu_test(): import time start = time.time() x = 0 # 0.0 while x < 9999999: # 9999999.0 x = x + 1 # 1.0 print x print (time.time()-start)/60 cpu_test()Uh, yes it would, as far as it goes, but are you sure you'relearning something useful by doing so? Floats are always slowerthan ints, but you really shouldn't be concerned about speedanyway.The way to decide which to use is this: if you need floatingpoint because you are doing math that involves fractional values,then use floating point. Otherwise use ints. End of story.No performance considerations in most code.-Peter Jul 18 '05 #7

### This discussion thread is closed

Replies have been disabled for this discussion.