ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/Faster/Faster.pm
(Generate patch)

Comparing Faster/Faster.pm (file contents):
Revision 1.31 by root, Mon Mar 13 16:59:43 2006 UTC vs.
Revision 1.32 by root, Mon Mar 13 17:03:36 2006 UTC

8 8
9 perl -MFaster ... 9 perl -MFaster ...
10 10
11=head1 DESCRIPTION 11=head1 DESCRIPTION
12 12
13This module implements a very simple-minded JIT. It works by more or less 13This module implements a very simple-minded "JIT" (or actually AIT, ahead
14translating every function it sees into a C program, compiling it and then 14of time compiler). It works by more or less translating every function it
15replacing the function by the compiled code. 15sees into a C program, compiling it and then replacing the function by the
16compiled code.
16 17
17As a result, startup times are immense, as every function might lead to a 18As a result, startup times are immense, as every function might lead to a
18full-blown compilation. 19full-blown compilation.
19 20
20The speed improvements are also not great, you can expect 20% or so on 21The speed improvements are also not great, you can expect 20% or so on
21average, for code that runs very often. 22average, for code that runs very often. The reason for this is that data
23handling is mostly being done by the same old code, it just gets called
24a bit faster. Regexes and string operations won't get faster. Airhtmetic
25doresn't become any faster. Just the operands and other stuff is put on
26the stack faster, and the opcodes themselves have a bit less overhead.
22 27
23Faster is in the early stages of development. Due to its design its 28Faster is in the early stages of development. Due to its design its
24relatively safe to use (it will either work or simply slowdown the program 29relatively safe to use (it will either work or simply slowdown the program
25immensely, but rarely cause bugs). 30immensely, but rarely cause bugs).
26 31
27Usage is very easy, just C<use Faster> and every function called from then 32Usage is very easy, just C<use Faster> and every function called from then
28on will be compiled. 33on will be compiled.
29 34
30Right now, Faster will leave lots of F<*.c>, F<*.o> and F<*.so> files in 35Right now, Faster can leave lots of F<*.c> and F<*.so> files in your
31your F<$FASTER_CACHEDIR> (by default F<$HOME/.perl-faster-cache>), and it 36F<$FASTER_CACHEDIR> (by default F<$HOME/.perl-faster-cache>), and it will
32will even create those temporary files in an insecure manner, so watch 37even create those temporary files in an insecure manner, so watch out.
33out.
34 38
35=over 4 39=over 4
36 40
37=cut 41=cut
38 42

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines