From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Newsgroups: gmane.lisp.guile.devel Subject: Re: Non-blocking web server Date: Mon, 25 Mar 2024 06:31:19 +0100 Message-ID: References: Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="4YNkYgliUmjDyMSL" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="15980"; mail-complaints-to="usenet@ciao.gmane.io" Cc: guile-devel@gnu.org To: Ryan Raymond Original-X-From: guile-devel-bounces+guile-devel=m.gmane-mx.org@gnu.org Mon Mar 25 06:31:56 2024 Return-path: Envelope-to: guile-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1rocw8-0003vv-GY for guile-devel@m.gmane-mx.org; Mon, 25 Mar 2024 06:31:56 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rocvg-0004P5-5v; Mon, 25 Mar 2024 01:31:28 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rocvd-0004Oa-U5 for guile-devel@gnu.org; Mon, 25 Mar 2024 01:31:25 -0400 Original-Received: from mail.tuxteam.de ([5.199.139.25]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rocvb-0008PC-O0 for guile-devel@gnu.org; Mon, 25 Mar 2024 01:31:25 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=tuxteam.de; s=mail; h=From:In-Reply-To:Content-Type:MIME-Version:References:Message-ID: Subject:Cc:To:Date:Sender:Reply-To:Content-Transfer-Encoding:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=Rxrk6QZ1l+nlwD2dQ1OnUj7igwHN4GbW6SKfTF+MQhQ=; b=TXDBUACeDxpZuIkU8PdTy3NBeI Wj+RbT1FafowMx65H2gE1lc6LrB+NflsVm6lFZ2tt6zPlIrmsKngqFANQl+v/ZW1dl3iwS+rQhfK7 wB4viNzv63Z/QXTyg9r5ibrGoYQXBANfjF2BR/4YmXieWn0GjK6blnXjZ5jFPKdQGLYzZXAASxSXK J5c/cB2Bf+UzPx1TRXZUiLCEJx24pSMNecKLjanLWpAGDYMu8izN+D7sTGJHyEthCVGGCxrjIQSo4 vOEAXR8HYilubdYmMwhgO5+5O48+0wnAkfU9RmNACh9eLQVsqNDEumNHDLojLEiGq+19N6dV/eO57 VfIAm54g==; Original-Received: from tomas by mail.tuxteam.de with local (Exim 4.94.2) (envelope-from ) id 1rocvX-0000kX-L9; Mon, 25 Mar 2024 06:31:19 +0100 Content-Disposition: inline In-Reply-To: Received-SPF: pass client-ip=5.199.139.25; envelope-from=tomas@tuxteam.de; helo=mail.tuxteam.de X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-devel-bounces+guile-devel=m.gmane-mx.org@gnu.org Original-Sender: guile-devel-bounces+guile-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.lisp.guile.devel:22369 Archived-At: --4YNkYgliUmjDyMSL Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Sun, Mar 24, 2024 at 03:41:32PM -0400, Ryan Raymond wrote: > Hello, all. > I was able to build a non-blocking web-server using network sockets. > However, the existing guile web/server.scm implementation is > single-threaded and therefore blocking [...] How does "single-threaded" imply "blocking"? I mean: multithreading does have its uses, no question (especially if you want to leverage more than one CPU core). As one example, Nginx, arguably the fastest of the web servers out there isn't based on threads for concurrency. Cheers --=20 t --4YNkYgliUmjDyMSL Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iF0EABECAB0WIQRp53liolZD6iXhAoIFyCz1etHaRgUCZgEMIQAKCRAFyCz1etHa Rq4rAJ0Zx3Z7GZucVGxaaWy1O9A+pMje/ACbBToIwuw6Iz15wnyoZxI/Ek9BpNg= =kAkz -----END PGP SIGNATURE----- --4YNkYgliUmjDyMSL--