plymouth performance

Ray Strode halfline at gmail.com
Tue Jun 16 21:16:46 PDT 2009


Hey,

On Mon, Jun 15, 2009 at 3:29 PM, Charlie Brej<plymouth at brej.org> wrote:
> On 12/06/09 04:52, Ray Strode wrote:
>>
>> Instead of having one bounding box of what to flush, I now keep a list
>> of rectangles and flush them one by one.
>> Since the rectangles can in theory overlap, I had a little logic to
>> try to eliminate duplicate work, but it's not as sophisticated as it
>> could be.
>
> Could you take a look at this patch? It is a bit complicated but I think it
> does the job.
Looks pretty good to me. Two comments:

1) The function is huge, it would be better if it were broken up into
sub functions for the various parts
2) The numbers and bit fiddling are sort of cryptic. I think it would
be clearer to use enums.

If you don't want to fix those things up, it's not a big deal.  I can
rework it later.  Feel free to commit either way.

> it may be an idea to create a "ply-area" in libply to reuse the code.
Makes sense to me.  Atlhough I'd probably call it ply-region just
because "area" makes me think of a rectangle,
not a list of rectangles (and that type of structure is called a
region in Xlib / GDK programming too).

Another item for for the todo list, I guess.

> I have in the past used callgrind and kcachegrind for profiling plymouth,
> with an added bonus of being able to see how the program behaves on a ~10
> times slower system.
Did you find any hot spots?  I should probably do a run with sysprof
and see where the time is being spent that way.

--Ray


More information about the plymouth mailing list