A few things to keep in mind when evaluating XIO.
1) XIO works the best when you have more than 4GB's of memory because XIO can grab anything above 4GB and reserve it for exclusive use by PSQL. With an 8GB server you can see XIO maintain a 6.5GB cache and depending on the compression ratio of the data blocks, you can stuff a lot of data into the XIO cache.
2) The compression in XIO is roughly 25% faster than the compression used in the L2 and XIO does some tricks internally to make good use of multi-core boxes that can only be done in kernel mode where XIO lives.
3) In our testing we have found that the best benefit with XIO comes where you are targeting large databases on x86 platforms that can benefit from having large datasets in the extended cache that XIO provides. For users targeting x64 platforms the 64-bit PSQL is a comparable choice to XIO given a box with the same memory. XIO could possibly edge out the 64-bit solution because of #2 above, but that too is dependent on how much data is being pushed and pulled from the PSQL L2.
4) XIO can be viewed as a stepping stone into the 64-bit world where you need more database in memory than a 32-bit straight 2GB address space limit can provide. Use XIO as the intermediary step and when you migrate to 64-bit then the 64-bit PSQL has you covered there too. Having both gives you more options at deployment time based on your database requirements and current/future hardware deployments.
5) As Bill stated, it's best to try out some scenarios and find out which works the best for your situation.
Brett