home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #16 / NN_1992_16.iso / spool / comp / lang / lisp / mcl / 1103 < prev    next >
Encoding:
Internet Message Format  |  1992-07-30  |  3.8 KB

  1. Path: sparky!uunet!olivea!apple!cambridge.apple.com!UK0392@AppleLink.Apple.COM
  2. From: UK0392@AppleLink.Apple.COM (EHN & DIJ Oakley,BDV)
  3. Newsgroups: comp.lang.lisp.mcl
  4. Subject: MCL 2.0 final comments
  5. Message-ID: <712571654.4324350@AppleLink.Apple.COM>
  6. Date: 31 Jul 92 08:31:00 GMT
  7. Sender: info-mcl-request@cambridge.apple.com
  8. Lines: 61
  9. Approved: comp.lang.lisp.mcl@Cambridge.Apple.C0M
  10. Original-To: INFO-MCL@CAMBRIDGE.APPLE.COM
  11. Original-Cc: BUG-MCL@CAMBRIDGE.APPLE.COM
  12.  
  13. Friends (& MCL wonder-workers),
  14.  
  15. Here is a first batch of comments regarding MCL 2.0 final -
  16.  
  17. 1.  Overall impressions:
  18. If you have been wondering whether or not to upgrade from 1.x, or to invest in
  19. MCL 2.0, then now is the time.  The beta was a good product, the final release
  20. is stunningly good, with all sorts of excellent features.  I would single out
  21. (perhaps rather arbitrarily) the following
  22.     - the CD has over 500 megs of material on it, of which over 60 megs is
  23. contributed source code and demos, including demos of CLIM 1.1,
  24. ExperTelligence's products, and a huge library of other material which would
  25. represent a huge amount of ftping (assuming you could locate the material in
  26. the first place).  Personally, I would recommend *every* Common Lisp user to
  27. buy MCL 2.0 and a CD ROM drive just for this massive archive.  There are
  28. accessible on-line docs, partial sources for MCL 2.0 itself, etc.
  29.     - the examples have been considerably expanded, and include AppleEvent
  30. stuff, etc.  Coupled with the additional material in the much improved
  31. documentation, MCL is much more accessible.
  32.     - MCL support for evolving features like AppleEvents has also been greatly
  33. improved, and the new ephemeral gc is excellent (see below).
  34.  
  35. 2.  Compatibility notes:
  36. Upgrading from MCL 2.0b1p3 is pretty straightforward.  I have come across the
  37. following little things of which you might like to beware:
  38.     - if you use LOOP features, remember that these have been evolving and may
  39. require a modest bit of tidying before they compile correctly, or to use the
  40. compatibility loop provided (documented)
  41.     - get-internal-run-time now seems to return a time in milliseconds, whereas
  42. in 2.0b1, it seemed to return a time in ticks (60ths of a second), although
  43. this does *not* appear to be documented anywhere
  44.     - the default startup state is for egc-enabled-p to be NIL, somewhat
  45. surprisingly, so if you want ephemeral gc to be enabled, you will need to turn
  46. it on [with (egc t) in your init.lisp file] deliberately (if this is
  47. documented, it is not clear!)
  48.     - there are some other changes which are documented, e.g. logical pathnames
  49. vs logical directories, for which you will need to watch.
  50.  
  51. 3.  Benefits of egc:
  52. [Interestingly, in evangelising MCL 2.0 to someone here, it was pointed out
  53. that 'ephemeral gc' has also been called 'generational gc', and we wondered
  54. whether there was any literature describing it which might merit reference?]
  55.  
  56. Ephemeral gc is a major step forward.  We have an application which does
  57. real-time modelling of a radar display, and is clearly very sensitive to
  58. conventional gc, which brings everything to a temporary halt.  When porting
  59. this to MCL 2.0 final, even giving it a large partition but leaving egc off,
  60. gcing was very noticeable and disruptive.  Under MCL 2.0b1, this was also the
  61. case (although I fancy that standard gcing under b1 was somewhat less
  62. frequent?).  Once egc was enabled, and without messing with the default
  63. generation sizes, standard test runs completed using only egc and without any
  64. gc at all, eliminating all disruption to the display and only very occasional
  65. time 'jerks'.  The result is now very impressive indeed.
  66.  
  67. One of the examples (a thermometer bar) provides a very useful tool for
  68. monitoring egc and gc activity, and I would recommend its use for tuning egc
  69. and memory partitions during development of applications.
  70.  
  71. Another very happy MCL 2.0 user,
  72. Howard.
  73.  
  74.