zoukankan      html  css  js  c++  java
  • 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倍。

  • 相关阅读:
    如何提取Redis中的大KEY
    VIM标记 mark 详解
    JAVA编写的一个简单的Socket实现的HTTP响应服务器
    onenote 直接发布文章到CSDN
    guava学习笔记--字符串处理
    带打印子结点的自底向上算法
    动态规划算法3
    动态规划算法2
    一个菜鸟学习动态规划算法的过程
    php取得当前时间函数
  • 原文地址:https://www.cnblogs.com/kinglandsoft/p/12813157.html
Copyright © 2011-2022 走看看