Changes for version 0.33 - 2010-03-20
- Optimize Hailo::Engine::Default to use less method calls. On t/hailo/real_workload.t (i.e. mass replies) this speeds up Hailo by 8%:
- s/iter System Hailo lib Hailo
- System Hailo 74.8 -- -7% lib Hailo 69.4 8% --
- Furthermore replace the use of ->fetchall_hashref in a tight loop with ->fetchall_arrayref. This sped up mass replies by almost 60% (added to the 8% above):
- s/iter System Hailo lib Hailo
- System Hailo 68.2 -- -36% lib Hailo 43.6 57% --
- But aside from selective benchmarking this made Hailo around 5% faster in the common case:
- s/iter System Hailo lib Hailo
- System Hailo 21.5 -- -6% lib Hailo 20.3 6% --
Modules
A pluggable Markov engine analogous to MegaHAL
Class for the hailo command-line interface to Hailo
The default engine backend for Hailo
A role which adds an 'arguments' attribute
A role representing a Hailo engine backend
A role representing a Hailo storage backend
A role representing a Hailo tokenizer
A role representing a Hailo UI
A base class for Hailo storage backends
A storage backend for Hailo using DBD::mysql
A storage backend for Hailo using DBD::Pg
A storage backend for Hailo using DBD::SQLite
Deploy the database schema Hailo uses
A character tokenizer for Hailo
A tokenizer for Hailo which splits on whitespace, mostly.
A UI for Hailo using Term::ReadLine