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: border1.nntp.dca1.giganews.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!usenet.blueworldhosting.com!feeder01.blueworldhosting.com!feeder.erje.net!eu.feeder.erje.net!gandalf.srv.welterde.de!news.jacob-sparre.dk!loke.jacob-sparre.dk!pnx.dk!.POSTED!not-for-mail From: "Randy Brukardt" Newsgroups: comp.lang.ada Subject: Re: What exactly is the licensing situation with GNAT? Date: Wed, 19 Nov 2014 17:59:11 -0600 Organization: Jacob Sparre Andersen Research & Innovation Message-ID: References: <86bf69c8-eb08-4696-b6c9-3784f5c42213@googlegroups.com> <87389olqie.fsf@ixod.org> <19fa65d4-72c9-44ab-b44b-4ea0929c18f2@googlegroups.com> <25731193-c0b5-4ab7-87ff-ba8c6a42cdbd@googlegroups.com> <1se4bvo6gaqft.16cfjaiketlz0$.dlg@40tude.net> <13efsbp4ynti1.1qsb6buqa4a60.dlg@40tude.net> <1lxkqa97hflr0.1c0bm39tzl8ty$.dlg@40tude.net> NNTP-Posting-Host: 24-196-82-226.static.mdsn.wi.charter.com X-Trace: loke.gir.dk 1416441553 1732 24.196.82.226 (19 Nov 2014 23:59:13 GMT) X-Complaints-To: news@jacob-sparre.dk NNTP-Posting-Date: Wed, 19 Nov 2014 23:59:13 +0000 (UTC) X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2900.5931 X-RFC2646: Format=Flowed; Original X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.6157 Xref: number.nntp.giganews.com comp.lang.ada:190866 Date: 2014-11-19T17:59:11-06:00 List-Id: "Dmitry A. Kazakov" wrote in message news:1lxkqa97hflr0.1c0bm39tzl8ty$.dlg@40tude.net... > On Tue, 18 Nov 2014 16:25:03 -0600, Randy Brukardt wrote: > >>> Depends on how you measured it. Latencies may increase for obvious >>> reason >>> of context switching. The rest should have no influence. >> >> I probably mispoke; I think I was mainly concerned about server load than >> raw performance (the public Internet, after all, is relatively slow >> compared >> to a computer). And it made the web server use 10 times the CPU (or >> something in that range) compared to "smart" busy-waiting using blocking >> sockets. The resulting server load made the server unusable (it would >> have >> taken 100-150% of the available CPU to provide decent performance). > > I see. However measuring load under Windows is a tricky part. You might > have 10% visible load and 100% real load, because the performance counters > count only fully used time quants. So, I would guess, that polling, which > does not actually switches, threads would show system load close to the > reality, while in the case of blocking it could be much lesser than > actual. True, server load could be undercounted because of that Windows bug. But it can't be anywhere near 100%, since the mail filter and the various monitors and tools all use their share of CPU as well (the monitors and especially the spam reviewing tool were near unusable with the non-blocking implementation, they couldn't get enough CPU time). Remember, there isn't much blocking going on with a Janus/Ada program. The runtime will only block if all tasks are blocked or waiting on delays (in the web server case, 20 worker tasks plus a couple management tasks) [and only if the delays are long enough that the OS will usually wake up the program with plenty of time to spare]. You might get some blocking from reading in files (web pages in this case) or from reading from a socket that is already ready, but the latter makes little sense and the former also should happen infrequently (if caching and pre-reads are working as they should). So I wouldn't expect a vast difference caused by truncated time slices in a Janus/Ada (GNAT might be very different). Randy.