* [gstreamer] Enabling binary cache (instead of the xml one)
@ 2008-11-14 23:04 Holger Freyther
2008-11-14 23:23 ` Leon Woestenberg
` (3 more replies)
0 siblings, 4 replies; 5+ messages in thread
From: Holger Freyther @ 2008-11-14 23:04 UTC (permalink / raw)
To: openembedded-devel
Hey Guys,
I wonder if we have ever considered in using the experimental gstreamer
feature to build it with "--enable-binary-registry".
This is not changing the way the registry is working, the result is simply
stored in binary and not xml. This avoids parsing on start.
For devices like the neo (with incredible slow flash speed) avoiding stating
all plugins would (changing the way the registry is working) would be a lot
better...
what do you think? Risk and use an experimental feature (it is using mmap so
the risk of SIGBUS is there)
z.
Results of micro benchmark on my neo:
Binary cache:
# Building cache
Total count: 119 plugins, 351 features
real 0m 12.36s
user 0m 5.71s
sys 0m 5.72s
# Cached
Total count: 119 plugins, 351 features
real 0m 1.74s
user 0m 1.03s
sys 0m 0.35s
XML Cache:
# Building cache
Total count: 119 plugins, 351 features
real 0m 16.42s
user 0m 6.94s
sys 0m 9.19s
# Cached
Total count: 119 plugins, 351 features
real 0m 1.87s
user 0m 1.28s
sys 0m 0.41s
root@om-gta02:~#
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: [gstreamer] Enabling binary cache (instead of the xml one)
2008-11-14 23:04 [gstreamer] Enabling binary cache (instead of the xml one) Holger Freyther
@ 2008-11-14 23:23 ` Leon Woestenberg
2008-11-15 11:06 ` Koen Kooi
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: Leon Woestenberg @ 2008-11-14 23:23 UTC (permalink / raw)
To: openembedded-devel
Hey,
On Sat, Nov 15, 2008 at 12:04 AM, Holger Freyther <zecke@selfish.org> wrote:
> I wonder if we have ever considered in using the experimental gstreamer
> feature to build it with "--enable-binary-registry".
>
Good find.
> what do you think? Risk and use an experimental feature (it is using mmap so
> the risk of SIGBUS is there)
>
Should work, or be fixed elsewhere(tm).
+1
Regards,
--
Leon
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: [gstreamer] Enabling binary cache (instead of the xml one)
2008-11-14 23:04 [gstreamer] Enabling binary cache (instead of the xml one) Holger Freyther
2008-11-14 23:23 ` Leon Woestenberg
@ 2008-11-15 11:06 ` Koen Kooi
2008-11-15 11:47 ` Michael 'Mickey' Lauer
2008-11-15 12:13 ` Phil Blundell
3 siblings, 0 replies; 5+ messages in thread
From: Koen Kooi @ 2008-11-15 11:06 UTC (permalink / raw)
To: openembedded-devel
On 15-11-08 00:04, Holger Freyther wrote:
> Hey Guys,
>
> I wonder if we have ever considered in using the experimental gstreamer
> feature to build it with "--enable-binary-registry".
>
> This is not changing the way the registry is working, the result is simply
> stored in binary and not xml. This avoids parsing on start.
>
> For devices like the neo (with incredible slow flash speed) avoiding stating
> all plugins would (changing the way the registry is working) would be a lot
> better...
>
> what do you think? Risk and use an experimental feature (it is using mmap so
> the risk of SIGBUS is there)
Is it using read-only mmap or read-write mmap? If it's the latter then
people using jffs2 are out of luck :(
regards,
Koen
>
> z.
>
>
>
> Results of micro benchmark on my neo:
>
> Binary cache:
>
> # Building cache
> Total count: 119 plugins, 351 features
> real 0m 12.36s
> user 0m 5.71s
> sys 0m 5.72s
>
> # Cached
> Total count: 119 plugins, 351 features
> real 0m 1.74s
> user 0m 1.03s
> sys 0m 0.35s
>
>
> XML Cache:
> # Building cache
> Total count: 119 plugins, 351 features
> real 0m 16.42s
> user 0m 6.94s
> sys 0m 9.19s
>
>
> # Cached
> Total count: 119 plugins, 351 features
> real 0m 1.87s
> user 0m 1.28s
> sys 0m 0.41s
> root@om-gta02:~#
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [gstreamer] Enabling binary cache (instead of the xml one)
2008-11-14 23:04 [gstreamer] Enabling binary cache (instead of the xml one) Holger Freyther
2008-11-14 23:23 ` Leon Woestenberg
2008-11-15 11:06 ` Koen Kooi
@ 2008-11-15 11:47 ` Michael 'Mickey' Lauer
2008-11-15 12:13 ` Phil Blundell
3 siblings, 0 replies; 5+ messages in thread
From: Michael 'Mickey' Lauer @ 2008-11-15 11:47 UTC (permalink / raw)
To: openembedded-devel
Amazing find.
+1
--
:M:
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [gstreamer] Enabling binary cache (instead of the xml one)
2008-11-14 23:04 [gstreamer] Enabling binary cache (instead of the xml one) Holger Freyther
` (2 preceding siblings ...)
2008-11-15 11:47 ` Michael 'Mickey' Lauer
@ 2008-11-15 12:13 ` Phil Blundell
3 siblings, 0 replies; 5+ messages in thread
From: Phil Blundell @ 2008-11-15 12:13 UTC (permalink / raw)
To: openembedded-devel
On Sat, 2008-11-15 at 00:04 +0100, Holger Freyther wrote:
> Binary cache:
>
> # Cached
> Total count: 119 plugins, 351 features
> real 0m 1.74s
>
> XML Cache:
>
> # Cached
> Total count: 119 plugins, 351 features
> real 0m 1.87s
So, if I'm reading that right, the binary cache gives you a startup time
improvement (assuming a hot cache) of about 0.13 seconds. It sounds
like there are probably bigger savings to be had by, as you suggest,
eliminating the stat() of all plugins and/or reducing the number of
unnecessarily installed plugins; it seems fairly unlikely that many
applications are really using all 119 of those.
That said though, "every little helps" and this certainly seems like it
would be a worthwhile improvement. There's nothing particularly scary
about the use of mmap().
p.
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2008-11-15 12:15 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-11-14 23:04 [gstreamer] Enabling binary cache (instead of the xml one) Holger Freyther
2008-11-14 23:23 ` Leon Woestenberg
2008-11-15 11:06 ` Koen Kooi
2008-11-15 11:47 ` Michael 'Mickey' Lauer
2008-11-15 12:13 ` Phil Blundell
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.