While I agree this is a major scalability problem I would like to see it solved by resolving the underlying issue. The current version of the driver iterates over a list of every virtual machine in the entire vCenter inventory. This list is fetched on every VM operation.
In database terms this is the equivalent of doing "select * from VirtualMachine" and iterating over the whole result set until you find the one virtual machine you need. This is tremendously wasteful even if you only do it once per virtual machine in your inventory.
While I agree this is a major scalability problem I would like to see it solved by resolving the underlying issue. The current version of the driver iterates over a list of every virtual machine in the entire vCenter inventory. This list is fetched on every VM operation.
In database terms this is the equivalent of doing "select * from VirtualMachine" and iterating over the whole result set until you find the one virtual machine you need. This is tremendously wasteful even if you only do it once per virtual machine in your inventory.