Learn how to benchmark C++ code with Google Benchmark: https://lnkd.in/e36tEVGF
Everett Pompeii’s Post
More Relevant Posts
-
In C++, many operations performed at runtime can instead be done at compiled time. This improves program performance and helps with other issues, too. In this article Jayant teaches you two ways to offload operations using constexpr & constinit.
C++ Tutorial – What Are the constexpr and constinit Specifiers?
freecodecamp.org
To view or add a comment, sign in
-
Attempting creating a Layer7 load balancer in go inspired by https://lnkd.in/g6vKBA8g . One with Round Robin balancing algorithm currently but easily extendible with any kind of balancing algo (The power of Interfaces and Composition) ) Keeps on checking health of backends and remove unhealthy or add back healthy backends, with ability to register new backends. Trying out adding new advanced features soon, like adding backend sets and routing to backend sets based on Path John Crickett Coding Challenges thanks Code: https://lnkd.in/g_stRYRR
Write You Own Load Balancer | Coding Challenges
codingchallenges.fyi
To view or add a comment, sign in
-
I adopt the Google C++ Style Guide. Here's why: #cpp #cppprogramming #softwaredesign #softwaredevelopment #googlefordevelopers
Google C++ Style Guide
google.github.io
To view or add a comment, sign in
-
C++ Insights is a tool that makes the “behind-the-scenes” of C++ compilation visible to the developer. https://lnkd.in/ghbZYan4 #cpp
GitHub - andreasfertig/cppinsights: C++ Insights - See your source code with the eyes of a compiler
github.com
To view or add a comment, sign in
-
A fascinating read. While most sources and the JEP itself warns about pinning virtual threads, my assumption was that the application would not be able to leverage the performance gains, not that the application could stop servicing requests! There are a lot of 3rd party libraries that are going to have to do some maintenence to be virtual thread ready and we'll have to be able to do a series of upgrades quickly, cheaply and reliably. https://lnkd.in/deBjUupz
Java 21 Virtual Threads - Dude, Where’s My Lock?
netflixtechblog.com
To view or add a comment, sign in
-
Protocol Buffers - Fast and reliable when compared to JSON. https://lnkd.in/g3-ZkCWy
Understanding Protocol Buffers for Android Development
medium.com
To view or add a comment, sign in
-
Curious about gRPC and/or protobuf for your #swiftlang applications? This tutorial will get you started! https://lnkd.in/diSGCDpt
Beginner's Guide to Protocol Buffers and gRPC with Swift - Swift on server
swiftonserver.com
To view or add a comment, sign in
-
LeetCode: 77. Combinations Language: Go (GoLang) Logic: DFS, backtracking. Level: Medium #leetcode #golang #dfs #backtracking
To view or add a comment, sign in
-
After spending some time experimenting with Rust's FFI, I thought I'd write a short article on getting started with it, pointing to some useful resources and tools. The Rust FFI (Foreign-Function Interface) provides a way for Rust code to natively "talk" to C code and C APIs / libraries. This makes it possible to use Rust in existing C projects and allows for communicating directly with existing OS APIs (e.g., POSIX, WinAPI). This involves using types provided in the standard library (std::ffi) or core::ffi when using no_std on bare metal. To call C code from Rust, a function definition must be provided within an `extern "C"` block, similar to the signature of the actual C function. This function signature will be written in Rust but must use types provided by the FFI instead of Rust's native types (e.g., c_int over i32). To call Rust code from C, a Rust function must be defined as `pub extern "C"` and must use C types in its signature. The #[no_mangle] annotation must also be used to ensure the Rust compiler doesn't change the function name during compilation. For more details, see https://lnkd.in/gHqQNgMj Note that interoperating with external code requires using an `unsafe` block as the compiler cannot provide safety guarantees for non-Rust code. I believe the FFI should be seen as a tool to help transition to Rust, rather than an excuse not to use it when it eventually makes life difficult :) Rust does have a steeper learning curve than C, but its benefits are well worth the investment. The Rust embedded book is a great place to learn more about the FFI and dealing with no_std: https://lnkd.in/gG-sdAdh * Some useful resources: 1. libc: Provides an interface to the C standard library for the FFI and can work in no_std environments. https://lnkd.in/g3jXYzBt 2. nix: A higher-level wrapper around libc for *nix systems, providing a safer abstraction. https://lnkd.in/gk3Cha_t 3. cc-rs: A build-stage tool that makes it easy to include C files within Rust's build process by communicating with the platform's C compiler. https://lnkd.in/gy9PxG2z 4. rust-bindgen: A tool to automatically generate FFI bindings from a C header file. https://lnkd.in/gP8hX9vF --- The next thing I want to do is experiment with the embedded-hal, to learn how to use Rust to communicate directly with embedded hardware. https://lnkd.in/gnV4e-sW #rust #embeddedsystems
The Embedded Rust Book
docs.rust-embedded.org
To view or add a comment, sign in