[plt-dev] JFYI editor performance note

From: John Clements (clements at brinckerhoff.org)
Date: Fri Apr 17 17:25:26 EDT 2009

On Apr 17, 2009, at 2:05 PM, Matthew Flatt wrote:

> At Fri, 17 Apr 2009 13:48:57 -0700, John Clements wrote:
>> On my ancient PPC G5 cheese-grater, svn head editors are very very
>> slow relative to 4.1.4. I note the following things:
>>
>> 1) I can get *way* ahead of the keystroke buffer.  In particular,  
>> if I
>> type 160 characters quickly, it takes svn head 15 seconds to get them
>> all onto the screen.  In 4.1.4, on the other hand, DrScheme takes  
>> them
>> as fast as I personally can type them, in this case 154 chars in 5
>> seconds.  So, this is at least 3 times as fast, possibly much more.
>
>> From my measurements, many core editor operations now take 6-10 times
> as long as before. Even, the operation of inserting a character
> shouldn't take 1/10 second. I'll investigate into this example
> specifically.

FWIW, I see that this does depend on the content of the buffer.  I  
observe the behavior I described when typing at position zero in with  
this in the buffer:


#lang scheme

(require redex)

;; going to just one argument.

(define-language lamv
   (e (e e ...) (if0 e e e) x v)
   (v (lam (x) e) true false nand)
   (E (E e) (v E) (if0 E e e) hole)
   (x (variable-except lam true false nand if0)))

(define red
   (reduction-relation
    lamv
    (--> (in-hole E (if0 true e_1 e_2))
         (in-hole E e_1)
         "if0t")
    (--> (in-hole E (if0 false e_1 e_2))
         (in-hole E e_2)
         "if0f")
    ;; gets stuck otherwise?
    (--> (in-hole E (nand true true))
         (in-hole E false)
         "nandt")
    (--> (in-hole E (nand e_1 e_2))
         (in-hole E true)
         "nandf"
         (side-condition (and (member (term e_1) '(true false))
                              (member (term e_2) '(true false)))))
    (--> (in-hole E ((lam (x) e) v))
         (in-hole E (subst (x v) e))
         "beta-v")))


-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 2484 bytes
Desc: not available
URL: <http://lists.racket-lang.org/dev/archive/attachments/20090417/928df5ea/attachment.p7s>

Posted on the dev mailing list.