From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from sm.strop.com.pl (sm.strop.com.pl [83.17.179.219]) by sourceware.org (Postfix) with ESMTPS id AE4C13858D35 for ; Tue, 4 Jul 2023 16:17:22 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org AE4C13858D35 Authentication-Results: sourceware.org; dmarc=pass (p=reject dis=none) header.from=ztk-rp.eu Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=ztk-rp.eu Received: from zorro.ztk-rp.eu ([::ffff:10.208.4.171]) (TLS: TLS1.2,256bits,ECDHE_RSA_AES_256_GCM_SHA384) by sm.strop.com.pl with ESMTPS; Tue, 04 Jul 2023 18:15:46 +0200 id 0000000001281608.0000000064A445B2.00001837 Received: from public-gprs569267.centertel.pl ([37.225.86.244]:9122 helo=[192.168.43.32]) by zorro.ztk-rp.eu with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1qGigr-00EQ7l-3j; Tue, 04 Jul 2023 18:15:45 +0200 Message-ID: <4db88aa9-bc82-c606-b032-17a4b86eff60@ztk-rp.eu> Date: Tue, 4 Jul 2023 18:15:42 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.11.0 Content-Language: en-US To: David Brown , Jonathan Wakely Cc: waffl3x , "gcc@gcc.gnu.org" References: <439affd4-11fe-de80-94c8-6fc64cbf76ec@ztk-rp.eu> <21650b1b-1d2e-7929-3105-b8aaca629272@ztk-rp.eu> <007e332d-99a2-516d-bdf6-ab929a6352de@westcontrol.com> From: =?UTF-8?Q?Rafa=c5=82_Pietrak?= In-Reply-To: <007e332d-99a2-516d-bdf6-ab929a6352de@westcontrol.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-SA-Exim-Connect-IP: 37.225.86.244 X-SA-Exim-Mail-From: embedded@ztk-rp.eu X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,KAM_DMARC_STATUS,NICE_REPLY_A,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE,T_SPF_HELO_PERMERROR autolearn=ham autolearn_force=no version=3.4.6 Subject: Re: wishlist: support for shorter pointers X-SA-Exim-Version: 4.2.1 (built Sat, 13 Feb 2021 17:57:42 +0000) X-SA-Exim-Scanned: Yes (on zorro.ztk-rp.eu) Received-SPF: unknown (IP address lookup failed.) SPF=FROM; sender=embedded@ztk-rp.eu; remoteip=::ffff:10.208.4.171; remotehost=; helo=zorro.ztk-rp.eu; receiver=sm.strop.com.pl; List-Id: W dniu 4.07.2023 o 17:13, David Brown pisze: [------------] > > If you have a circular buffer, it is vastly more efficient to have an > array with no pointers or indices, and use head and tail indices to > track the current position.  But I'm not sure if that is what you are > looking for.  And you can use indices in fields for chaining, but the > syntax will be different.  (For some microcontrollers, the > multiplications involved in array index calculations can be an issue, > but not for ARM devices.) Ring Buffers, yest and no. Thy have their uses, but at this particular case (my current project) using them is pointless. A little explanation: at this point I have an "object" (a structure, or rather a union of structures) with 6 pointers and some additional data. Those 6 pointers are entangled in something that look like "neural network" (although it's NOT one). This structure is sort of a demo, a template. It's expected to grow somewhat for the real thing ... like 3-5 times current structure. This translates to 100-150 bytes each (from current 32bytes) with "big several" expected as total size of the system. And my target is 2K-RAM/4kRAM devices. I don't imagine turning this web into any amount of RB. In my capacity, that'd make it unmanageable. But this is just me. I though, people doing embedded out there face similar problems, and a nice compiler "pragma" into direction of named spaces/segments could really help here. -R