[Mono-bugs] [Bug 666245] libgdiplus - fast copy path optimisations
bugzilla_noreply at novell.com
bugzilla_noreply at novell.com
Sun Mar 27 07:41:20 EDT 2011
https://bugzilla.novell.com/show_bug.cgi?id=666245
https://bugzilla.novell.com/show_bug.cgi?id=666245#c3
--- Comment #3 from Alexander Stohr <alexander.stohr at gmx.de> 2011-03-27 11:41:19 UTC ---
the current/old design is this:
for (pixel 0...999)
{
get_pixel()
put_pixel()
}
the updated design is this:
if (optimisation_is_applicable)
{
memcpy(dst, src, 999*pixel_size)
}
else
{
/* use current/old design */
}
as you can see the current/old code is doing two function calls per loop cycle.
this is definitely a performance kill on even the best application processor.
its hard to say how much worser it will hit the performance on sub-optimal
processor designs.
in get_pixel and put_pixel there is further a bunch of if/else sequences hidden
that is much worser than the one-time check (optimisation_is_applicable).
lets hope you got it why you really dont need a benchmark to see its a sure
improvement for overall cases.
--
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.
More information about the mono-bugs
mailing list