Number: 1519 Date: 27-Jun-84 14':39':04 Submitter: Sannella.PA Source: MASINTER.PA Subject: RECORDACCESS is too slow Lisp Version: Description: ' Date': 24 Jun 84 23':34 PDT' From': Shrager.pa' Subject': Lisp': RecordAccess is *REAL* slow' To': LispSupport.pa' cc': masinter' ' Lisp System Date': 19-Jun-84 14':48':49' Machine': Dorado (Shrager)' Microcode version': 24,4' Memory size': 10000' Frequency': Always' Impact': Serious' ' [Larry, there isn''t any such thing as a "type" field on this AR form, so I leave it to Sannella to make an "AR of type Performance" out of this mail message as per your request.]' ' I''ve computed some timings for RECORDACCESS versus FETCH and FFETCH. All figures are for N=3 and have a standard deviation of <0.05. These were collected from the "CPU Time" field of TIMEALL''s output.' ' For the function':' ' (LAMBDA NIL ' (PROG ((I 0) TESTRECORD) ' (RECORD FOO (BAR)) ' (SETQ TESTRECORD (create FOO BAR ← 5)) ' LOOP ' (COND ((EQ 10000 (SETQ I ' (IPLUS <*** Fetch Expr ***> ' I)))' (RETURN (QUOTE DONE))) ' (T (GO LOOP)))))' ' ' With <*** Fetch Expr ***> =' ' 5' ' Uncompiled = 1.87' Compiled = 0.05' ' (RECORDACCESS ''BAR TESTRECORD)' ' Uncompiled = 21.8 sec' Compiled = 19.1 ' ' (RECORDACCESS ''(FOO BAR) TESTRECORD)' ' Uncompiled = 20.0 sec' Compiled = 17.2' ' (FETCH BAR TESTRECORD)' ' Uncompiled = 2.2 ' Compiled = 0.01' ' (FFETCH BAR TESTRECORD)' ' Uncompiled = 2.2' Compiled = 0.01' ' (EVAL (COND ''FFETCH ''(BAR TESTRECORD)))' ' Uncompiled = ~ 47 secs (SD>0.5)' Compiled = ~46 sec (SD>0.5)' ' I''d say that the manual was right on the mark about recordaccess': It''s better than EVAL-CONS but not a whole helluva lot. I guess I just don''t understand what it has to do that''s all that complex such that an uncompiled FETCH is 10 times as fast.' ' -- Jeff' Workaround: Test Case: Edit-By: Edit-Date: 27-Jun-84 14':34':02 Attn: Masinter Assigned To: In/By: Disposition: System: Programming Environment Subsystem: Record Package Machine: Disk: Microcode Version: Memory Size: File Server: Server Software Version: Difficulty: Hard Frequency: Everytime Impact: Moderate Priority: Perhaps Status: Open Problem Type: Performance Source Files: