smithy4s
使用方法
有关使用信息,请查看文档
基准测试
有一个包含基准测试的模块,用于比较手工编写的http4s实现与通用实现。要运行基准测试,应执行:
sbt benchmark / Jmh / run
要运行http4s基准测试:
benchmark / Jmh / run .*Http4sBenchmark.*
要使用Scala 2.12版本而不是2.13版本进行基准测试,请使用benchmark2_12 / Jmh / run
。
Smithy4s使用YourKit Java分析器进行性能优化。
开发环境
为了最简单地设置开发工具,请使用Nix。
推荐的方法是使用nix develop
(需要Flakes支持,从Nix 2.4开始可用 - 如果您不使用这个实验性功能,请继续阅读):
nix develop
这将把所有必需的包加载到您的shell中。运行exit
或按ctrl+d
清除。
如果您是direnv用户,我们也支持。
如果您没有Flakes支持:
nix-shell
metals/bloop用户注意事项
Smithy4s是一个复杂的项目,具有庞大的构建矩阵。为了简化开发,我们默认只为JVM/Scala 2.13
组合启用bloop配置生成。
如果您发现自己在开发其他构建轴组合,可以通过在项目根目录中添加user.sbt
文件来调整默认设置,并按照以下示例填写:
ThisBuild / bloopAllowedCombos := Seq(
Seq(
VirtualAxis.jvm,
VirtualAxis.scalaABIVersion("3.3.0")
)
)
.sbtopts注意事项
您通常应该使用.sbtopts
为sbt
添加更多内存,因为Smithy4s很复杂。您可以将.sbtopts.example
复制到.sbtopts
并根据需要调整值:
cp .sbtopts.example .sbtopts