FastMM5來了!


FastMM是Embarcadero Delphi的內存管理器的替代品,可在多線程和CPU內核之間很好地擴展,不易出現內存碎片,並且無需使用外部.DLL文件即可支持內存共享。

版本5是完全重寫了FastMM,從頭開始設計,目的是同時保持其優勢並解決4.992版的bug。

這一版本極大的改進對跨多CPU內核的多線程擴展,而不會出現內存使用中斷的情況。對於任意數量的CPU內核,可以將其配置為接近線性擴展。
在Fastcode內存管理器基准測試工具中,FastMM 5在單線程基准上得分比FastMM 4.992高15%,在多線程基准上得分高30%。(啟用了I7-8700K CPU,EnableMMX和AssumeMultithreaded選項。)
這一版本在運行時實現了完全可配置,這不需要更改條件定義並重新編譯。(但是,它與第4版條件定義中的許多版本向后兼容。)
調試模式默認使用與版本4(FastMM_FullDebugMode.dll)相同的調試支持庫,但是還支持自定義堆棧跟蹤例程。調用FastMM_EnterDebugMode切換到調試模式(“ FullDebugMode”),然后調用FastMM_ExitDebugMode返回性能模式。調用可以嵌套,在這種情況下,在上一次FastMM_ExitDebugMode調用之后將退出調試模式。
這一版本支持所有塊的8、16、32或64字節對齊。調用FastMM_EnterMinimumAddressAlignment以請求最小塊對齊,並調用FastMM_ExitMinimumAddressAlignment以撤消先前的請求。調用可以嵌套,在這種情況下,最粗略的對齊請求將生效。
所有事件通知(錯誤,內存泄漏消息等)都可以路由到調試器(通過OutputDebugString),日志文件,屏幕或三者的任意組合。消息是使用包含郵件合並令牌的模板構建的。可以更改運行時模板,以促進不同的布局和/或翻譯成任何語言。模板完全支持Unicode,並且可以將日志文件配置為以UTF-8或UTF-16格式編寫,帶有或不帶有BOM。
可以通過FastMM_SetOptimizationStrategy調用將運行時配置為有利於速度,內存使用效率或兩者的結合。

地址:https://github.com/pleriche/FastMM5

這是個令人興奮的版本,看到有朋友測試,竟然比4快了6倍。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM