I have an SGS since September and it was often pretty slow, especially when installing/upgrading applications in the Android Market. I’ve found out that the problem is with the RFS file system on the phone.
First I updated my phone to Android 2.2 using Kies. This installed the JPH 2.2 firmware. Then I rooted my phone using this method. After rooting, I’ve installed the Voodoo kernel (5.2 stable) using Odin (this is the phone flashing software for Windows, downloadable from several sites, look for v1.3).
When the phone rebooted, I got the Voodoo kernel error message: system is not available. I backed up everything with the built-in ClockWorkMod backup tool and flashed the phone with an original JPH systemfs.rfs which I downloaded from samfirmware.com (2.2 JPH firmware .tar contains this file). After this I restored my data using ClockWorkMod and booted the phone, now the RFS -> ext4 conversion worked fine, but several programs didn’t work, like the camera, and I had no ring or alarm sounds played when needed.
The problem was with that the Voodoo kernel doesn’t support JPH firmwares, so I flashed the phone with the JPY 2.2.1 firmware (excluding the kernel). After flashing and booting the phone, system partition RFS -> ext4 conversion was done and everything worked perfectly. No ClockWorkMod restore was needed, but I lost most of my apps preferences (but no data was lost, I still have my phonebook, messages, wallpaper etc.).
Now my phone runs about 2-3 times faster, everything loads up instantly and the lag is almost completely gone. It feels like switching from a Pentium3 750mhz box to a Pentium4 2.4ghz one :)