GNU bug report logs -
#40407
[PATCH] slow ENCODE_FILE and DECODE_FILE
Previous Next
Reported by: Mattias EngdegÄrd <mattiase <at> acm.org>
Date: Fri, 3 Apr 2020 16:11:01 UTC
Severity: normal
Tags: patch
Done: Mattias EngdegÄrd <mattiase <at> acm.org>
Bug is archived. No further changes may be made.
Full log
Message #32 received at 40407 <at> debbugs.gnu.org (full text, mbox):
> Date: Sat, 04 Apr 2020 20:22:37 +0300
> From: Eli Zaretskii <eliz <at> gnu.org>
> Cc: 40407 <at> debbugs.gnu.org
>
> > + if (EQ (dst_object, Qt))
> > + {
> > + /* Fast path for ASCII-only input and an ASCII-compatible coding:
> > + act as identity. */
> > + Lisp_Object attrs = CODING_ID_ATTRS (coding.id);
> > + if (! NILP (CODING_ATTR_ASCII_COMPAT (attrs))
> > + && (STRING_MULTIBYTE (string)
> > + ? (chars == bytes) : string_ascii_p (string)))
> > + return nocopy ? Fcopy_sequence (string) : string;
>
> I think in the use case where we return a copy, we should make sure
> the return value is unibyte when encoding and multibyte when decoding.
> Otherwise, I think this is OK (for the master branch, obviously).
Btw, if we want this particular use case to be as fast as possible,
then Fcopy_sequence is not the best way, because it is not optimized
for the case of copying a single string. We could do better by
calling make_uninit_multibyte/unibyte_string and memcpy directly.
This bug report was last modified 5 years and 91 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.