Fixed size disk vs dynamically allocated: is there a performance difference on an SSD?
When using a virtual disk, I understand that on a HDD there is often a write speed penalty while the drive is still growing. But for an SSD is this penalty mostly eliminated? Is there any other advantage of using a fixed size?
According to the docs, the a performance difference is only noticeable while the disk is expanding; otherwise, it's negligible. Here's how they describe a dynamically allocated disk:
While this format takes less space initially, the fact that Oracle VM VirtualBox needs to expand the image file consumes additional computing resources, so until the disk file size has stabilized, write operations may be slower than with fixed size disks. However, after a time the rate of growth will slow and the average penalty for write operations will be negligible.
This makes me think that a fixed size disk is suitable for applications that are so sensitive to slowdowns during execution that you're willing to do all the waiting up front when the disk is created; otherwise, dynamically allocated is preferred.
I don't think that a fixed sized virtual disk give that much difference. The opposite may be true because I've experienced a lot of problem with sparse file allocation on some embedded devices. Hence using a SSD instead of a HDD doesn't simplified solving the task. A fixed disk size would just eat up all free disk space and SSD is still an expensive storage hence I wouldn't recommend to use a fixed size disk on a SSD.
It depends on what you call noticeable.
Probably the most noticable difference I see between fixed sized disks and dynamic sized disks are when you build a differencing disks. The performance gains using a differencing disk is huge if the parent disk is a fixed disk.
On an SSD, technically the penalty still exists. Just not as noticeable.
Like anything performance related, it is best to build a real example and run a benchmark. Talking about a performance situation doesn't generate performance metrics.