Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options

Re: Help w/ Code Optimization

by IlyaM (Parson)
on Dec 26, 2001 at 21:37 UTC ( #134424=note: print w/replies, xml ) Need Help??

in reply to Help w/ Code Optimization

Can't get your code to work. It dies with message:
Operation `**': no method found, left argument in overloaded package Math::BigFloat, right argument has no overloaded magic at line 17.


BTW It seems that using Math::BigFloat methods directly is slighly faster then relying on overloaded operations:

use Benchmark; use Math::BigFloat; timethese(1000, { Methods => sub { Math::BigFloat->new(100)->fmul(Math::BigFloat->ne +w(100)) }, Operations => sub { Math::BigFloat->new(100) * Math::BigFloat->new +(100) }, }); bash-2.05a$ perl Benchmark: timing 1000 iterations of Methods, Operations... Methods: 2 wallclock secs ( 1.48 usr + 0.01 sys = 1.49 CPU) @ 67 +1.14/s (n=1000) Operations: 1 wallclock secs ( 1.63 usr + 0.00 sys = 1.63 CPU) @ 61 +3.50/s (n=1000)

Ilya Martynov (

Replies are listed 'Best First'.
Re: Re: Help w/ Code Optimization
by sifukurt (Hermit) on Dec 26, 2001 at 21:46 UTC
    Sorry, I guess I should have specified what version of Math::BigInt you need. You need to have at least v1.47. I believe that was the first version that had "**" overloaded. Thanks for the suggestion on using the methods directly. I'll try that.
      Moreover using subroutine calls should be even more faster. That is use Math::BigFloat::OP($num) instead of $num->OP.

      Ilya Martynov (

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others surveying the Monastery: (1)
As of 2023-03-31 02:34 GMT
Find Nodes?
    Voting Booth?
    Which type of climate do you prefer to live in?

    Results (74 votes). Check out past polls.