Re: Timing compilation
"Robert Goldman" écrivait: > This is yet another problem that comes from the fact that the build > plans are linear, instead of hierarchical -- for example there's no > subsequence that is identifiable as being the set of operations for a > particular module. > > Logically speaking, there's a tree structure in the build process that > is what you need, but I don't believe that there are any facilities in > ASDF to recover that tree structure. > > This may be the best you can do. I think I'll go with Faré's suggestion, scripting it for every library and changing the cache directory every time. -- Resistance is futile. You will be jazzimilated. Lisp, Jazz, Aïkido: http://www.didierverna.info
Re: Timing compilation
On 5 Dec 2018, at 10:04, Didier Verna wrote: "Robert Goldman" écrivait: Depending on the host lisp you are using, couldn't you wrap the calls to COMPILE-FILE and LOAD in code that times those operation? I could, but since I want per-library numbers, I would need to reconstruct that information afterwards... Yes, I am afraid that is correct. This is yet another problem that comes from the fact that the build plans are linear, instead of hierarchical -- for example there's no subsequence that is identifiable as being the set of operations for a particular `module`. Logically speaking, there's a tree structure in the build process that is what you need, but I don't believe that there are any facilities in ASDF to recover that tree structure. This may be the best you can do. R
Re: Timing compilation
"Robert Goldman" écrivait: > Depending on the host lisp you are using, couldn't you wrap the calls > to COMPILE-FILE and LOAD in code that times those operation? I could, but since I want per-library numbers, I would need to reconstruct that information afterwards... -- Resistance is futile. You will be jazzimilated. Lisp, Jazz, Aïkido: http://www.didierverna.info
Re: Timing compilation
On 5 Dec 2018, at 9:46, Didier Verna wrote: François-René ÐVB Rideau écrivait: Simplest method: 1- load the dependencies, possibly using (asdf:operate :prepare-op s) 2- (time (asdf:make s)) Nice, thank you. If I want to time separately the compilation and loading phases of several libraries (which may depend on each other) however, I would need to restart my session every single time. Another way to do this and, say, report the timings to a file? -- Resistance is futile. You will be jazzimilated. Lisp, Jazz, Aïkido: http://www.didierverna.info Depending on the host lisp you are using, couldn't you wrap the calls to `COMPILE-FILE` and `LOAD` in code that times those operation? You could use dynamic variables bound inside the calls to `PERFORM ` to ensure you collect only the information you need, and not other calls to those functions that happen to occur. In ACL you could use function wrappers (`fwrap`) and SBCL has a similar feature whose name I can't recall at the moment. Best, R
Re: Timing compilation
François-René ÐVB Rideau écrivait: > Simplest method: > 1- load the dependencies, possibly using (asdf:operate :prepare-op s) > 2- (time (asdf:make s)) Nice, thank you. If I want to time separately the compilation and loading phases of several libraries (which may depend on each other) however, I would need to restart my session every single time. Another way to do this and, say, report the timings to a file? -- Resistance is futile. You will be jazzimilated. Lisp, Jazz, Aïkido: http://www.didierverna.info
Re: Timing compilation
> Hello, > > I would like to collect information about the time it takes to compile > an ASDF system (possibly also load it), dependencies excluded. I'm > thinking there's probably a way to do this by :around'ing compile-op, or > something like that, but if someone already has a clear view on how to > make this happen, I'd be grateful for the time spared! > Simplest method: 1- load the dependencies, possibly using (asdf:operate :prepare-op s) 2- (time (asdf:make s)) —♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org I used to like the government, but that was before it got big and popular.
Timing compilation
Hello, I would like to collect information about the time it takes to compile an ASDF system (possibly also load it), dependencies excluded. I'm thinking there's probably a way to do this by :around'ing compile-op, or something like that, but if someone already has a clear view on how to make this happen, I'd be grateful for the time spared! Thanks. -- Resistance is futile. You will be jazzimilated. Lisp, Jazz, Aïkido: http://www.didierverna.info