When the engine loads precompiled bytecode, it performs linear search from ALL types which was registered before loading. I think this is because the engine doesn't know which module has shared entity. So saving the name of module to the bytecode would allow the engine to search shared types from fewer number of the types.
- bytecodes doesn't have information about dependencies. You need to store them to another place and load manually.
- you need to mark all entity as shared to use them from other modules.
What do you think about it?