GB-Studio if I recall spits out 4mb ROMs by default, I imagine a considerable amount of space is just padding, I haven't looked. Of course Z80 assembly is more efficient, an engine like GB-Studio is going to have a lot of redundancy and bloat since it's so modular.
As for difficulty, I think...