Rust 作为一种开发语言已经确立让开发人员能够编写快速和安全的代码的声誉现在。像 Mozilla、Microsoft、Dropbox 和 Amazon(仅举几例)这样的大型组织都依赖 Rust 为他们的客户提供一流的性能,同时避免许多影响用 C 或 C++ 编写的程序的安全问题。性能是 Rust 成为大多数人选择语言的一个主要原因。然而,仅仅用 Rust 编写代码并不能保证高性能。Rust 是好的,但它不是魔法。它是一种工具,与任何工具一样,我们必须有效地使用它才能获得最佳结果。在这篇文章中,我们将研究 Rust 代码性能不佳的常见原因,即使是资深开发人员也可能会遇到这种情况。也就是说,默认情况下,不缓冲文件的读取和写入。
在 Rust 中开发 Lambda 函数的标准方法是使用 AWS 提供的自定义 Lambda 运行时并在部署之前交叉编译所有内容。这里介绍如何在 macos 上进行开发 Lambda 函数。
brew tap messense/macos-cross-toolchains
brew install aarch64-unknown-linux-gnu
然后,在您的环境中设置这些变量(例如在bashrc 中):
export CC_aarch64_unknown_linux_gnu=aarch64-unknown-linux-gnu-gcc
export CXX_aarch64_unknown_linux_gnu=aarch64-unknown-linux-gnu-g++
export AR_aarch64_unknown_linux_gnu=aarch64-unknown-linux-gnu-ar
export CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-unknown-linux-gnu-gcc
现在cargo build --target aarch64-unknown-linux-gnu将在 macOS 上按预期工作,并生成准备部署到 AWS Lambda 的二进制文件 - 无需 Docker