fireartist has asked for the wisdom of the Perl Monks concerning the following question:
I've not attempted to use Inline::C since my last flirt, 3 years ago (Inline::C - object accessor failure) and my C knowledge is still almost non-existent.
However, I've got some methods which are called hundreds of thousands of times, and I'm trying to get the runtime down - and I'm hoping someone will offer to translate this particular one into Inline::C for me, so I can see if it makes a difference.
I've tried lots of variations of dealing with the SV** returned by hv_fetch() - but to be honest, I don't have a clue what I'm doing!
Here's the original perl method:
(btw - in the c-code, it would be sufficient to just check exists $self->{parent} rather than defined)
sub root { my $self = shift; while ( defined ( my $parent = $self->{parent} ) ) { $self = $parent; } return $self; }
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Inline::C hash access
by jettero (Monsignor) on Sep 04, 2008 at 11:55 UTC | |
by fireartist (Chaplain) on Sep 04, 2008 at 13:35 UTC | |
by dave_the_m (Monsignor) on Sep 04, 2008 at 15:14 UTC | |
by jettero (Monsignor) on Sep 04, 2008 at 14:50 UTC | |
|
Re: Inline::C hash access
by betterworld (Curate) on Sep 04, 2008 at 12:03 UTC | |
by puudeli (Pilgrim) on Sep 04, 2008 at 12:08 UTC | |
by fireartist (Chaplain) on Sep 04, 2008 at 12:14 UTC | |
by puudeli (Pilgrim) on Sep 04, 2008 at 12:19 UTC | |
by puudeli (Pilgrim) on Sep 04, 2008 at 12:24 UTC |