On 03/02/2015 06:56 PM, Matt Turner wrote:
On Mon, Mar 2, 2015 at 4:37 PM, Brian Paul <bri...@vmware.com> wrote:
On 03/02/2015 04:03 PM, Eric Anholt wrote:

Kenneth Graunke <kenn...@whitecape.org> writes:

Generated by the following Coccinelle semantic patch:

@@
expression E;
@@
if (
-E
+unlikely(E)
   )
{ ... _mesa_error(...) ... }

Improves performance in OglBatch7 (a CPU-bound microbenchmark) on
an i7 4750HQ (Haswell) by 1.08546% +/- 0.519734% (n=292).

Signed-off-by: Kenneth Graunke <kenn...@whitecape.org>


Neat!

I think you're supposed to be able to get the same result by marking
_mesa_error as attribute cold.  Then nobody can forget to mark their
conditions as unlikely in the future.


I suspect unlikely() would be supported by more compilers than 'cold'.

FWIW, this link [0] says MSVC doesn't implement hot/cold nor unlikely.

Thanks for checking on that. I was thinking that MSVC had something like unlikely/expect but I guess I was misremembering.

MSVC is the compiler I had in mind in my reply to Eric's message.


Other than MSVC... there's really gcc and clang. I'd opt for the ~10
line patch :)

Sounds good then.

-Brian

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to