mit-scheme-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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


From: Przemysław Soboń
Subject: [MIT-Scheme-devel] MIT-Scheme 9.0.1 performance problem. (cont.)
Date: Fri, 13 May 2011 16:32:04 +0200

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 comparing names one by one from the beginning of the list up to the end. Because of that adding new definitions causes performance to drop. The version 7.5.17 searched for the symbols in the same way but when the symbol has been found it was adding it to some kind of cache for next time usages.

Is MIT-Scheme team planning to improve this area of the microcode? I can offer a little of my time to implement some code but because I am not very familiar with the it I need some help/instructions what should be done to implement that correctly.

Below top of the profiler log.

Each sample counts as 0.01 seconds.
  %   cumulative   self              self     total           
 time   seconds   seconds    calls   s/call   s/call  name    
 96.16     75.24    75.24 95074989     0.00     0.00  scan_frame
  1.16     76.15     0.91        1     0.91    77.23  Interpret
  0.56     76.59     0.44 21720917     0.00     0.00  lookup_variable
  0.18     76.73     0.14                             asm_scheme_to_interface
  0.12     76.82     0.09 19424610     0.00     0.00  new_subproblem
  0.10     76.90     0.08 19577380     0.00     0.00  end_subproblem
  0.10     76.98     0.08  9610278     0.00     0.00  read_cc_entry_type
  0.10     77.06     0.08  8792089     0.00     0.00  new_reduction
  0.10     77.14     0.08  1061870     0.00     0.00  Prim_string_allocate
  0.09     77.21     0.07  2713827     0.00     0.00  setup_lexpr_invocation
  0.08     77.27     0.06  9517299     0.00     0.00  setup_compiled_invocation
  0.08     77.33     0.06  1970075     0.00     0.00  assign_variable 


Best regards,
Przemek

reply via email to

[Prev in Thread] Current Thread [Next in Thread]