• 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倍。

  • 相关阅读:
    Sizzle引擎原理与实践(四)
    Sizzle引擎原理与实践(一)
    Sizzle引擎原生getElementsByClassName对选择结果的影响(jQuery)
    【翻译】HTML5开发——轻量级Web Database存储库html5sql.js
    【翻译】向后兼容的DOM事件绑定
    软件工程实践2019第二次作业
    软件工程实践2019第一次作业
    软件工程实践2019第四次作业
    发表文章
    Web设计
  • 原文地址:https://www.cnblogs.com/kinglandsoft/p/12813157.html
Copyright © 2020-2023  润新知