Hello everybody,

I'm about to rewrite major parts of one of my projects (currently
written in C); because of that rewrite I'm thinking about using
perl6 for the most parts, and write only the most performance
sensitive parts in C.

I was just on #perl6, and got the tip to write a feature request
for Rakudo*.


So, what I would need:

1) Some way to get a single executable (ELF) from mixed-source.

That's because of the startup speed - which is important, as
this will be a commandline program, and be called often.
It's ok (and will be needed) to load shared libraries; having bytecode
in it is no problem, too.
I think that most startup overhead is from reading/parsing the perl
sources, and that's what I need to avoid.

(I got the tip to look for pbc_to_exe.)


2) C structure usage.

As this will handle a big amount of data (lower end 1M structures in
a tree, with (on 32bit) each ~240 bytes in C) I'd like to use some
kind of C structure for storage - as opposed to a hash.

Well, in Perl5 there are some classes for structure storage and so on;
I'd need some easy way to generate a class in Perl6 for these.
It will get some other functions, too, but accessing the members
should be fast, and so shouldn't be done with pack()/unpack().


3) Calling C functions from the Perl6 sources.

That would be no problem, I think ... and if my own (optimized)
C functions are put in a shared object the linking is easily done, too.

Is there some automated way to get the perl6/parrot translation code
from C headers?


If it takes a year for Perl6/Parrot/Rakudo to get there,
I wouldn't mind ... because I'll have to re-write my code anyway.
Although, in order to actually *write* that code, it would be nice
to be able to test it, too ;-)

Would you think that I should start now in Perl6, or that this will be
a dead end?


Regards,

Phil

-- 
Versioning your /etc, /home or even your whole installation?
             Try fsvs (fsvs.tigris.org)!

Reply via email to