From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Helmut Eller Newsgroups: gmane.emacs.devel Subject: Re: `aset` on strings, changing the size in bytes Date: Sat, 08 Sep 2018 08:03:01 +0200 Message-ID: References: NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: blaine.gmane.org 1536386515 29989 195.159.176.226 (8 Sep 2018 06:01:55 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Sat, 8 Sep 2018 06:01:55 +0000 (UTC) User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Sep 08 08:01:51 2018 Return-path: Envelope-to: ged-emacs-devel@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 1fyWJa-0007j7-V8 for ged-emacs-devel@m.gmane.org; Sat, 08 Sep 2018 08:01:51 +0200 Original-Received: from localhost ([::1]:41425 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fyWLh-0002F8-BF for ged-emacs-devel@m.gmane.org; Sat, 08 Sep 2018 02:04:01 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:33656) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fyWL1-0002Es-4t for emacs-devel@gnu.org; Sat, 08 Sep 2018 02:03:20 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fyWKx-0000qO-R6 for emacs-devel@gnu.org; Sat, 08 Sep 2018 02:03:18 -0400 Original-Received: from [195.159.176.226] (port=37281 helo=blaine.gmane.org) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fyWKx-0000HT-He for emacs-devel@gnu.org; Sat, 08 Sep 2018 02:03:15 -0400 Original-Received: from list by blaine.gmane.org with local (Exim 4.84_2) (envelope-from ) id 1fyWIj-0006tn-DO for emacs-devel@gnu.org; Sat, 08 Sep 2018 08:00:57 +0200 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 13 Original-X-Complaints-To: usenet@blaine.gmane.org Cancel-Lock: sha1:apv5oGRRfSrXjAsXJ/Qzc/ZzImU= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 195.159.176.226 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:229477 Archived-At: On Fri, Sep 07 2018, Stefan Monnier wrote: > Currently, this indirection comes "for free" since we use that same > indirection to let the GC compact the set of string-data-bytes objects > to try and reduce memory fragmentation. But I think we should not have > our high-level API impose such an indirection at the lower level, > especially since this (mis)feature is virtually never used. Would it be hard to have two internal string types, where the "normal" string type has no indirection but can be changed (by updating the type header) to the other type that has the indirection? Helmut