[Samsung Galaxy Nexus] Mekrel:
It doesn't matter if you're a long time Android user. There are no measurable benefits to having odexed system/app directory apart from boot up time and space.

How do I know? I took Paul's script and amended it to odex the /system/framework directory before odexing the /system/app. The /system/app/ dex files are dependent on the framework files which is why the framework requires odexing before the system/app directory.

Now I can't recall how Paul specifies the bootclass path in his script as I'm at work and do not have the resources to decompile his application, but if he hardcoded the bootclass path into the script; there's a likely hood the app won't be 100% reliable on the Nexus due to the bootclass path most likely being different (especially as they're different versions of Android, with 4.0 being vastly different).

In my script, the bootclass path is hardcoded as there's a strict file sequence that needs to be odexed in order when it comes to odexing the framework. This isn't my latest version either, as I eventually went on to making the script check for deodexed system applications on boot and odexing them.

Warning: Don't use the script on the Galaxy Nexus, it was my script I used on the Galaxy SII

#!/system/bin/sh

chmod 755 /system/bin/dexopt-wrapper
chmod 755 /system/bin/zip
chmod -R 777 /data/original-framework/*.odex

coreframework="/system/framework/core.jar /system/framework/bouncycastle.jar /system/framework/ext.jar /system/framework/framework.jar /system/framework/android.policy.jar /system/framework/services.jar /system/framework/core-junit.jar"

echo "Odexing /system/framework/*jar files"

for i in $coreframework
do
filename=$(basename $i .jar)
dexopt-wrapper $i /system/framework/$filename.odex /system/framework/core.jar:/system/framework/bouncycastle.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/android.policy.jar:/system/framework/services.jar:/system/framework/core-junit.jar
zip -d $i classes.dex
busybox dd if=/data/original-framework/$filename.odex of=/system/framework/$filename.odex bs=1 count=20 skip=52 seek=52 conv=notrunc
done

for i in /system/framework/*.jar
do
if [ $i == "/system/framework/core.jar" -o $i == "/system/framework/bouncycastle.jar" -o $i == "/system/framework/ext.jar" -o $i == "/system/framework/framework.jar" -o $i == "/system/framework/android.policy.jar" -o $i == "/system/framework/services.jar" -o $i == "/system/framework/core-junit.jar" ]
then
echo "Already odexed in sequence"
else
filename=$(basename $i .jar)
dexopt-wrapper $i /system/framework/$filename.odex /system/framework/core.jar:/system/framework/bouncycastle.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/android.policy.jar:/system/framework/services.jar:/system/framework/core-junit.jar
zip -d $i classes.dex
busybox dd if=/data/original-framework/$filename.odex of=/system/framework/$filename.odex bs=1 count=20 skip=52 seek=52 conv=notrunc
fi
done

echo "Giving permissions to all *odex files"

chmod -R 777 /system/framework/*.odex

rm -r /data/dalvik-cache/*

I made all my own ROMs for the Galaxy SII and always odexed them but I never experienced a smoother phone, just quicker boot up times and space was never an issue for the Galaxy SII as it had plenty.