-
Type: Improvement
-
Resolution: Done
-
Priority: Minor - P4
-
Affects Version/s: None
-
Component/s: Internal Code
-
None
-
Fully Compatible
-
Platform A (10/09/15)
While profiling network_interface_asio_integration_test, which uses a ThreadPool, I found that ~60% of cycles were spent in ThreadPool::schedule(). Changing _pendingTasks from a list to a deque made schedule() take a more reasonable amount of time. The culprit is probably libstdc++ not implementing list::size as an O(1) operation, despite that being mandated by the C++11 standard.