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

Re^5: Exploring Inline::C (Generating primes)

by wazoox (Prior)
on Oct 28, 2011 at 20:20 UTC ( #934501=note: print w/replies, xml ) Need Help??


in reply to Re^4: Exploring Inline::C (Generating primes)
in thread Exploring Inline::C (Generating primes)

OK, I see : the perl comments are included in the C source, and of course a line beginning with a # has unexpected effects there :) So adding a // in front of lines 137 and 164 saves the day:

perl test.pl
1..3
ok 1 - The first 501 primes are found from 1 to 3571.
ok 2 - external_cpp() function gives same results as basic_perl().
ok 3 - inline_c() function gives same results as basic_perl().
# 
# Comparing basic_perl(), external_cpp(), and inline_c() for
# 5 seconds searching 150000 integers.
# 
                Rate   basic_perl external_cpp     inline_c
basic_perl   0.984/s           --         -90%         -96%
external_cpp  9.45/s         860%           --         -58%
inline_c      22.6/s        2197%         139%           --
# 
# I love it when a plan comes together.
# 
  • Comment on Re^5: Exploring Inline::C (Generating primes)

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://934501]
help
Chatterbox?
[LanX]: '&;@' is a parsing error
[GotToBTru]: by itself, yes, but used in sub pre(&;@) not so
[LanX]: &; is interpreted as a function call, but the @ has no meaning
[LanX]: OH
[LanX]: you are talking about signatures?
[GotToBTru]: yes, it turns out I am
[LanX]: http://perldoc. perl.org/perlsub. html#Prototypes
[GotToBTru]: that page, strangely enough, never mentions that construct
[LanX]: ; is for optional prototypes
[LanX]: & is codeblock @ array

How do I use this? | Other CB clients
Other Users?
Others chanting in the Monastery: (9)
As of 2017-01-18 21:12 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Do you watch meteor showers?




    Results (164 votes). Check out past polls.