Apache::Session works under plain CGI, and CGI::Session works under mod_perl, but I've never compared benchmarks for the two. My *hunch* is that using CGI::Session requires more memory (it requires CGI.pm, which is big), so if you're resources are tight and all you need is a basic session without all the other stuff in CGI.pm, then Apache::Session under mod_perl might be the way to go.