8 WebPAC::Input - core module for input file format
16 our $VERSION = '0.01';
20 This module will load particular loader module and execute it's functions.
22 Perhaps a little code snippet.
26 my $db = WebPAC::Input->new(
31 $db->open('/path/to/database');
32 print "database size: ",$db->size,"\n";
33 while (my $row = $db->fetch) {
42 Create new input database object.
44 my $db = new WebPAC::Input( format => 'NULL' );
46 This function will load needed wrapper module and
55 $self ? return $self : return undef;
76 C<low_mem> options is double-edged sword. If enabled, WebPAC
77 will run on memory constraint machines (which doesn't have enough
78 physical RAM to create memory structure for whole source database).
80 If your machine has 512Mb or more of RAM and database is around 10000 records,
81 memory shouldn't be an issue. If you don't have enough physical RAM, you
82 might consider using virtual memory (if your operating system is handling it
83 well, like on FreeBSD or Linux) instead of dropping to L<DBM::Deep> to handle
84 parsed structure of ISIS database (this is what C<low_mem> option does).
86 Hitting swap at end of reading source database is probably o.k. However,
87 hitting swap before 90% will dramatically decrease performance and you will
88 be better off with C<low_mem> and using rest of availble memory for
89 operating system disk cache (Linux is particuallary good about this).
90 However, every access to database record will require disk access, so
91 generation phase will be slower 10-100 times.
93 Parsed structures are essential - you just have option to trade RAM memory
94 (which is fast) for disk space (which is slow). Be sure to have planty of
95 disk space if you are using C<low_mem> and thus L<DBM::Deep>.
97 However, when WebPAC is running on desktop machines (or laptops :-), it's
98 highly undesireable for system to start swapping. Using C<low_mem> option can
99 reduce WecPAC memory usage to around 64Mb for same database with lookup
100 fields and sorted indexes which stay in RAM. Performance will suffer, but
101 memory usage will really be minimal. It might be also more confortable to
102 run WebPAC reniced on those machines.
107 Dobrica Pavlinusic, C<< <dpavlin@rot13.org> >>
109 =head1 COPYRIGHT & LICENSE
111 Copyright 2005 Dobrica Pavlinusic, All Rights Reserved.
113 This program is free software; you can redistribute it and/or modify it
114 under the same terms as Perl itself.
118 1; # End of WebPAC::Input