回調函數的常見實現方式及速度比較
回調函數實在是用得太廣泛,回調函數又有多種實現方式,如:
1、 靜態函數
2、 虛函數
3、 函數對象
4、 傳統c函數,通過一個void *傳遞對象地址,內部強制轉換
5、 fastdelegate
6、 Tr1::function + bind
7、 Boost::Function + bind
基本上速度是按照由快到慢的順序排列的,就是
1 > 2 > 3 > 4 > 5 > 6 > 7
其實234速度很接近,有的時候函數對象效率更高一點,基本上越是高級的方法使用起來越方便,但速度越慢,越是傳統的方法速度越快,呵呵,看來做server端程序要綜合考慮效率太新的東西還是要少用啊,還是用傳統的方法比較靠譜一點,當然如果調用次數不多的地方,使用更方便的方法還是好一些,畢竟我們要綜合權衡,而不能死板恪守教條。