Sujet : Re: substr() - copying or not copying, that is here the question.
De : ben (at) *nospam* bsb.me.uk (Ben Bacarisse)
Groupes : comp.lang.awkDate : 01. Jun 2025, 11:42:21
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <87h60zrbea.fsf@bsb.me.uk>
References : 1 2 3
User-Agent : Gnus/5.13 (Gnus v5.13)
Janis Papanagnou <janis_papanagnou+
ng@hotmail.com> writes:
On 31.05.2025 21:07, Mack The Knife wrote:
In article <101f9oo$18edp$1@dont-email.me>,
Janis Papanagnou <janis_papanagnou+ng@hotmail.com> wrote:
In the context p=index(substr(t,s),r)
it would not be necessary to copy the substr(t,s),
the index() function could operate on the original
using some access "descriptor" (say, a pointer and
a length) in read-only mode.
>
Will (GNU) Awk do a copy of the data value or does
it use a read-only descriptor access to the already
existing substring of variable "t"?
>
Currently I'm playing with some huge data and copies
of MB sized data is costly (if it's repeatedly done
with various substr() subscripts).
substr() makes a copy. This is clear in the code.
>
Okay. Thanks for checking that!
...
Okay, maybe I could write an extension to work on memory
mapped files - the data originally stems from a file -
and seek/read through "C" mechanisms. (But that's huge
effort compared to some natively available function. And
then I'd probably better implement that straightly in "C"
instead of using Awk, in the first place, since I'd have
to implement the GNU Awk Extension anyway in "C".)
An alternative (depending on the context) would be to consider an
extension that provides an index function with a third argument giving
the initial offset. I've not looked at how extensions get access to
GAWK strings, so this many not be as easy as it sounds, but I would
guess that it might be relatively simple to do.
-- Ben.
Date | Sujet | # | | Auteur |
31 May 25 | substr() - copying or not copying, that is here the question. | 18 | | Janis Papanagnou |
31 May 25 |  Re: substr() - copying or not copying, that is here the question. | 17 | | Mack The Knife |
31 May 25 |   Re: substr() - copying or not copying, that is here the question. | 15 | | Janis Papanagnou |
1 Jun 25 |    Re: substr() - copying or not copying, that is here the question. | 8 | | Ben Bacarisse |
1 Jun 25 |     Re: substr() - copying or not copying, that is here the question. | 3 | | Janis Papanagnou |
1 Jun 25 |      Re: substr() - copying or not copying, that is here the question. | 2 | | Kenny McCormack |
1 Jun 25 |       Re: substr() - copying or not copying, that is here the question. | 1 | | Janis Papanagnou |
1 Jun 25 |     Re: substr() - copying or not copying, that is here the question. | 4 | | Kenny McCormack |
1 Jun 25 |      Re: substr() - copying or not copying, that is here the question. | 3 | | Janis Papanagnou |
1 Jun 25 |       Re: substr() - copying or not copying, that is here the question. | 2 | | Kenny McCormack |
7 Jun 25 |        Re: substr() - copying or not copying, that is here the question. | 1 | | Janis Papanagnou |
3 Jun 25 |    Re: substr() - copying or not copying, that is here the question. | 6 | | Mack The Knife |
3 Jun 25 |     Re: substr() - copying or not copying, that is here the question. | 1 | | Kenny McCormack |
7 Jun 25 |     Re: substr() - copying or not copying, that is here the question. | 4 | | Janis Papanagnou |
8 Jun 25 |      Re: substr() - copying or not copying, that is here the question. | 3 | | Mack The Knife |
11 Jun 25 |       Re: substr() - copying or not copying, that is here the question. | 2 | | Janis Papanagnou |
11 Jun 25 |        Meta chat (Was: substr() - copying or not copying, that is here the question.) | 1 | | Kenny McCormack |
1 Jun 25 |   Re: substr() - copying or not copying, that is here the question. | 1 | | Kaz Kylheku |