我正在使用boost::io_service
通過post()
方法與boost::bind
對象進行異步事件處理。有誰知道這是否會導致新的分配?我知道下面有一個事件隊列,但我確定它是如何工作的。顯然我很擔心高性能。boost :: io_service post方法是否會導致新分配?
回答
是的,它會導致分配。如果分配是性能問題,您可以使用custom allocator for the handler。
我自己測試了一下覆蓋全球新。看來3分配實際上是在boost :: io_service發佈期間發生的。即使使用處理程序的自定義分配器,它仍然執行2個分配。 –
分配可能來自[boost :: bind](http://stackoverflow.com/questions/5894956/does-boostbind-cause-overhead)。如果你想盡量減少asio的開銷,也許值得看看[Marat Abrarov](http://sourceforge.net/projects/asio-samples)的例子。他們展示了一些[模式](http://article.gmane.org/gmane.comp.lib.boost.asio.user/5512)的高性能asio使用情況,這些都不在官方的asio示例中。 – jcm
- 1. boost :: asio io_service :: run_one導致分段錯誤
- 2. shink_to_fit是否會導致重新分配?
- 3. TCPClient boost :: asio :: io_service post not firing
- 4. Boost asio io_service dispatch vs post
- 5. 重新分配矢量是否會導致父矢量的重新分配?
- 6. boost :: asio :: io_service檢查是否爲空
- 7. 請問boost :: io_service :: post queue請求嗎?
- 8. Boost io_service停止?
- 9. boost :: asio是否會產生過多的小堆分配,還是我錯了?
- 10. Boost ASIO IO_SERVICE實現?
- 11. 當這被刪除時async_write是否會導致分段錯誤?
- 12. boost io_service不重置
- 13. ValueTypes是否會導致GC?
- 14. JPA EntityManager的合併方法是否會導致OptimisticLockException?
- 15. 此方法是否會導致併發問題?
- 16. GeoCoder getFromLocation方法是否會導致NetworkOnMainThreadException被拋出?
- 17. 在節點中讀取流的新方法是否會導致阻塞?
- 18. 用boost替換select():: asio :: io_service
- 19. C++ boost導致崩潰
- 20. boost io_service初始化SIGSEGV
- 21. boost :: asio :: strand post方法的性能
- 22. 麻煩與boost :: bind和io_service
- 23. boost :: asio :: io_service的concurrency_hint是什麼意思?
- 24. boost :: shared_ptr boost :: asio聲明錯誤:io_service
- 25. 在boost線程中運行boost asio io_service
- 26. boost :: asio :: io_service是否保存處理程序的順序?
- 27. boost asio io_service :: run()退出'早' - 或不?
- 28. BOOST ASIO multi-io_service RPC框架設計RFC
- 29. Boost的is_any_of會導致編譯警告?
- 30. 不能重新分配$此,PDO導致
你有什麼你的應用程序? –
是的。我試圖避免關鍵路徑上的新分配。 –