Performance in Windows VM vs Docker in Linux VM

I’ve been running DeepStack via docker in a RancherOS VM on a server with 2 x Intel® Xeon® CPU E5-2670 for a while now. I’m using it with BlueIris/AITool which are running in a Windows 10 VM on the same server.

I decided to try the Windows CPU Beta of DeepStack and was surprised by how poorly it is performing.

Docker Setup info:

  • RancherOS VM: 2 sockets / 4 cores (8 core total) cpu=host, numa=1
  • Deepstack Version: deepquestai/deepstack latest 10d1e70ab561 13 days ago 2.89GB
  • Log Snippet:
[GIN] 2020/12/23 - 17:59:24 | 200 |  466.811556ms |    192.168.0.23 | POST     /v1/vision/detection
[GIN] 2020/12/23 - 17:59:25 | 200 |  429.025948ms |    192.168.0.23 | POST     /v1/vision/detection
[GIN] 2020/12/23 - 17:59:26 | 200 |  427.887222ms |    192.168.0.23 | POST     /v1/vision/detection
[GIN] 2020/12/23 - 17:59:27 | 200 |  459.659432ms |    192.168.0.23 | POST     /v1/vision/detection

Windows Setup info:

  • Windows 10 Pro: 2 sockets / 8 cores (16 cores total) cpu=kvm64, numa=1
  • Deepstack Version: 0.1-beta CPU
  • Log Snippet:
[GIN] 2020/12/23 - 11:15:53 |←[97;42m 200 ←[0m|    4.5679979s |             ::1 |←[97;46m POST    ←[0m /v1/vision/detection
[GIN] 2020/12/23 - 11:15:58 |←[97;42m 200 ←[0m|    4.4899928s |             ::1 |←[97;46m POST    ←[0m /v1/vision/detection
[GIN] 2020/12/23 - 11:16:03 |←[97;42m 200 ←[0m|    4.5819998s |             ::1 |←[97;46m POST    ←[0m /v1/vision/detection

Any ideas why the Windows version seems to be 9x slower than the docker version?

maybe something to do with the VM / setup?

I have a similar Xeon CPU on normal win10, running Deepstack CPU Beta (native windows), and get around 800ms for a 2MP image (object detection)

1 Like

I re-installed Windows10 in a new VM with cpu=host and my performance is back down in the 400-500ms range.

I guess whatever CPU extensions are unavailable due to the KVM cpu type make a huge difference.

1 Like