Back to Pdq
This page was last updated on Apr 9, 2006
Once you have downloaded the PDQ distribution (instructions below), you will find the Perl PDQ models located in the ../examples/sv_2004/pdq_models/ directory, together with a detailed synopsis of how to use the Perl version of PDQ can be found in Chapter 6 of the above book.
Power of Perl
I just did it again! I needed to extract some performance data from a file and feed it into a PDQ model. It took me 2 minutes to write the Perl codeand apply it successfully. I couldn't even write the C-code in 2 minutes, let alone compile it, debug it and apply it successfully. This is the point that John Ousterhout (father of Tcl) tries to make. Much of what he has to say also applies to computer performance modeling. I say more about this in the Preface of my Performance with Perl::PDQ book.
Some more reasons to consider using Perl PDQ (rather than the C version) are:
- The Perl interpreter is ubiquitous, being available by default on most UNIX and Linux systems.
- Perl syntax is very similar to C syntax.
- Perl comes with an integrated debugger.
- You no longer need to explicitly compile and link each PDQ model.
- Since the historical roots of Perl run deep in text processing, it is eminently suited to extracting (the `e' in Perl) data out of files e.g., performance data that may already be residing in log files or other databases. Such data can be extracted, filtered and used to parameterize PDQ models, all within the same Perl code.
In the future, we hope to incorporate some of your own Perl PDQ models on this page. See the section below on sending Feedback if you have a submission.
Follow the download instructions for the PDQ tarball. Once installed, the following directories should have been created:
[/d/pdq]% ls -l total 144 drwxr-xr-x 3 neil neil 4096 Oct 28 00:13 chap2/ drwxr-xr-x 3 neil neil 4096 Oct 28 00:13 chap3/ drwxr-xr-x 3 neil neil 4096 Oct 28 00:13 chap6/ drwxr-xr-x 3 neil neil 4096 Oct 28 00:13 chap7/ drwxr-xr-x 3 neil neil 4096 Oct 28 00:14 chap8/ drwxr-xr-x 3 neil neil 4096 Oct 28 00:14 chap9/ -rw-r--r-- 1 neil neil 18050 Nov 19 19:34 COPYRIGHT drwxr-xr-x 2 neil neil 4096 Nov 17 2003 CVS/ drwxr-xr-x 4 neil neil 4096 Nov 19 19:34 examples/ -rwxr-xr-x 1 neil neil 301 Nov 19 19:34 Getversion* drwxr-xr-x 3 neil neil 4096 Nov 19 19:34 lib/ -rwxr-xr-x 1 neil neil 679 Nov 19 19:34 Makeall* -rw-r--r-- 1 neil neil 887 Nov 19 19:34 Makefile drwxr-xr-x 4 neil neil 4096 Nov 19 19:34 perl5/ -rw-r--r-- 1 neil neil 49224 Oct 28 00:01 pypdq.tar.gz drwxr-xr-x 9 neil neil 4096 Nov 19 19:34 python/ -rw-r--r-- 1 neil neil 5805 Nov 19 19:34 README -rw-r--r-- 1 neil neil 2130 Sep 26 2002 README.se
Note the presence of the perl5 directory.
In addition, the all the Perl-PDQ codes are now under the examples directory:
[/d/pdq/examples]% ls -l total 12 -rw-r--r-- 1 neil neil 841 Nov 19 19:34 Makefile drwxr-xr-x 8 neil neil 4096 Nov 19 19:34 ppa_1998/ drwxr-xr-x 4 neil neil 4096 Nov 19 19:34 sv_2004/
All the models discussed in the new book (see above) are in contained the ../examples/sv_2004/pdq_models directory, while those for the previous book The Practical Performance Analyst can be found in the ../examples/ppa_1998/ directory.
If you run into problems, installing or using Perl-PDQ, please fill out this form selecting the "Question about the PDQ analyzer" header in the service menu. We will try to address your issue as quickly as possible.
New versions of Perl-PDQ are released periodically. Please fill out this form if you would like to notified by email when the release occurs. We are also interested to hear from you if you have Perl code or ideas to contribute to future releases.