[MIT-Scheme-devel] MIT-Scheme 9.0.1 performance problem. (cont.)

2011-05-13 Thread Przemysław Soboń
Hi again, Please forgive me creating next thread, but I didn't receive my previous mail and was not able to reply. I found out what causes the problem with performance. The microcode contains a function named scan_frame. It basically searches for a symbol in the symbol list. This is done comparin

Re: [MIT-Scheme-devel] MIT-Scheme 9.0.1 performance problem. (cont.)

2011-05-13 Thread Taylor R Campbell
Date: Fri, 13 May 2011 16:32:04 +0200 From: =?UTF-8?B?UHJ6ZW15c8WCYXcgU29ib8WE?= Is MIT-Scheme team planning to improve this area of the microcode? There's a better solution: compile your code. It will run much faster compiled than the interpreter ever did even with the lookup cache.

Re: [MIT-Scheme-devel] MIT-Scheme 9.0.1 performance problem. (cont.)

2011-05-13 Thread Przemysław Soboń
>   Date: Fri, 13 May 2011 16:32:04 +0200 >   From: =?UTF-8?B?UHJ6ZW15c8WCYXcgU29ib8WE?= > >   Is MIT-Scheme team planning to improve this area of the microcode? > > There's a better solution: compile your code.  It will run much faster > compiled than the interpreter ever did even with the lookup

Re: [MIT-Scheme-devel] MIT-Scheme 9.0.1 performance problem. (cont.)

2011-05-13 Thread Taylor R Campbell
Date: Fri, 13 May 2011 23:28:03 +0200 From: =?UTF-8?B?UHJ6ZW15c8WCYXcgU29ib8WE?= Do you mean to compile a band file and use it later? No, I mean to compile your Scheme code to machine code. See .

Re: [MIT-Scheme-devel] MIT-Scheme 9.0.1 performance problem. (cont.)

2011-05-16 Thread Przemysław Soboń
>   Date: Fri, 13 May 2011 23:28:03 +0200 >   From: =?UTF-8?B?UHJ6ZW15c8WCYXcgU29ib8WE?= > >   Do you mean to compile a band file and use it later? > > No, I mean to compile your Scheme code to machine code.  See > .

Re: [MIT-Scheme-devel] MIT-Scheme 9.0.1 performance problem. (cont.)

2011-05-16 Thread Taylor R Campbell
Date: Mon, 16 May 2011 14:26:05 +0200 From: =?UTF-8?B?UHJ6ZW15c8WCYXcgU29ib8WE?= Everything works perfect if I have the macro and execution part in one file. I compile the file and execute and get the results as expected. The problems occur when I move the macro to another file. Th

Re: [MIT-Scheme-devel] MIT-Scheme 9.0.1 performance problem. (cont.)

2011-05-16 Thread Przemysław Soboń
>   Date: Mon, 16 May 2011 14:26:05 +0200 >   From: =?UTF-8?B?UHJ6ZW15c8WCYXcgU29ib8WE?= > > This is because macros in MIT Scheme are a mess, I'm afraid... > > The rule is that if luser.scm uses a macro defined in definer.scm, > then you must load definer.scm before compiling luser.scm. > Hmm, it

Re: [MIT-Scheme-devel] MIT-Scheme 9.0.1 performance problem. (cont.)

2011-05-16 Thread Arthur A. Gleckler
> > Hmm, it's a mess, I agree. > Loading definer.scm before execution of (cf "luser.scm") does not > help. I load the definer.scm, then compile the luser.scm and get the > error. I read somewhere that the compiler uses only the predefined > macros from the Scheme build (let's say included in all.co

Re: [MIT-Scheme-devel] MIT-Scheme 9.0.1 performance problem. (cont.)

2011-05-16 Thread Peter Feigl
On Mon, May 16, 2011 at 10:44:16PM +0200, Przemysław Soboń wrote: > >   Date: Mon, 16 May 2011 14:26:05 +0200 > >   From: =?UTF-8?B?UHJ6ZW15c8WCYXcgU29ib8WE?= > > > > This is because macros in MIT Scheme are a mess, I'm afraid... > > > > The rule is that if luser.scm uses a macro defined in define

Re: [MIT-Scheme-devel] MIT-Scheme 9.0.1 performance problem. (cont.)

2011-05-16 Thread Taylor R Campbell
Date: Mon, 16 May 2011 22:44:16 +0200 From: =?UTF-8?B?UHJ6ZW15c8WCYXcgU29ib8WE?= Loading definer.scm before execution of (cf "luser.scm") does not help. I load the definer.scm, then compile the luser.scm and get the error. Sorry, you're right. You can do this: (let ((environment

Re: [MIT-Scheme-devel] MIT-Scheme 9.0.1 performance problem. (cont.)

2011-05-16 Thread Przemysław Soboń
>   Date: Mon, 16 May 2011 22:44:16 +0200 >   From: =?UTF-8?B?UHJ6ZW15c8WCYXcgU29ib8WE?= > > (let ((environment >       (extend-top-level-environment system-global-environment))) >  (load "definer" environment) >  (fluid-let ((sf/default-syntax-table environment)) >    (cf "user"))) > > Usually I

Re: [MIT-Scheme-devel] MIT-Scheme 9.0.1 performance problem. (cont.)

2011-05-16 Thread Przemysław Soboń
>> > >> > This is because macros in MIT Scheme are a mess, I'm afraid... >> > >> > The rule is that if luser.scm uses a macro defined in definer.scm, >> > then you must load definer.scm before compiling luser.scm. >> > >> >> Hmm, it's a mess, I agree. >> Loading definer.scm before execution of (cf

Re: [MIT-Scheme-devel] MIT-Scheme 9.0.1 performance problem. (cont.)

2011-05-16 Thread Przemysław Soboń
>> Hmm, it's a mess, I agree. >> Loading definer.scm before execution of (cf "luser.scm") does not >> help. I load the definer.scm, then compile the luser.scm and get the >> error. I read somewhere that the compiler uses only the predefined >> macros from the Scheme build (let's say included in all

Re: [MIT-Scheme-devel] MIT-Scheme 9.0.1 performance problem. (cont.)

2011-05-17 Thread Arthur A. Gleckler
> I am waiting for your notes then. Every hint is valuable for me. Here's what I wrote in my notes: (load "~/tmp/macro-definition.scm") (fluid-let ((sf/default-syntax-table (->environment '(user (cf "~/tmp/macro-user.scm")) This will make sure that the macros defined in "macro-defi