Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much
 
PerlMonks  

Re^3: Near equal partitions.

by ikegami (Pope)
on Jan 14, 2011 at 05:53 UTC ( #882291=note: print w/replies, xml ) Need Help??


in reply to Re^2: Near equal partitions.
in thread Near equal partitions.

Just one question. Is the Perl interpreter smart enough to know that int($n/$m) should use integer division rather than floating point division?

No.

i.e. would there be any difference in performance betwee int($n/$m) vs. ($n-$r)/$m?

Sorry, you asked to ask two questions. But to save you from having to ask to ask another question, I'll answer it anyway.

Performance should be roughly the same (4 trivial ops in the former, 5 trivial ops in the latter). The latter is better from a numerical methods point of view, no possibility of floating point error.

Replies are listed 'Best First'.
Re^4: Near equal partitions.
by happy.barney (Friar) on Jan 14, 2011 at 07:24 UTC
    btw, what about use integer? It looks it's little bit faster with that.
      There's benchmarking code elsewhere in the thread. It should be easy to add a 'use integer' case.
        with that code
        sub ikei { my ($n, $m) = @_; use integer; my $q = $n / $m; my $r = $n % $m; return ($q+1) x $r, ($q) x ($m-$r); }
        Rate ike ikei ike 50.8/s -- -4% ikei 52.8/s 4% -- Rate ike ikei ike 50.5/s -- -5% ikei 52.9/s 5% --

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://882291]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others lurking in the Monastery: (6)
As of 2020-01-26 22:02 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Notices?