gpt4 book ai didi

multithreading - 有多线程跟踪JIT编译器的示例吗?

转载 作者:行者123 更新时间:2023-12-04 04:20:56 27 4
gpt4 key购买 nike

JVM和.NET CLR均包含支持多个用户线程的即时编译器。但是,我相信这些都是一次方法JIT。

我知道的所有tracing JITs(例如LuaJITPyPy)都是单线程的。

是否有跟踪支持多个用户线程的JIT的示例?如果没有,是否存在任何不存在这些原因的技术原因?

最佳答案

对运行中的多线程程序进行性能分析(跟踪)要困难得多,但并非没有可能。跟踪的全部目的是使运行时比第一次优化的编译器更好。如果线程是互连的,那么将要修改代码的JIT不仅需要了解代码的执行方式,还需要了解其他线程的副作用。

当线程一需要访问内存中的大文件时,它是否会创建二级缓存刷新,从而导致线程二由于运行代码的外部原因而停顿。 JIT必须了解这些交互。否则,当意识到对线程一的编码会对线程二产生不利影响并尝试消除缓存刷新时,对线程二进行的改进将可能花费大量时间来尝试优化线程二。

您是否正在考虑尝试编写自己的跟踪多线程JIT?可以做到,但是涉及到它。

关于multithreading - 有多线程跟踪JIT编译器的示例吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39340082/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com