From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Freja Nordsiek Newsgroups: gmane.lisp.guile.user Subject: Re: How to make GNU Guile more successful Date: Sun, 16 Jul 2017 10:45:45 +0000 Message-ID: References: <87lgtajpkc.fsf@web.de> <87h8ychh9h.fsf@elektro.pacujo.net> <96F78925-F832-40C0-B94A-92E64B34B0EA@gmail.com> <878tjohdva.fsf@elektro.pacujo.net> <680205F4-7E1B-4A3D-B82D-FE08B846323E@gmail.com> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: blaine.gmane.org 1500201990 18786 195.159.176.226 (16 Jul 2017 10:46:30 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Sun, 16 Jul 2017 10:46:30 +0000 (UTC) Cc: "guile-user@gnu.org" To: Marko Rauhamaa Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Sun Jul 16 12:46:20 2017 Return-path: Envelope-to: guile-user@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dWh44-00049W-RD for guile-user@m.gmane.org; Sun, 16 Jul 2017 12:46:16 +0200 Original-Received: from localhost ([::1]:44773 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dWh4A-0006U9-7g for guile-user@m.gmane.org; Sun, 16 Jul 2017 06:46:22 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:45399) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dWh3k-0006U4-J4 for guile-user@gnu.org; Sun, 16 Jul 2017 06:45:57 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dWh3h-0007Y5-FJ for guile-user@gnu.org; Sun, 16 Jul 2017 06:45:56 -0400 Original-Received: from mail-wm0-x22d.google.com ([2a00:1450:400c:c09::22d]:38553) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dWh3h-0007XY-3s for guile-user@gnu.org; Sun, 16 Jul 2017 06:45:53 -0400 Original-Received: by mail-wm0-x22d.google.com with SMTP id f67so58676174wmh.1 for ; Sun, 16 Jul 2017 03:45:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=date:in-reply-to:references:mime-version:content-transfer-encoding :subject:to:cc:from:message-id; bh=e3OBUV78tINF2jV2r4MA7h15hahgP2saOV6j+qh0KNs=; b=MRicNg30BClLiFPLXR/mj+5hyVjYtUAlzOkxfOMEFjz7UQ+tx98FuEJpxLJlE9w6AN B4hMls0stq939Lgu1ibJqip1CQ4Rwi4rGh1PdfPgmlqb9z3Afsds1zNudxdn3bb8t+gu aFdSR9tIKToZrp+7rKUaEdCeI+/HI3wk8OM8Sc63F+p5yZ2rye7F70LDcOfhqsxiEiKh 9g+Xe/jHndmYhEUhip7P5mjU1Jv6Tg1BpkxdWg/RgaBWU22Asb8GLSZ0ArWAe19TAUGG i2JZg1MutquW+rlNDEPaB/Bgy3AOU8I2LJUNKkhnjqTGLtJowft0DT6LjV7T1dCeOAmr MQgg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:in-reply-to:references:mime-version :content-transfer-encoding:subject:to:cc:from:message-id; bh=e3OBUV78tINF2jV2r4MA7h15hahgP2saOV6j+qh0KNs=; b=eigUPzTsAn4Vp5J1xmsdcoP+wJdtE8oWEvVTUMNc/kdp1+gR0IEXqSGj5cLGWvZPRc bapKsQBEH8OeTM7lAWuOYVKOBHCuB6Sl5JMnzMfobYaT6P2qm93cwgc1pATeGy7atWO/ h7ZLmvycDUOpVVtKSLhDzVeYtZensx/mJUvA04vCQAWfvOhH8zOPNsMSLwmxBeigHnbv z4zBdMCMSzI//kskfCg3dC0MHeXt3XHLG7fwgsoRX5anM1vnYh/Pi8/odI+VBBmLbOIx yZ0gBtlSdLIspHjM3vhDtCiqnapc4hjHO5gkL7kh7ZS2QRiFAH0ZJn6BmbI5mQZVEDv3 Q8SQ== X-Gm-Message-State: AIVw113vFPG3eLzL85xBN3wdjGU4neQPDyC7j5dD/1xrTL+E28/g7S9F 9cBGnzDYN8Rkxw== X-Received: by 10.28.232.133 with SMTP id f5mr1252902wmi.46.1500201952069; Sun, 16 Jul 2017 03:45:52 -0700 (PDT) Original-Received: from android-5415d01cc55ceda2.local (dslc-082-083-039-055.pools.arcor-ip.net. [82.83.39.55]) by smtp.gmail.com with ESMTPSA id m196sm6453633wma.17.2017.07.16.03.45.50 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 16 Jul 2017 03:45:51 -0700 (PDT) In-Reply-To: <680205F4-7E1B-4A3D-B82D-FE08B846323E@gmail.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:400c:c09::22d X-Content-Filtered-By: Mailman/MimeDel 2.1.21 X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-user-bounces+guile-user=m.gmane.org@gnu.org Original-Sender: "guile-user" Xref: news.gmane.org gmane.lisp.guile.user:13941 Archived-At: Oh, sorry, just realized I skipped the main question=2E There are various data type substitutions that can help or hurt=2E Replaci= ng lists with vectors or vice versa can significantly help or hurt performa= nce depending on the use case=2E Same for charsets vs strings=2E In situati= ons where the data is preserved from collection by other means, weak refere= nces to that data might reduce the GC load since there is just less data to= go through (not sure how the GC implements weak references so could be ver= y worng about that)=2E Freja Nordsiek On July 16, 2017 12:39:20 PM GMT+02:00, Freja Nordsiek wrote: >Not necessarily=2E Using bytevectors and SRFI-4 vectors works very well >for some kinds of data=2E Just, they aren't the best for other kinds (in >principle they can work with all data if one is one implements a heap >or other custom memory management inside one)=2E They can be made to work >but are hard for some types of data, and if you are working with >pointers inside them very easy to get a segfault (even python numpy, >which has a lot of work done on it over many years, still has a fairly >easy way to segfault it if one uses object dtype)=2E > > >Freja Nordsiek > >On July 16, 2017 12:31:37 PM GMT+02:00, Marko Rauhamaa > wrote: >>Freja Nordsiek : >> >>> I checked the implementation of bytecectors and SRFI-4 in Guile and >>> they are definitely not scanned for pointers=2E But I would say >hacking >>> them is not a good general solution for this problem=2E They are good >>> and natural data structures for large arrays of numerical data that >>> are standard signed/unsigned integers of various fixed sizes and >IEEE >>> floating point numbers, or structures/unions of these types=2E Using >>> them for things other than that or strings/byte-arrays could be >error >>> prone, messy, and performance poor=2E >> >>So no Scheme solution recommended then? >> >> >>Marko