I have read that it is common practice to store mipmaps in the same file as the texture and to load the base image and the mipmaps at the same time. On the other hand reading from storage space (HDD or SSD) is drastically slower than using memory closer to the CPU; graphics APIs such as OpenGL and Vulkan allow you to generate mipmaps using dedicated graphics cards.
So I was wondering if it would actually be faster to use the graphics cards to generate the mipmaps at run time rather than waste cycles waiting for virtual memory reads. Also, would the answer change if textures had to be loaded and unloaded dynamically during run time, allowing for other operations to continue as they were loaded from storage space?