Apps (even Apple apps) take forever to load, and routinely hang while performing simple tasks (typing, focusing on a form field, switching tabs, etc). I'd have to recommend staying with 3.x if you haven't already upgraded.
Your device is slow because apps are constantly triggering low-memory conditions. Memory was very tight on the 3G, even before iOS 4. This is precisely why multi-tasking isn't enabled.
Safari alone is consuming most of your device's memory, by a very large margin. It stays resident in memory when you return to the home screen, and it's one of the last apps to be killed in low-memory conditions. The problem is that much worse if you do a lot of browsing on your iPhone or iPod; Safari just grows and grows. This is why the problem appears to be fixed when you reboot your device.
Here's the tip: You can quit Safari by closing all of its tabs and then returning to the home screen. You should do this periodically; I did this whenever I was finished with a browsing session. With Safari out of the way the rest of the software on your device should run at normal speed without triggering any low-memory conditions.
My primary devices now have 256 MB of RAM instead of 128 MB, and I no longer have to worry about Safari's memory consumption.
You can also kill Safari (and all other running apps) by holding the sleep button until it shows the slider screen, and then hold the menu button until you get the home screen.
You can also bring up the task tray, press and hold the icon for safari(or any other app) like you would for moving apps on the home screen, then press the - sign that appears to close it. Discovered it by accident, but it's quite useful.
On the other hand, multitasking helps with apps that take forever to load since their state can be saved/loaded now. Work out the cost/benefit in your case.
Same, with both the upgrade and a full restore, and my phone is stock (no jailbreak.) A good friend had great success with his after iOS4, so it's not affecting everyone. I followed a guide online and manually rolled back to 3.1.3 and haven't looked back, and soon I'll pick up the 4G. It's not like most of the compelling features were compatible with the 3G anyway.
I had some shenanigans with it being an older backup and so had to re-transfer my email accounts from my compy to the phone, but that was just a couple checkboxes in iTunes and setting up MobileMe.
I updated my 3G to iOS4 and noticed a serious performance hit along the same lines as the original poster. Rebooting the phone brought things back up to speed though, with some functions seeming snappier than they were under 3.x (Safari being the stand-out example). The phone has been running fine over the past couple of days since the reboot, so I'm not sure if there's a problem with how the upgrade is carried out on the phone that causes the slowness, or if there are some memory issues in iOS4 that will necessitate periodic rebooting of 3G models.
If you have data on the phone, like texts, emails, etc. your iPhone 3G will be unusable. Mine is also terrible, but I'll live with it until I make a fresh install when I buy an iPhone 4.
Yeah I upgraded mainly for the new Mail features (grouped conversations and archiving for gmail). The phone isn't jailbroken, but I'm going to try a full restore and see what happens.
I had the same problem with 3G and iOS 4.0, but after a hard reboot it became fast again (Hold the sleep button for some seconds, and push the slider). It took me almost a week to figure it out (during which the phone was next to useless), but now it seems as fast as 3.x.
3.1.3 is a largely unnecessary update that doesn't do much besides fixing certain jailbreak exploits. I would recommend sticking with 3.1.2 - that's what I'm doing.
I'm finding it slow. I'll be rolling back to 3.1.2 Jailbroken with Backgrounder. At least with Backgrounder you could kill Mail, Safari etc easily if the system was running slowly or you needed extra to play a heavy game (eg. Worms)
It is completely unbearable on my 3G. I did install a jailbroken rom which has multitasking enabled, however it seems odd that "Backgrounder" ran apps just fine yet iOS4 cannot.
Safari alone is consuming most of your device's memory, by a very large margin. It stays resident in memory when you return to the home screen, and it's one of the last apps to be killed in low-memory conditions. The problem is that much worse if you do a lot of browsing on your iPhone or iPod; Safari just grows and grows. This is why the problem appears to be fixed when you reboot your device.
Here's the tip: You can quit Safari by closing all of its tabs and then returning to the home screen. You should do this periodically; I did this whenever I was finished with a browsing session. With Safari out of the way the rest of the software on your device should run at normal speed without triggering any low-memory conditions.
My primary devices now have 256 MB of RAM instead of 128 MB, and I no longer have to worry about Safari's memory consumption.