At least in windows, Opera compresses (packs) the executable (EXE / DLL) code using ASPack to make them smaller on disk. As they are smaller, the hard disk access needed is lower, and on a fast machine decompression in memory is faster than it would have taken to read the extra uncompressed data from disk.
However, when for example a DLL (remember most Opera code is found in Opera.DLL) is unpacked it must all be loaded into memory, whereas uncompressed DLLs can load only the segments that they need. A clear issue therefore is that of modularity. Opera contains mail and other statically linked code that is normally not utilised unless needed; but when packed all code segments will be loaded into memory (though they are unused). Measurements under Opera 8 show a maximum of ~2mb extra memory may be consumed on first load for minimal setups(no mail, no voice etc); though that will drop as Opera code is executed. This is somewhat academic because Windows will swap out that unused memory if it was ever needed, thus the maximum 2mb extra does not mean that space cannot be reclaimed.
Additionally, if you have multiple profiles (OperaProfiles) in Opera that run simultaneously off the same install, packed DLLs cannot be shared among them, and so fresh versions of the DLLs must be loaded for each instance, clearly leading to greater inefficiency.
As is clear, although windows will compensate for some of the extra memory overhead of packed files, unpacking them will bypass these issues in the first place; though whether this results in a "significant" optimisation is currently disputed. Nevertheless for those who use multiple profiles, unpacking will clearly be advantageous.
To unpack, first remember this will certainly break your software licence. I will not link to the program which does unpacking for this reason, but do a search for ASPackDie (or stripper 2.07) in your searchengine of choice for the tool you'll need.
For Opera 9.5 use upx -d opera.dll
CategoryOpera
CategoryTechnical