http://bugs.winehq.org/show_bug.cgi?id=59765 --- Comment #4 from mcsordas <csoresz2@gmail.com> --- Hi, We added application-side timing around the Winsock calls used by the RTSP client: select(), recv(), and send(). The send() calls are negligible in our case, as expected. recv() is called frequently, and select() is also called frequently. We also measured the full live555 scheduler iteration, around BasicTaskScheduler::SingleStep(). One interesting result is that select() wall-clock time by itself does not show the regression clearly. The select() average time is in the same general range on Windows, Wine 5, and Wine 11.8, probably because the measurement includes normal waiting time. However, recv() shows a much larger difference. Native Windows system, about a 30-second interval: singlestep count=15751 avg=1904.36us over1ms=20.20% over5ms=13.03% over10ms=9.36% singlestep count=15335 avg=1955.60us over1ms=20.88% over5ms=13.45% over10ms=9.63% select count=15439 avg=1928.37us over1ms=20.02% over5ms=13.36% over10ms=9.59% recv count=32620 avg=1.13us over1ms=0.00% over5ms=0.00% over10ms=0.00% select count=16511 avg=1799.67us over1ms=19.10% over5ms=12.42% over10ms=8.90% recv count=35142 avg=1.29us over1ms=0.01% over5ms=0.00% over10ms=0.00% Wine 11.8 system, about a 30-second interval: singlestep count=14931 avg=2009.05us over1ms=55.91% over5ms=8.33% over10ms=5.75% singlestep count=13982 avg=2145.34us over1ms=57.36% over5ms=11.03% over10ms=7.67% select count=12104 avg=1407.79us over1ms=11.20% over5ms=8.88% over10ms=6.54% recv count=27682 avg=459.68us over1ms=0.04% over5ms=0.00% over10ms=0.00% select count=11466 avg=1665.23us over1ms=15.08% over5ms=11.71% over10ms=8.57% recv count=25371 avg=422.41us over1ms=0.03% over5ms=0.00% over10ms=0.00% Wine 5 system, about a 30-second interval: singlestep count=16461 avg=1821.97us over1ms=22.35% over5ms=16.72% over10ms=12.52% singlestep count=17383 avg=1725.04us over1ms=21.17% over5ms=15.73% over10ms=11.78% select count=17881 avg=1619.30us over1ms=20.14% over5ms=15.03% over10ms=11.28% recv count=36613 avg=23.89us over1ms=0.12% over5ms=0.00% over10ms=0.00% select count=16702 avg=1741.18us over1ms=21.58% over5ms=16.38% over10ms=12.27% recv count=33725 avg=21.25us over1ms=0.00% over5ms=0.00% over10ms=0.00% For a single stream, recv() is roughly: Windows: ~1.2 us average Wine 5: ~21-24 us average Wine 11.8: ~420-460 us average So compared to Wine 5, recv() is roughly 18-22x slower on Wine 11.8. Looking at the accumulated recv() time over roughly 30 seconds: Windows: ~0.037-0.045 seconds Wine 5: ~0.72-0.87 seconds Wine 11.8: ~10.7-12.7 seconds So even though almost all recv() calls are still below 1 ms individually, the accumulated cost becomes significant. The full live555 SingleStep() timing also changed. The average SingleStep() time is only moderately higher on Wine 11.8: Windows: ~1.90-1.96 ms Wine 5: ~1.73-1.82 ms Wine 11.8: ~2.01-2.15 ms However, the percentage of SingleStep() calls taking more than 1 ms is much higher on Wine 11.8: Windows: ~20-21% Wine 5: ~21-22% Wine 11.8: ~56-57% The per-call recv() cost is still small in absolute terms, but the call count is high enough that it adds up quickly. Please let us know if there is anything specific we should try or measure next. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.