Originally Posted by Percz
Am I right that embedding things into the ROM makes them run slightly faster?
Glad you asked. :)
If by "things" you mean applications, the opposite is true.
As code cannot be executed directly from NAND flash, everything has to be copied to RAM before execution (the term XIP - eXecute In Place - is misleading here. There is no true XIP in a Hermes). Some executables and DLLs are stored as "modules" in ROM, i.e. already prepared to be copied "as is" to RAM. Moving these from ROM modules to normal files in Storage will indeed make them load slower, although once loaded execution will be the same speed.
However, applications are not stored as modules. Even in ROM they are normal files, and speed-wise it makes absolutely no difference if they are loaded from ROM or Storage into RAM.
But there is one more important aspect: the size of the Windows directory
. Even Microsoft admits that having 1800 files in one directory slows the device down significantly. And unfortunately, all files in IMGFS are
in the Windows directory (with initflashfiles.dat, you can only copy
them elsewhere, not move
So, if we manage to remove as many files and apps as possible from the ROM (and hence the Windows directory), and package them into .cabs in a way that they get installed into directories other
than Windows, I would think we would see some increase in speed, since accessing the Windows directory would be quite a bit faster - and I guess the OS accesses that directory rather often.
At the moment, this is only theory. I haven't tried to prove it yet. :)