Re: db-sockets.asd patch and asdf question

Daniel Barlow <[email protected]>
Newsgroups gmane.lisp.cclan.general
Message-ID <[email protected]>
Miles Egan <[email protected]> writes:

> It seems that asdf runs the gcc compilation step every time the
> db-sockets system is loaded, whether it's necessary or not.  I've come
> up with the attached patch, which may or not make sense as a solution
> to this problem.  It just does a make-style timestamp comparison.

Thanks for that patch, I'll merge that into the next db-sockets
release.  Actually, at some point I should generalise it slightly and
lift the unix-dso stuff into asdf itself as a supported feature.

> Am I correct in observing that asdf verifies that every component of a
> system is built and up to date before loading the system?  If so, is
> this ultimately going to scale badly to large systems with lots of
> files?  Would it make any sense to explicitly distinguish build and
> load operations and make the default load op a quicker op that assumes
> the system is built?

Yes, it does.  I'm not sure how big a system has to be before this
really starts breaking down, but it basically means a stat() call on
each file in the system.  The implementation may or may not be doing
another stat() call of its own as part of LOAD so that it can warn
about source file being newer than object file.

My inclination is to leave things as they are until it proves to be an
actual problem.  For me the extra predictability of knowing that
load-op will never stop unexpectedly in the middle of an operation, or
decide arbitrarily to load source instead of binary, or other
`interesting' behaviour, is worth the extra checks.  Your mileage may
vary, of course, and I'm happy to change my mind given input from
people with really big systems.


-dan

-- 

  http://ww.telent.net/cliki/ - Link farm for free CL-on-Unix resources 

_______________________________________________________________

Sponsored by:
ThinkGeek at http://www.ThinkGeek.com/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.