Our great sponsors
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
sd-webui-lobe-theme
🅰️ Lobe theme - The modern theme for stable diffusion webui, exquisite interface design, highly customizable UI, and efficiency boosting features.
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
> Aren't they slower or about as slow as C++, which is notorious for being frustratingly slow, especially for local, non-distributed builds?
Yes. Significantly slower. The last rust crate I pulled [0] took as long to build as the unreal engine project I work on.
[0] https://github.com/getsentry/symbolicator/
Last I checked[1], Swift JSON performance was terrible, well over an order of magnitude slower than serde. It's possible it's been improved since then but if so I didn't find any announcement.
[1]: https://github.com/xi-editor/xi-mac/issues/102
Codable (along with other derived conformances like Equatable, Hashable, and RawRepresentable) is indeed built in to the compiler[0], but unlike Serde, it operates during type-checking on a fully-constructed AST (with access to type information), manipulating the AST to insert code. Because it operates at a later stage of compilation and at a much higher level (with access to type information), the work necessary is significantly less.
With ongoing work for Swift macros, it may eventually be possible to rip this code out of the compiler and rewrite it as a macro, though it would need to be a semantic macro[1] rather a syntactic one, which isn't currently possible in Swift[2].
[0] https://github.com/apple/swift/blob/main/lib/Sema/DerivedCon...
Note that the pre-compiled binary blob the blog post is referring to has since been removed [0].
[0]: https://github.com/serde-rs/serde/pull/2590
It’s tentatively planned for 3.0. https://github.com/bluewhalesystems/sold/issues/8
The file formats are indeed totally different. But the operation of linking is the same at a high-level.
Huh. You inspired me to finally get around to installing a local Midjourney-like[0], and, yeah, what do you know - the first result I got from those prompts _without_ the `-amputee` negative prompt was this horrifying monstrosity[1]
[0] https://github.com/AUTOMATIC1111/stable-diffusion-webui
[1] https://imgur.com/a/bMp5aAB
> What can I use to cache with MSVC that isn't Incredibuild?
Ccache works, but if you use the Visual Studio C++ compiler you need to configure your build to be cacheable.
https://github.com/ccache/ccache/wiki/MS-Visual-Studio
Related posts
- REST API in RUST with ntex
- Security Engineer looking for ways to see if any of my tasks could slowly be ported to Rust or should I just stick with Python.
- Destructive move in C++2
- Rust vs Golang: Coming from Python (I know technically it's not necessarily the right comparison)
- What crates are considered as de-facto standard?