![]() |
1
32
LLVM 是几个东西在一起的-一种虚拟机/优化编译器,结合不同的前端,以特定的语言接收输入并以中间语言输出结果。此中间输出可以与虚拟机一起运行,也可以用于生成独立的可执行文件。 并发性的问题是,尽管它在科学计算中使用了很长时间,但最近它在消费者应用程序中已经变得很普遍。因此,尽管人们普遍知道如何编写科学的计算程序以获得良好的性能,但是编写一个能够很好地实现并发性的邮件用户代理/字处理器是完全不同的。此外,目前大多数操作系统都是以单处理器设计的,它们可能还没有完全为多核处理器做好准备。 LLVM对于并发性的好处在于,您有一个中间输出,如果将来并发性有了进步,那么通过更新解释器,您可以立即在所有LLVM编译的程序中获得这些好处。如果您已经编译成独立的可执行文件,这就不那么容易了。因此,LLVM本身并不能解决并发性问题,但它为将来的增强打开了一扇大门。 当然,在诸如量子计算机、遗传学计算机等硬件方面还有更多可能的进展,但我们必须等待它们成为现实。 |
![]() |
2
17
切换到LLVM本身并不能解决并发性问题。这是单独解决的,通过摆脱 Global Interpreter Lock .
我不确定我对此的看法;我主要使用线程来处理阻塞I/O,而不是利用多核处理器(为此,我将使用
所以我有点喜欢gil;它让我的生活更容易,不必考虑棘手的同步问题。 |
![]() |
3
15
LLVM负责代码生成的细节,因此它允许他们以更通用、可移植、可维护的方式重写psyco。这反过来又允许他们重写cpython核心,这使得他们可以尝试使用备用的gcs和其他改进Python对并发性的支持所需的东西。 换句话说,LLVM并不能解决并发性问题,它只是解放您的双手,这样您就可以解决它。 |
![]() |
Sam Kellett · 为C++库提供C API和严格别名 7 年前 |
![]() |
Wietlol · LLVM IR本机方法 7 年前 |
![]() |
mikasa · llvm-将参数传递给传递 7 年前 |
![]() |
James Allingham · llvm JIT将库添加到模块 7 年前 |