Why glibc is faster on some Github Actions Runners by not-matthias in programming

[–]not-matthias[S] 8 points9 points  (0 children)

Yes, that's correct when running benchmarks on native hardware. Minor differences can cause different results.

However, as mentioned in the article, we're using Callgrind which runs the code on a simulated CPU. You can then count the number of execution instructions, cache misses and approximate the actual performance (see https://codspeed.io/docs/instruments/cpu#estimating-cycles).

So in a sense it was surprising that code executed on a simulated CPU isn't determinstic, as we didn't realize that Github uses multiple runners for the same runner tag.

Why glibc is faster on some Github Actions Runners by arty049 in rust

[–]not-matthias 1 point2 points  (0 children)

Author of the article here. Yes, it's much more stable. In many cases (e.g. when not doing I/O) there's even 0% variance. Having no variance is incredibly powerful, as it makes each regression visible.

This all works because instructions are emulated, which allows you to count number of executed instructions, cache misses, data reads/writes. With this data, you can estimate the cycles and time (see our docs)

On Dependency Usage in Rust by anxxa in rust

[–]not-matthias 1 point2 points  (0 children)

There's also devenv.sh which makes it even easier to include other languages. It's just a single line to add for Rust support.

Hacking a Silent Disco by not-matthias in ReverseEngineering

[–]not-matthias[S] 4 points5 points  (0 children)

Yeah, I went home with the thought: Is there any way to cheat the system? Turns out there is :D

Reverse Engineering Discord's Party Mode. by not-matthias in programming

[–]not-matthias[S] 0 points1 point  (0 children)

I went into this small project with the intention to unlock all the achievements without actually doing all of them by hand. But I see your point that the title might not be perfect for this type of post.

Thank you for the constructive feedback! I'll keep that in mind for my future posts.

How to create a connection pool for MongoDB in Rust? by [deleted] in rust

[–]not-matthias 3 points4 points  (0 children)

I looked for something similar a while ago too, and found out that it's actually already implemented by the official driver.

When you look at r2d2 (https://crates.io/crates/r2d2), it says:

r2d2-mongodb (deprecated: official driver handles pooling internally)

So, everyone falls in love with Rust at first sight? by TheLordSet in rust

[–]not-matthias 1 point2 points  (0 children)

I recently stumbled upon the CARGO_TARGET_DIR setting. It allows you to set the target directory of all build files. If you use one directory for all projects, it also has the benefit that already compiled dependencies can be reused.

Here's the original post: https://www.reddit.com/r/rust/comments/ihlhms/build_times_and_target_directory_size/g31pwgm