外部依赖需要扩展吗?
external dependencies need an extension?
如果我想在我的项目中添加一些 jar,我不清楚是否应该为每个 jar 进行扩展?
刚刚阅读 https://itnext.io/should-you-switch-to-quarkus-4b89eedfe5fe 并且它说 gson 速度较慢,因为没有扩展,我猜它可能没有编译为本机,因为它使用反射
您可以在应用程序中使用任何依赖项,就像其他框架一样,扩展允许将技术集成到 Quarkus 中(通过 CDI bean 注入,通过 application.properties 配置,原生图像支持,...)但这不是强制性的。
或者当然,如果您使用未作为扩展集成的依赖项,则无法确定它是否可以在本机中运行,因此如果将应用程序部署为本机映像,请务必小心,需要完成一些步骤。
在您引用的文章中,问题出在本机可执行文件上,它表明 JSON-B 在这种情况下在此特定测试中优于 GSON,而不是它使用自定义序列化(不是序列化由 Quarkus 通过其扩展提供)。
您还可以注意到该示例没有重用 Gson 对象,因此这可能是速度缓慢的原因,通过在每个请求上创建一个 Gson 对象,它将分配很多并且 SubstraatVM 中包含的 GC 与那个不一样在 JVM 模式下(与其他优化一样)。
我的观点是扩展不会影响依赖项的运行时性能。
如果我想在我的项目中添加一些 jar,我不清楚是否应该为每个 jar 进行扩展?
刚刚阅读 https://itnext.io/should-you-switch-to-quarkus-4b89eedfe5fe 并且它说 gson 速度较慢,因为没有扩展,我猜它可能没有编译为本机,因为它使用反射
您可以在应用程序中使用任何依赖项,就像其他框架一样,扩展允许将技术集成到 Quarkus 中(通过 CDI bean 注入,通过 application.properties 配置,原生图像支持,...)但这不是强制性的。
或者当然,如果您使用未作为扩展集成的依赖项,则无法确定它是否可以在本机中运行,因此如果将应用程序部署为本机映像,请务必小心,需要完成一些步骤。
在您引用的文章中,问题出在本机可执行文件上,它表明 JSON-B 在这种情况下在此特定测试中优于 GSON,而不是它使用自定义序列化(不是序列化由 Quarkus 通过其扩展提供)。 您还可以注意到该示例没有重用 Gson 对象,因此这可能是速度缓慢的原因,通过在每个请求上创建一个 Gson 对象,它将分配很多并且 SubstraatVM 中包含的 GC 与那个不一样在 JVM 模式下(与其他优化一样)。
我的观点是扩展不会影响依赖项的运行时性能。