迈克尔•陈

软件开发工程师,工作日

    迈克尔·陈是一个软件开发工程师的工作日,在棱镜分析产品。迈克尔收到他从密歇根大学计算机科学学士

    过去的会议

    2020年峰会 理解和改进代码生成

    2020年6月25日凌晨5点PT

    代码生成是不可或缺的火花身体执行引擎。实现时,火花引擎在运行时创建优化字节码解释执行相比提高性能。引发了下一步与舞台codegen崩溃整个查询到一个单独的功能。然而,随着生成函数大小增加,新的问题出现。复杂的查询会导致代码生成功能从数千到成千上万行代码。这可能会导致许多问题,如伯父错误由于编译成本,异常从超过64 kb的方法限制在Java中,和性能回归时关闭JIT编译字节码的一个函数超过8 kb。与舞台codegen关闭,火花能够将这些函数拆分为多个较小的函数来避免这些问题,但后来的改进舞台codegen丢失。这个演讲将会在工作日的改进使得代码生成处理舞台codegen各种查询。我们将开始与差异表达codegen舞台codegen。然后我们将讨论如何将从舞台倒塌函数codegen。 We will also present the performance improvements that we have seen from these improvements in our production workloads.