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=-0.3 required=5.0 tests=BAYES_00, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 Path: border2.nntp.dca1.giganews.com!nntp.giganews.com!news.glorb.com!aioe.org!.POSTED!not-for-mail From: "Dmitry A. Kazakov" Newsgroups: comp.lang.ada Subject: Re: What exactly is the licensing situation with GNAT? Date: Thu, 20 Nov 2014 10:53:43 +0100 Organization: cbb software GmbH Message-ID: <2k62zlcocx1l$.1cg687ltl85l9.dlg@40tude.net> References: <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> Reply-To: mailbox@dmitry-kazakov.de NNTP-Posting-Host: nyHeW7QjJmC1odUjK4LkDA.user.speranza.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Complaints-To: abuse@aioe.org User-Agent: 40tude_Dialog/2.0.15.1 X-Notice: Filtered by postfilter v. 0.8.2 Xref: number.nntp.giganews.com comp.lang.ada:190873 Date: 2014-11-20T10:53:43+01:00 List-Id: On Wed, 19 Nov 2014 17:59:11 -0600, Randy Brukardt wrote: > "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). The difference appears when a worker task gets blocked before it spent its quant. The shorter wake-up intervals are, and the more worker tasks exist, the bigger is the error. If individual filtering action is not time consuming (does not spread across hundreds of quants) the error might be considerable. -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de