Some will, no doubt, thereafter argue that goths all dress/look the same and thus can't be actually free thinking, but that would require not having a clue about goths or that their expression of being goth tends to look similar because 'the aesthetic' is the defining aspect, but even within that aesthetic there is quite a wide variety of styles and looks that some people will not even consider to be a 'goth'.
Put another way, audio is operating on a much longer timescale, but cares a lot about worst-case latency (as well as throughput and quality). Is that true of HFT also, or are they more concerned with average latency? If computing a trade takes too long, can they just discard it, or is it catastrophic to miss that deadline?
Most HFT algos are busy-spinning. You'll see a core pinned at 100% as it checks for input availability over and over. The vast majority of the time it is actually doing nothing, from an external point of view. When that tick appears that it needs to react to, it springs into action. It might react to some input in the range of a few hundred nano seconds but for literally billions of nanoseconds it's doing nothing at all.
Audio is processing a buffer of data (usually whatever your audio interface buffer is set to), then waits patiently until the next buffer arrives. There's a regular pulse to it. If your CPU isn't hurting, there's way more time between those buffers than are required to process them. The order of magnitude between work and 'not work' for HFT is huge compared to audio generally. HFT logic is simple, small and fast. Audio is hopefully complex if you paid good money for it. The best way to go fast is to do almost nothing.
In terms of the impact of not meeting a particular deadline, it's an opportunity cost in HFT. In audio, you get audio dropouts if you can't process it fast enough. In HFT, if your reaction time is slow, you're not at the front of the queue for that juicy trading opportunity you and everyone else just spotted, then you miss it entirely and someone else gets the prize. HFT is all about making thousands of small statistically favourable bets and being able to execute on them fast enough to realise the opportunity before the next fastest guy.
It's not hard real-time like you're going to crash your car, but if you miss your deadline it causes an unacceptable and audible glitch.
I've always been a bit surprised that Jane Street uses OCaml. I know they've put a lot of attention into the GC, but it still seems fundamentally indeterminate in a way that would make most audio devs nervous.
[1]: http://www.rossbencina.com/code/real-time-audio-programming-...
First of all, I'm really grateful for all the feedback, positive and negative, about my project. When I started this 6 years ago, I was teaching myself harmony. Writing a Ruby Gem was a way of making sense of all that and at the same time making what I consider "music calculations".
A lot has happened since then. I've realized that while a Ruby gem might be cool for some applications, I really wanted to have something more visual and more inviting. Like an app. I have completed my (belayed) college degree on Graphic Design with my final project being this app's design. It's all ready. Now it's just a matter of finally implementing it. So I've been working, since around 3 years, on a multiplatform app. Possibly also a VST plugin version for DAWs.
Thank you all for the interest on the Gem/CLI project however. It's not abandoned. Since many of you expressed interest on it, I'll take a look at the problems you reported. Certainly a way to install via homebrew would help I believe.
It's 4 AM over here now so I better cut it here but will comeback later and maybe answer some of the individual messages.