Does an OOE processor have an innate advantage with multitasking? And, considering most applications aren't coded by people who know how to optimize things, I think performance would be shockingly terrible in most situations. I think it would be unrealistic to switch to IOE on such a general platform.
OOE doesn't extract parallel instructions from separate tasks, that would be multithreading.
If the in-order has a shorter pipeline, it would probably do better (if everything else were equal, which never really happens).
However, there are other factors that can influence performance in a multi-tasking scenario, or in any workload where multiple threads are taking turns with the same cache.
If the memory behavior isn't perfect between the threads, cache miss rates go up, especially for the smaller L1 caches. If there is a lower level of cache to catch the evicted data, this performance loss could be managed.
However, this all adds unpredictable latency to execution, something in-order hates. As long as the data stays on chip, OO can be expected to handle it very cleanly, or at least more gracefully than an in-order.
To reverse the question, what is the performance you'd expect from Xenon CPU on pointer chasing OOP method calls versus Conroe?
If it's highly serial and nasty spaghetti code, I'd expect an in-order like Xenon to be strongly competitive with a Conroe.
There's little chance of accurately predicting through layers of indirection, and if it's just one long chain of dependencies, Conroe's issue width is wasted.
In a lot of tricky integer apps, raw clock speed is often the primary determinant of performance.
This does assume, however, that the application in question basically ignores all of Conroe's strengths and is an all-out serial pointer chase. Even basic checks done by a lot of object-oriented code supply some ILP.