Welcome to NexusFi: the best trading community on the planet, with over 150,000 members Sign Up Now for Free
Genuine reviews from real traders, not fake reviews from stealth vendors
Quality education from leading professional traders
We are a friendly, helpful, and positive community
We do not tolerate rude behavior, trolling, or vendors advertising in posts
We are here to help, just let us know what you need
You'll need to register in order to view the content of the threads and start contributing to our community. It's free for basic access, or support us by becoming an Elite Member -- see if you qualify for a discount below.
-- Big Mike, Site Administrator
(If you already have an account, login at the top of the page)
Sorry to repeat me again and again. Time measurements in windows are a complex issue. You have to code it plattform dependent to get some reliable results. The windows timer ticks with 15.6ms at default, so all SystemTime calls, Sleeps and the thread slices are aligned to that. So you aren't aware of these issues. Next issue is core swapping - you can't measure time precise when your program thread is switched between the cores.
@Big Mike, @artemiso: I have to mention that i'm a little bit annoyed, that the first source code isn't easily readable for no reason. For the EXE we have no source code, so we can't control how this latencies are grabbed and it's a security problem also.
I think that's @artemiso's point - due to the complex interactions of Windows scheduling and any virtual hosting layer such as VMware then any average time on a VPS will be meaningless as the variability will be far larger, that's also the main message from the two articles I posted. Depending on goals it may be irrelevant to your project but cannot be ignored, important to know if variablity can cripple your strategy or whether a good average is ok.
Too make some further practical contribition to the VPS topic, i've contrived another test bench:
Question: How big is the delta time of an round trip when an UDP packet going into Win7 vs. Win7 on VMWare?
Using Raspberry PI (with precise clock) to alternately send a packet to Win7 and Win7VPS (on the same machine). On both systems the packet will be replied and the time of arrival (at Raspberry) will be noticed.
Yup, worked. This is a extremely simple VirtualBox 4.1.18 VM using Windows 7 x64 on Debian Wheezy, Kernel 3.13.1. It has also some charts running in the background with Sierra Chart, plus the IQFeed client. But load was small since we are after hours.
I can't speak to the other timing stuff being mentioned in the last couple of posts. Except to say that I would imagine VirtualBox on top of Debian is one of the worst ways to minimize latency inside Windows. I would imagine Hyper-V would be near best, then possibly VMWare or maybe KVM for a kernel virtualization layer.