| Hailo documentation | view source | Contained in the Hailo distribution. |
Hailo::Storage::SQLite - A storage backend for Hailo using DBD::SQLite
As a module:
my $hailo = Hailo->new(
storage_class => 'SQLite',
);
$hailo->train("hailo.trn");
From the command line:
hailo --train hailo.trn --storage SQLite
See Hailo's documentation for other non-MySQL specific options.
This backend maintains information in an SQLite database. It is the default storage backend.
storage_argsThis is a hash reference which can have the following keys:
pragma_*Any option starting with 'pragma_' will be considered to be an SQLite pragma which will be set after we connect to the database. An example of this would be
storage_args => {
pragma_cache_size => 10000,
pragma_synchronous => 'OFF',
}
Setting 'pragma_cache_size' in particular can be beneficial. It's the size of the page cache used by SQLite. See SQLite's documentation for more information.
Increasing it might speed up Hailo, especially when disk IO is slow on your machine. Obviously, you shouldn't bother with this option if 'in_memory'|/in_memory is enabled.
Setting 'pragma_synchronous' to 'OFF' or 'pragma_journal_mode' to 'OFF' will speed up operations at the expense of safety. Since Hailo is most likely not running as a mission-critical component this trade-off should be acceptable in most cases. If the database becomes corrupt it's easy to rebuild it by retraining from the input it was trained on to begin with. For performance reasons, these two are set to 'OFF' by default unless 'in_memory'|/in_memory is enabled.
in_memoryWhen set to a true value, Hailo behaves much like MegaHAL. The entire
database will be kept in memory, and only written out to disk when the
save|Hailo/save method is called and/or when the Hailo object gets
destroyed (unless you disabled
save_on_exit|Hailo/save_on_exit). This is disabled by default.
Ævar Arnfjörð Bjarmason <avar@cpan.org>
Hinrik Örn Sigurðsson, hinrik.sig@gmail.com
Copyright 2010 Ævar Arnfjörð Bjarmason and Hinrik Örn Sigurðsson
This program is free software, you can redistribute it and/or modify it under the same terms as Perl itself.
| Hailo documentation | view source | Contained in the Hailo distribution. |