|
|
|
|
I need to run a C++ application to fetch data from Internet for real time financial data stream.
I want to configure a Windows 10 machine with minimum system service running, this machine is dedicated to run this application.
any ideas to share?
diligent hands rule....
|
|
|
|
|
Well whatever you do you are still running Windows, which is not a real-time operating system.
|
|
|
|
|
the intention is: to tear down unimportant windows service to save more CPU power to serve my application
diligent hands rule....
|
|
|
|
|
But it is still Windows in charge, so the basics remain the same.
|
|
|
|
|
"Real time" is also used by salesmen when they mean "really fast" or "really, really fast".
Warcraft simulates being realtime quite nice, but even there we have unexpected disconnects and lag. I prefer terms as fps, throughput, latency and uptime.
Doesn't sound like he needs visualization, so it's probably being stored in a realtime-database
Bastard Programmer from Hell
"If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.
|
|
|
|
|
|
Should I point to a similar post to my answer?
If you want a Windows-environment to simply run software, then kiosk mode should work as already pointed out. Dunno if still applies, but might wanna check if you can RDP into those.
If you're asking if there's a bare-bone version of Win10, then the answer is, well, kind of[^]?
If you need the raw power, you'd use Linux. If you need to be technically realtime, you use a realtime OS like QNX.
Bastard Programmer from Hell
"If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.
|
|
|
|
|
Fetching data from the internet? That's gonna be a lot like milking an axe I'm afraid.
|
|
|
|
|
to be specific: I have bought real-time data service from a data vendor already.
diligent hands rule....
|
|
|
|
|
Oh. Ok. So there's a handle stuck in the head? Can't you just swing the thing?
|
|
|
|
|
|
|
Agreed. Install a headless distro, compile the code, configure the service, reboot.
Any SBC would be able to run it. No need for an expensive machine.
"When you are dead, you won't even know that you are dead. It's a pain only felt by others; same thing when you are stupid."
Ignorant - An individual without knowledge, but is willing to learn.
Stupid - An individual without knowledge and is incapable of learning.
Idiot - An individual without knowledge and allows social media to do the thinking for them.
modified 19-Nov-21 21:01pm.
|
|
|
|
|
DonathanH wrote: No need for an expensive machine. Depending on how big is the amount of data to process a better machine could help.
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
Rating helpful answers is nice, but saying thanks can be even nicer.
|
|
|
|
|
That's true. I stand corrected. I was a little premature (that's what she said ) on that statement. It would depend on the work load.
"When you are dead, you won't even know that you are dead. It's a pain only felt by others; same thing when you are stupid."
Ignorant - An individual without knowledge, but is willing to learn.
Stupid - An individual without knowledge and is incapable of learning.
Idiot - An individual without knowledge and allows social media to do the thinking for them.
modified 19-Nov-21 21:01pm.
|
|
|
|
|
You might want to clarify your definition of "real time".
For some of us that means within a few microseconds. For others it means within a few milliseconds.
IMHO when you include the terms "fetch data" and "internet" then "real time" is not even approachable.
Just sayin'
|
|
|
|
|
Additionally, can you query past data for any you missed or is it a matter of having only one chance to get it then it's gone?
|
|
|
|
|
I find a intersesting thread on this .
diligent hands rule....
|
|
|
|
|
Real-time in manager-speak translates to roughly 10 seconds actual.
|
|
|
|
|
for me, 5ms is good enough to cycle through my list to refresh data...
diligent hands rule....
|
|
|
|
|
As others have indicated, you are probably on the wrong approach, although it will be an interesting experience for you.
1) Windows is not a real-time operating system, no matter how you try to finagle it, whether that is through the long-term servicing branch or the kiosk system. You will never get rid of all the other preemptive multitasking timeslices taken up by other processes. You may be able to reduce them, but never eliminate them.
2) Ping the website of the data broker you are dealing with for your 'real-time' results. You have already lost that amount of time compared to traders at the broker's end. Here's an old article on high-speed trading: Stock Traders Find Speed Pays, in Milliseconds. I cannot find it now, but I once read an article that said serious players put their data centers as close as possible to the shore (or incoming position) where the (trunk lines?) that pull the stock market information from overseas, because the microseconds compared to those further in made a difference.
3) As long as you are dealing with an internet connection from an Internet Provider, that routes your traffic from another IP, you will never compete with those traders who have dedicated themselves to the incoming, and main feeds of the various markets.
4) If your computer's clock speed is orders of magnitude faster than your internet speed, making your system a real-time operating system to capture packets as they come in is a waste of time.
In spite of these issues, have fun with your endeavor!
|
|
|
|
|
Relating to 2) I am pretty sure I read somewhere that to prevent unfair competition some of those brokers have their connection speed deliberately slowed down.
“That which can be asserted without evidence, can be dismissed without evidence.”
― Christopher Hitchens
|
|
|
|