From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Ian Price Newsgroups: gmane.lisp.guile.devel Subject: Re: vhash speed thread safeness Date: Tue, 29 Oct 2013 18:50:35 +0000 Message-ID: <87ob67ykqs.fsf@Kagami.home> References: <3150759.E8ExfKuC24@warperdoze> <87zjpsp86c.fsf@gnu.org> <87zjpsnerz.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=iso-2022-jp-2 X-Trace: ger.gmane.org 1383072655 24001 80.91.229.3 (29 Oct 2013 18:50:55 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 29 Oct 2013 18:50:55 +0000 (UTC) Cc: guile-devel To: ludo@gnu.org (Ludovic =?iso-8859-1?Q?Court=E8s?=) Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Tue Oct 29 19:51:01 2013 Return-path: Envelope-to: guile-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1VbENX-0001iQ-F6 for guile-devel@m.gmane.org; Tue, 29 Oct 2013 19:50:59 +0100 Original-Received: from localhost ([::1]:48843 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VbENX-00069K-4h for guile-devel@m.gmane.org; Tue, 29 Oct 2013 14:50:59 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:59461) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VbENL-00065O-TH for guile-devel@gnu.org; Tue, 29 Oct 2013 14:50:51 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VbENH-0000fM-0o for guile-devel@gnu.org; Tue, 29 Oct 2013 14:50:47 -0400 Original-Received: from mail-we0-x22e.google.com ([2a00:1450:400c:c03::22e]:39789) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VbENG-0000f1-HV; Tue, 29 Oct 2013 14:50:42 -0400 Original-Received: by mail-we0-f174.google.com with SMTP id u56so279137wes.33 for ; Tue, 29 Oct 2013 11:50:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=20120113; h=from:to:cc:subject:references:mail-followup-to:date:in-reply-to :message-id:user-agent:mime-version:content-type; bh=ynNiRpxlPMwuluS2nziYsRamZHoOdAyltjYl55jPKrM=; b=oolbRqcKUbrumpKyimXmYF+2onH4PfHadhxY4WMhT6sL4IWtJAdXuIODwydlg9oREe 5VVrC0MjwnYQotr3DnwTY39z+hDQhv76zj09BrAFu8VJK/YZcXfhKuu9olKciaGfOxGz A6PrJQZYFsExObdh/bE09iP7lonXnRhawVNmQDn9R7yGdrGLGa25MC8ElKHi5gDegIfh EEq1O/BFJb6sR4GVKEAezRZLsTpCIKQOjQmEeUhOyk1UeM8mZZfBLfzI6YVwIpHps9IV hlq8hhJsSwIJjEC5curJvYYRvbyBKSNTU5+amdW6BGTpsyLiLV3I61uL6VOsyHI9PPay rJrw== X-Received: by 10.194.237.99 with SMTP id vb3mr1122267wjc.28.1383072640786; Tue, 29 Oct 2013 11:50:40 -0700 (PDT) Original-Received: from Kagami.home (host86-132-92-201.range86-132.btcentralplus.com. [86.132.92.201]) by mx.google.com with ESMTPSA id sg6sm7668248wic.9.2013.10.29.11.50.38 for (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Tue, 29 Oct 2013 11:50:39 -0700 (PDT) Mail-Followup-To: ludo@gnu.org (Ludovic =?iso-8859-1?Q?Court=E8s?=), Stefan Israelsson Tampe , guile-devel In-Reply-To: <87zjpsnerz.fsf@gnu.org> ("Ludovic \=\?iso-8859-1\?Q\?Court\=E8s\?\= \=\?iso-8859-1\?Q\?\=22's\?\= message of "Tue, 29 Oct 2013 18:54:56 +0100") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.1 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2a00:1450:400c:c03::22e X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.14 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.org@gnu.org Original-Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.devel:16702 Archived-At: ludo@gnu.org (Ludovic Court$(D+2(Bs) writes: > I wonder if there$B!G(Bs some other data structure with similar properties > that doesn$B!G(Bt have the thread-safety issue. Maybe Ian has an idea? HAMTs (another Bagwell creation) might be a reasonable option, but I don't have a complete implementation. I ran into some issues with it a while back, but I have completely forgotten what it was. I do want them in pfds, so I guess I could take this as the kick-up-the-arse to finish it. > The weight-balanced trees in MIT/GNU Scheme look interesting: > > http://www.gnu.org/software/mit-scheme/documentation/mit-scheme-ref/Weight_002dBalanced-Trees.html I have those in pfds under the name bbtrees (for balanced binary trees). They are pretty flexible, and you get reasonable times for a lot of operations, but like a lot of tree structures not particularly cache friendly. -- Ian Price -- shift-reset.com "Programming is like pinball. The reward for doing it well is the opportunity to do it again" - from "The Wizardy Compiled"