[PD-dev] Double loading suceeded...

Winfried Ritsch ritsch at iem.at
Mon May 9 14:08:11 CEST 2016


Ok,

 that's fine, if it is known behaviour, I was just curious, since output is 
only for debugging purposes and first I thought my patch introduced this...  
but was the same before. 

Should we file an issue so people can find this behaviour ?


mfG
 winfried ritsch


Am Sonntag, 8. Mai 2016, 21:17:53 schrieb IOhannes m zmölnig:
> On 05/08/2016 02:28 PM, Winfried Ritsch wrote:
> >  tried /home/winfried/tmp/test_load/searchme.pd and succeeded
> >  tried /home/winfried/tmp/test_load/searchme.pd and succeeded
> > 
> > Note the double suceeded lines.
> 
> this is known behaviour.
> the first line is printed when the "searchme" object is found to be an
> abstraction.
> the second line is printed when the abstraction is loaded.
> 
> you will notice that for subsequent invocations of [searchme], you will
> only get a single "succeeded" line (because Pd already nows that
> "searchme" is an abstraction).
> you will also notice that for  subsequent invocations of [searchme], you
> will *not* see the "failed" lines for externals (e.g. searchme.pd_linux).
> 
> it might be a bit confusion, but i did not think it confusion enough to
> spend coding energy on it - after all it is a double line of success
> when everything goes right.
> 
> > I also notices double suceeded on loading externals: like the
> 
> i guess "externals" here refers to "libraries", since the [initbang]
> object in question is really an abstraction.
> 
> > [acre/acre/initbang] from deken installed acre lib (last lines):
> >  [...]
> > 
> > tried /home/winfried/pd-externals/acre/acre/initbang/initbang.l_ia64 and
> > failed
> > tried /home/winfried/pd-externals/acre/acre/initbang/initbang.pd_linux and
> > failed
> > tried /home/winfried/pd-externals/acre/acre/initbang.pd and succeeded
> 
> up to this line, Pd did not know that "initbang" was an abstraction. now
> it does now it, and tries to instantiate it by loading the abstraction.
> 
> > tried /home/winfried/tmp/test_load/acre/acre/initbang.pd and failed
> > tried /home/winfried/pd-externals/acre/acre/initbang.pd and succeeded
> 
> since loading the abstraction involves finding it on disk, Pd iterates
> through the paths again. the two lines above demonstrate this.
> 
> > see double succeeded line
> > 
> > If this an unkown behaviour I can have a look in the s_loader.c
> 
> what you are seeing is really just a side-effect of the new abstraction
> loader, which now uses the same mechanics as other loaders (eg. the
> external loader).
> 
> you might think it is inefficient to search two times for a single file.
> however, in reality you get a performance boost as soon as you load an
> abstraction multiple times.
> 
> e.g. when using [initbang] three times, the new loader will output:
> tried ~/tmp/test_load/acre/initbang/initbang.l_ia64 and
> failed
> tried ~/tmp/test_load/acre/initbang/initbang.pd_linux and
> failed
> tried ~/pd-externals/acre/initbang/initbang.l_ia64 and
> failed
> tried ~/pd-externals/acre/initbang/initbang.pd_linux and
> failed
> tried ~/tmp/test_load/acre/initbang.pd and failed
> tried ~/pd-externals/acre/initbang.pd and succeeded
> tried ~/tmp/test_load/acre/initbang.pd and failed
> tried ~/pd-externals/acre/initbang.pd and succeeded
> tried ~/tmp/test_load/acre/initbang.pd and failed
> tried ~/pd-externals/acre/initbang.pd and succeeded
> tried ~/tmp/test_load/acre/initbang.pd and failed
> tried ~/pd-externals/acre/initbang.pd and succeeded
> 
> whereas the old loader would have done:
> tried ~/tmp/test_load/acre/initbang/initbang.l_ia64 and
> failed
> tried ~/tmp/test_load/acre/initbang/initbang.pd_linux and
> failed
> tried ~/pd-externals/acre/initbang/initbang.l_ia64 and
> failed
> tried ~/pd-externals/acre/initbang/initbang.pd_linux and
> failed
> tried ~/tmp/test_load/acre/initbang.pd and failed
> tried ~/pd-externals/acre/initbang.pd and succeeded
> tried ~/tmp/test_load/acre/initbang/initbang.l_ia64 and
> failed
> tried ~/tmp/test_load/acre/initbang/initbang.pd_linux and
> failed
> tried ~/pd-externals/acre/initbang/initbang.l_ia64 and
> failed
> tried ~/pd-externals/acre/initbang/initbang.pd_linux and
> failed
> tried ~/tmp/test_load/acre/initbang.pd and failed
> tried ~/pd-externals/acre/initbang.pd and succeeded
> tried ~/tmp/test_load/acre/initbang/initbang.l_ia64 and
> failed
> tried ~/tmp/test_load/acre/initbang/initbang.pd_linux and
> failed
> tried ~/pd-externals/acre/initbang/initbang.l_ia64 and
> failed
> tried ~/pd-externals/acre/initbang/initbang.pd_linux and
> failed
> tried ~/tmp/test_load/acre/initbang.pd and failed
> tried ~/pd-externals/acre/initbang.pd and succeeded
> 
> 
> gfmsard
> IOhannes

-- 
--
- ao.Univ.Prof. DI Winfried Ritsch 
- ritsch at iem.at - http://iem.at/ritsch
- Institut fuer Elektronische Musik und Akustik
- University of Music and Dramatic Art Graz
- Tel. ++43-316-389-3510 (3170) Fax ++43-316-389-3171 
--



More information about the Pd-dev mailing list