How I understand that you are reading all of the assets of the project and create for each of them its meta file. This is a very long process for a large project. So I want to propose an idea to read and packing meta for certain categories of files, for example:
Texture is a separate file with meta data of all Textures,
Meshes a separate file with meta data of Meshes, etc.
This should speed up the process of recompiling the project and also to speed up reading the data. It is always faster to read one file from the hard disk than to read a bunch of small files scattered around the hard disk