[vlc-devel] [PATCH] GSoC: lua services discovery, core part

Rémi Denis-Courmont remi at remlab.net
Mon Nov 9 12:09:03 CET 2009


On Mon, 9 Nov 2009 11:34:48 +0100, Fabio Ritrovato
<exsephiroth87 at gmail.com> wrote:
>> You're mixing up the stored cache and the module bank. A plugin may be
>> absent from the stored cache. It will work, but it is a bad as it makes
>> VLC startup much slower. But a plugin cannot be absent from the module
>> bank, otherwise LibVLC cannot use it at all.

> Yes, it will make vlc slower (not by much, it's not like you have to
> load 2000 scripts),

I don't know how badly the LUA interpreter would slow down loading. The
point is, dlopen'ing shared objects is slow, and LoadLibrary'ing a DLL is
very slow. Parsing LUA scripts on top, will just make the whole even
slower. And in fact, we might very well have a lot of LUA scripts.
Otherwise, I don't see the point of making it easy to write SD plugins.

> but it's either that, or caching them and every time you load the cache
> check if the modules are still there, that's even slower...

No. That's order of magnitudes faster, because stat() is order of
magnitudes faster than dlopen(), especially on a cold disk cache.

> And they are in the module bank just as every other plugins, just they
> don't get saved in the cache on exit...

They're in the module bank so they go through CacheMerge(), so they cannot
be run-time dependent, so I believe the current code is not just slow, but
it's actually buggy.

-- 
Rémi Denis-Courmont




More information about the vlc-devel mailing list