HMAC vs CMAC, which is faster? I want to know which is faster-HMAC or CMAC.I know CMAC is based on block cipher encryption,where output of each block is X-OR with the next plain text block. If security is not a concern,which will be faster to use?
Which MAC algorithm is faster - CBC based MAC's or HMAC - depends completely on which ciphers and hashes are used. Furthermore, it depends on the runtime environment that contains the hash and cipher implementations.

With regard to the leading CPU architecture for PC's, there are the Intel whitepapers. Both AES and SHA-2 performance can be enhanced using CPU constructions. See for AES the AES-NI page on Wikipedia. Likewise, the Intel SHA extensions for later CPU's can also be found there. Both are also available on later AMD processors because of the cross licensing agreements between those firms.

Obviously not all runtimes do get direct support for these constructions. At that point it is very much dependent on the implementation. If you can get away with using HMAC-SHA-1 then it is likely that SHA-1 outperforms any other MAC algorithm (besides MD5, which is also secure for smaller HMAC output sizes). In general you're best off to test which specific algorithms perform best on a platform.



OpenSSL CLI has a speed option that can be utilized, for instance use:

openssl speed sha512 aes-256-cbc


to see the speed of the CPU with regards to bytes processed per second (I'm always pretty stumped when I see them on my lowly mobile i7 CPU).