[G1 Android Development] cj chitwood:
Answered several posts back, basically the method is this:

POWERSAVING:

Turn off everything (EVERY THING!) you're not using. Not using data? Turn off Data Sync, background data, and data itself. Might as well go 2G-only while you're at it: Don't need 3G for "just phone and SMS", and it will save battery being only 2G. Turn off any radio you don't need, as they take more power than anything else. This includes Bluetooth, WiFi, 3G, and GPS (it's a radio too even if receive-only, and even when you're not using it, that doesn't mean a background app's not using it).

Turn brightness of the screen down.

Turn off USB debugging. It runs ADB daemon in the background. I turn it on right before doing anything important, just in case I need it, but always turn it off when you're not hacking.

Disable auto-sync on your social apps. No push e-mail, no G-mail, no Facebook, no Tapatalk or XDA-for-Android. Disable them all, and enable them only when you actually go to use them.

Turning everything off when you're done using them and on when you want to use them again only takes a few extra seconds but will save hours if not days of your battery's charge.

FWIW, I've never gotten more than about 10 hours or so on battery before recharging, even when I could have gone longer. I've done the math several times, and have only added up to about a possible 18 to 24 hours life max. At the same time, though, I was still finding things to turn off. Maybe more is possible. That also was on the St. Patrick's Day version of this ROM. I noticed less life with newer versions, but that may have been something I did more than the ROM changing.

PERFORMANCE SAVING:

Turn off any animations. If they're on, and they skip at all, you'll see that and instantly you'll "feel" like your phone is slower. While you're at it, turn off any eyecandy like surface dithering unless you're willing to take the tradeoff performance hit. Not really so important if you don't live with your finger on your screen, but if you use the phone a lot, it's that many more CPU cycles it will take to do things, and that many more milliseconds of power drain longer you have to wait.

Add (if you don't already have it) a swap partition on your MicroSD card. Swap PARTITION, not swap FILE. If you don't know how to partition it, go to Google, because it's all over the place and frankly a little out of the scope of this post. Once swap is made, I don't know if you need to use the FireRat patch to use it or if you can just reboot and it work. I think reboot and it works.

While you're partitioning, add an EXT3 or EXT4 partition and enable it and Apps2SD-Ext in COS settings in the ROM.

Set CPU Governor to ONDEMAND. If you're really power nuts, try CONSERVATIVE instead. Might lag now and then, IDK, haven't tried it.

Set CPU min to something lower than 384.

Set CPU max to something higher than 384.

Enable Compcache. Mine's set for 26%.

Turn off JIT. I've never been able to glean a difference, but rumour is, JIT is for benchmarking what kissing babies is for presidential candidates. Helps get points, but not much else.

JIT off (see above)

I found Purging of assets to be a lagmaker. I disabled it and haven't enabled it since.

Nothing locked in memory.

Set VM Heap Size to max -- 32M.

I think that's all for my phone. I've been going back and forth between great battery and not so great, but then, I also keep forgetting to turn things off, which I think is why. Try the above and let us know how it helps/hurts for you.

[Edit: Did I say basically? Never believe me when I say basically. I'm a virtual fountain of non-basic superfluity.]