#include #include static PerlInterpreter *my_perl; main (int argc, char **argv, char **env) { STRLEN n_a; int i; char *embedding[] = { "", "-e", "0" }; my_perl = perl_alloc(); perl_construct( my_perl ); perl_parse(my_perl, NULL, 3, embedding, NULL); perl_run(my_perl); for(i=0; i < 10000000; i++) { eval_pv("1", TRUE); } perl_destruct(my_perl); perl_free(my_perl); } #### #include #include static PerlInterpreter *my_perl; main (int argc, char **argv, char **env) { STRLEN n_a; int i; SV* my_string; char *embedding[] = { "", "-e", "0" }; my_perl = perl_alloc(); perl_construct( my_perl ); perl_parse(my_perl, NULL, 3, embedding, NULL); perl_run(my_perl); my_string = newSVpv("2", 0); for(i=0; i < 10000000; i++) { eval_sv(my_string, TRUE); } perl_destruct(my_perl); perl_free(my_perl); } #### #include #include static PerlInterpreter *my_perl; main (int argc, char **argv, char **env) { STRLEN n_a; int i; char *embedding[] = { "", "-e", "sub fred {1;};" }; my_perl = perl_alloc(); perl_construct( my_perl ); perl_parse(my_perl, NULL, 3, embedding, NULL); perl_run(my_perl); for(i=0; i < 10000000; i++) { dSP; ENTER; SAVETMPS; PUSHMARK(sp); call_pv("fred", G_DISCARD); SPAGAIN; LEAVE; } perl_destruct(my_perl); perl_free(my_perl); }