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