Subject: Re: bug#15555: Re: bug#15555: 24.3; Bidirectional display very slow with long lines

From: Eli Zaretskii <[email-masked]>
Date: Wed, 19 Feb 2014 19:43:08 +0200

> Date: Tue, 18 Feb 2014 21:34:46 +0400
> From: Dmitry Antipov <[email-masked]>
> CC: [email-masked]
> 
> (gdb) b bidi.c:669 ;;; at xmalloc
> Breakpoint 1 at 0x500890: file ../../trunk/src/bidi.c, line 669.
> (gdb) b bidi.c:756 ;;; at xfree
> Breakpoint 2 at 0x500b55: file ../../trunk/src/bidi.c, line 756.
> (gdb) r -Q /tmp/4000.txt
> 
> In 4000.txt, eval (goto-char 2769), then press up arrow ==>
> 
> Breakpoint 1, bidi_shelve_cache () at ../../trunk/src/bidi.c:669
> 669	  databuf = xmalloc (alloc);
> (gdb) p alloc
> $1 = 292820 ;;; ~290K

That's 290K, not 1.5M.  But even 1.5M should take about 100 usec to
move with memcpy.  So this is not a catastrophe.

Of course, doing this in a never-ending loop is not nice, but that's
not a slowdown, that's a bug.