From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Maxime Devos Newsgroups: gmane.lisp.guile.devel Subject: Re: hastbables in scheme, are they slow? using goops is this madness Date: Tue, 22 Feb 2022 08:14:13 +0100 Message-ID: <07c1258b2e3695c065dd3e9ff1dceff2a2eef519.camel@telenet.be> References: Mime-Version: 1.0 Content-Type: multipart/signed; micalg="pgp-sha512"; protocol="application/pgp-signature"; boundary="=-C/wty64ggn8ko6/fDMjY" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="22362"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Evolution 3.38.3-1 To: Stefan Israelsson Tampe , guile-devel Original-X-From: guile-devel-bounces+guile-devel=m.gmane-mx.org@gnu.org Tue Feb 22 08:15:06 2022 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 1nMPO5-0005cT-6L for guile-devel@m.gmane-mx.org; Tue, 22 Feb 2022 08:15:05 +0100 Original-Received: from localhost ([::1]:56022 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nMPO3-0006XF-WF for guile-devel@m.gmane-mx.org; Tue, 22 Feb 2022 02:15:04 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:47198) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nMPNR-0006Vy-3M for guile-devel@gnu.org; Tue, 22 Feb 2022 02:14:27 -0500 Original-Received: from [2a02:1800:120:4::f00:15] (port=52864 helo=andre.telenet-ops.be) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nMPNO-0001X1-HW for guile-devel@gnu.org; Tue, 22 Feb 2022 02:14:24 -0500 Original-Received: from ptr-bvsjgyhxw7psv60dyze.18120a2.ip6.access.telenet.be ([IPv6:2a02:1811:8c09:9d00:3c5f:2eff:feb0:ba5a]) by andre.telenet-ops.be with bizsmtp id y7EH2600K4UW6Th017EJkF; Tue, 22 Feb 2022 08:14:18 +0100 In-Reply-To: DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=telenet.be; s=r22; t=1645514058; bh=lvoi8sItalwR+H/+dqQdTdeVKyCDGuQHqVnXGCuLuVc=; h=Subject:From:To:Date:In-Reply-To:References; b=UkhBNAA9QwqmDclTeBwtFBKxmCVNc91YIep3ZfDQcQDKoyK8tkLvaqUQsArdwewLx +J5yN/SYAJECVzWTEPbDmrBoX34roQRRywzLWsQDrwpQ1CZppqVpGAP11grgPmS7vi 7lAKwqfbpY5yHb17DeuX6gyLrtoCphcFUC2+i5LpqMaXeqiTLTBQhcRoRc5k6UHupe H1Xo/BrOfYYf956K3fXU8eH6Vs67pL9lwlItQVdrlBylWXa3ZHlHKz5D+1pvwHwpWB ibrHsWABBebKLGfAuwxsoOBV7+HPq5tgFmh2dITClx1aEjn6/ftUsKkz597BzFzqjn LzbECqZK+OxVA== X-Host-Lookup-Failed: Reverse DNS lookup failed for 2a02:1800:120:4::f00:15 (failed) Received-SPF: pass client-ip=2a02:1800:120:4::f00:15; envelope-from=maximedevos@telenet.be; helo=andre.telenet-ops.be X-Spam_score_int: -19 X-Spam_score: -2.0 X-Spam_bar: -- X-Spam_report: (-2.0 / 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, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no 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" Xref: news.gmane.io gmane.lisp.guile.devel:21142 Archived-At: --=-C/wty64ggn8ko6/fDMjY Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Stefan Israelsson Tampe schreef op di 22-02-2022 om 00:05 [+0100]: > 2. For very large hash tables C based solutions are about 1.5-2.0 > faster.=20 > (for-each (lambda (i) (hashq-set! h i i)) (iota 20000000)) For what sizes is Scheme faster, and for what sizes is Scheme faster? Where is the cut-off point? Also, seems quite nice. While I haven't had noticed performance problems yet with C hashtables, the Scheme implementation would eliminate the problem of 'hash-for-each' forming a continuation barrier. > LICENSE > LGPL v2 or v3 Guile is LGPL2+, so to be eventually integrated into Guile, shouldn't it to LGPL2+ (there might eventually be a LGPLv4)? Greetings, Maxime. --=-C/wty64ggn8ko6/fDMjY Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNATURE----- iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYhSNRRccbWF4aW1lZGV2 b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7s+YAP9E1J25pGDKFKX08Q1QxdXpGgfG UHT3logvgUaxRBv73gD/eFZ/GvK9o9d+QPV/Rfr96tTUx/6j72kaiT2+epefwwM= =XZGD -----END PGP SIGNATURE----- --=-C/wty64ggn8ko6/fDMjY--