The only similar issue I faced seemed to be due to multithreading. I don’t know enough about the underlying architecture to point my finger at a specific ‘thing’ but I was beating my head against the wall seeing the same 50% drop in performance. The one way I was able to get comparable performance was if I limited the cores on the machine to 1. Windows was only a couple percent slower in that case. When I upped the cores windows couldn’t keep up. The weird part is that the utilization in task manager looked like all the cores were being utilized but the performance certainly didn’t reflect that. I was finally able to get the program manager off my ass but how they handled the situation really soured me on staying with the company so I left, feel bad for the next person to get hit with “get this application off Linux so we can be a 100% windows client shop” garbage.
They contracted the companies developers at over 600k for six months of support, I was dedicated to the effort for a year, and the CIO apparently instructed a PM that nothing else mattered and if it didn’t work I was personally responsible. Like MFers, I didn’t design the hardware, operating system, or the application, I’m doing everything I know how, how exactly is this shit my fault?!