Custom Query (1030 matches)
Results (394 - 396 of 1030)
| Ticket | Resolution | Summary | Owner | Reporter |
|---|---|---|---|---|
| #441 | fixed | Would like to add PROCESS-PLIST slot to PROCESS instances | ||
| Description |
Having a PROCESS-PLIST accessor on PROCESS instances would be very helpful and appears to have benign consequences for existing code. This permits us to associate other items of interest with all processes, e.g., a PID (process descriptor) which can be used to encapsulate a lot of other information (e.g., mailboxes, locks, types of processes, etc.) without actually extending the PROCESS class object beyond the property list slot. This is needed because calling make-process uses an existing class definition by default. New instances can be applied to extended class definitions using the :CLASS keyword parameter. But existing processes will not have the features needed by extended process objects. And the listener process, and perhaps others, will have already been created, yet need to participate with other instances in these extended applications. By adding a PLIST slot with accessor CCL:PROCESS-PLIST we can associate arbitrary extensions with already existing processes as needed by applications. (defclass process () .... (PLIST :INITFORM NIL :ACCESSOR PROCESS-PLIST) ...)
|
|||
| #365 | duplicate | Worse than exponential algorithms in type derivation | ||
| Description |
Hi, The compiler seems to use algorithms for type derivation that are worse than exponential with the size of forms compiled. I see this on both IA32 and X86-64 ports, running Linux. #|
? (tabulate-compilation-time 17)
1, 0, 0.0
2, 0, 0.0
3, 0, 0.0
4, 0, 0.0
5, 8000, 8.987322
6, 8001, 8.987447
7, 16001, 9.680469
8, 52003, 10.859076
9, 128008, 11.759856
10, 388024, 12.868825
11, 556035, 13.228588
12, 1548097, 14.252538
13, 4724295, 15.368229
14, 14188887, 16.46797
15, 41430589, 17.53953
16, 124423776, 18.639204
|#
(defun time-compilation (form)
(let ((before (get-internal-run-time)))
(compile nil form)
(- (get-internal-run-time) before)))
(defun make-form (size)
`(lambda (a)
(declare (type (integer -55555555555555 -4444) a))
(+ 1 ,@(loop :for i :below size :collect 'a))))
(defun tabulate-compilation-time (&optional (max-form-size 15))
(dotimes (i max-form-size)
(let ((ct (time-compilation (make-form i))))
(format t "~d, ~d, ~f~%" i ct (log (1+ ct))))))
|
|||
| #796 | fixed | Windows: resizing windows broken | ||
| Description |
I don't know if I built something wrong, because I don't remember this before, but maybe I just hadn't tried before: resizing behavior is broken in some bizarre way. E.g. clicking on a window border causes the window to jump to a different size, can't make it any smaller by dragging. |
|||
