From: David M. <dm...@os...> - 2004-11-09 03:35:22
|
I'm starting to think the compiler's a little TOO worried about runtime allocation of alien-value structures. Nobody wants a compiler warning for every time a call to "list" forces a cons cell to be allocated ... thus nobody wants this warning either: * (defun foo () (sb-alien:make-alien (sb-alien:struct sdl:color))) ; in: LAMBDA NIL ; (MAKE-ALIEN (STRUCT SDL:COLOR)) ; ==> ; (SB-ALIEN-INTERNALS:%SAP-ALIEN (SB-ALIEN::%MAKE-ALIEN (* 32 1)) ; '#<SB-ALIEN-INTERNALS:ALIEN-POINTER-TYPE (* ; (STRUCT ; SDL:COLOR ; # ; # ; # ; #))>) ; ; note: unable to ; optimize ; because: ; could not optimize away %SAP-ALIEN: forced to do runtime ; allocation of alien-value structure ; compilation unit finished ; printed 1 note FOO |
From: Christophe R. <cs...@ca...> - 2004-11-09 12:32:37
|
David Morse <dm...@os...> writes: > I'm starting to think the compiler's a little TOO worried about > runtime allocation of alien-value structures. Nobody wants a compiler > warning for every time a call to "list" forces a cons cell to be > allocated ... thus nobody wants this warning either: Maybe. On the other hand, I suspect that heap allocation of aliens is orders of magnitude more expensive than heap allocation of lists -- particularly since in the general case stack allocation of aliens is possible, which is not true for allocation of lists. At least this way round, when people complain about several missing orders of magnitude of alien performance, we can point to the compiler notes that have resulted from their compilation. :-) Cheers, Christophe |
From: David M. <sv...@ya...> - 2004-11-10 22:42:00
|
Christophe Rhodes wrote: > David Morse <dm...@os...> writes: > > >>I'm starting to think the compiler's a little TOO worried about >>runtime allocation of alien-value structures. Nobody wants a compiler >>warning for every time a call to "list" forces a cons cell to be >>allocated ... thus nobody wants this warning either: > > > Maybe. On the other hand, I suspect that heap allocation of aliens is > orders of magnitude more expensive than heap allocation of lists -- > particularly since in the general case stack allocation of aliens is > possible, which is not true for allocation of lists. > > At least this way round, when people complain about several missing > orders of magnitude of alien performance, we can point to the compiler > notes that have resulted from their compilation. :-) Let us agree to disagree. Note: I'd feel a lot better about the warning message if it were 1-2 lines, instead of an entire screenful. As it is, it makes it hard to find other, more important warnings, because it prints 30 lines of funkily indented jargon. |