From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=unavailable autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail From: Paul Rubin Newsgroups: comp.lang.ada Subject: Re: How to get Ada to =?utf-8?Q?=E2=80=9Ccross?= the =?utf-8?Q?ch?= =?utf-8?Q?asm=E2=80=9D=3F?= Date: Wed, 25 Apr 2018 20:48:14 -0700 Organization: A noiseless patient Spider Message-ID: <87bme67hmp.fsf@nightsong.com> References: <1c73f159-eae4-4ae7-a348-03964b007197@googlegroups.com> <878t9nemrl.fsf@nightsong.com> <87h8o7lowg.fsf@nightsong.com> <8736zqkwat.fsf@nightsong.com> <6839088c-f221-4650-a6ea-1841ae539486@googlegroups.com> <87zi1xu0xg.fsf@nightsong.com> <877ep02qru.fsf@nightsong.com> <256adb42-6bdf-4bee-a137-a7d69ca2daa6@googlegroups.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Injection-Info: h2725194.stratoserver.net; posting-host="1130ff9118e09fa565bd1d3aa415c6bd"; logging-data="23471"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19wKOQAUQ85YNH/SmQ79CPS" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) Cancel-Lock: sha1:czQSziODxfvrJL+jygHL2mU6b/8= sha1:drj7quxMnNt0OU+5b5bLRmFqskg= Xref: reader02.eternal-september.org comp.lang.ada:51720 Date: 2018-04-25T20:48:14-07:00 List-Id: "Dan'l Miller" writes: > then some of those incoming transactions are going “fall on the > cutting room floor” so to speak—the proverbial bit bucket. That's not how those transactions. They're not datagrams and they don't fall on the floor. If they don't get through there is a retry. >> Their machines are not in data centers. > The heck they are not! Arbitrage traders place their servers as close > to telecom data centers (called central offices) as they can get! I've always heard that low latency HFT traders want to put their gear in the same building as the financial exchange, maybe even right on the trading floor or next to it. They wouldn't want to be miles away in a data center. I'll ask about this though. I'll admit that I thought of "data center" as meaning "internet" rather than direct fiber, and that wasn't exactly right. > Second in the race misses the deadline, and is considered total > failure, because the arbitrage opportunity was lost (along with > hundreds of thousands or millions of dollars). That sounds like nothing was lost, but rather, a potential gain wasn't realized. Those guys do 1000s of transactions a second and don't care if they miss a few. They've got a box that steadily converts electricity to money, like bitcoin mining. If they turn it off for a few minutes, the money stops during the downtime, but nothing bad happens. They don't LOSE money while it is off. Also, they want the opposite of critical systems development. Thought experiment: you proudly deliver your SPARK-verified Ada HFT system to your Wall Street customer. They turn it on and it generates profits and they are happy. Now some demented C programmer comes along and wants to swap out your beautifully verified inner loop with some crazy pointer mangling and type casting madness. This not only invalidates your SPARK proofs, but it's actually explicitly undefined behaviour according to the C standard. But 1) it empirically seems to work, at least on some particular combination of compiler, version, and optimization flags; and 2) it runs 1% faster than your Ada code. What do you think happens next? My bet is they want the speedup and don't care about the proofs.