sanitizers
plotters
sanitizers | plotters | |
---|---|---|
54 | 14 | |
11,497 | 3,876 | |
1.0% | 1.5% | |
7.6 | 8.2 | |
8 days ago | 23 days ago | |
C | Rust | |
GNU General Public License v3.0 or later | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
sanitizers
-
Logging all C++ destructors, poor mans run-time tracing
ASAN also checks for memory leaks like valgrind, the main difference with the tools is whether you can recompile all of libraries to get the compiler support for detection or whether binary instrumentation is better (https://github.com/google/sanitizers/wiki/AddressSanitizerLe...)
-
Twenty Years of Valgrind
I like Valgrind, but day-to-day, I find myself typically reaching for Sanitizers[1] instead (ASan, et. al.), especially since they're built-in to many compilers these days, and are a bit faster IME.
Are there any use cases that people here have experienced where Valgrind is their first choice?
[1] https://github.com/google/sanitizers
-
Code Smell 260 - Crowdstrike NULL
Use address sanitizers
- The sad state of property-based testing libraries
-
Trip C++Now 2024 – think-cell
While shipping debug symbols is something I recommend and has no side-effects aside from mere file-size (debug symbols are only loaded when used).
[1] https://github.com/google/sanitizers/issues/857
-
Good resources for learning C in depth?
AddressSanitizer is really useful, it's similar to Valgrind but has much lower overhead.
-
Memory Allocators
And if you're up for it, I'd further recommend adding some ways to deal with buffer overflows in debug builds. The way I deal with this is by using Address-Sanitizer's manual poisoning api. Bonus point if you leave additional poisoned space between allocations so off by one errors are likely to end up in a poisoned region instead of nearby allocation.
- Exception thrown: write access violation
-
2023 Stack Overflow Survey: Rust is the most admired programming language, making it the most loved language for 8 years in a row
It also doesn't hurt that Miri can find many kinds of unsafe violations even in unsafe blocks. Zig may get something like this one day, but even if it does, checking things at runtime is not a substitute for compile time -- the C++ Sanitizers haven't exactly solved the safety story for C++ even over a decade later.
-
What's the best thing you've found in code? :
This is where stuff like ASan is really useful.
plotters
-
Plotting with GTK4
plotter-rs Cairo backend: Specific backend to interact with a gtk-rs DrawingArea widget.
-
Looking for any crates to help me migrate my current workflow to Rust.
I would also look at plotters https://github.com/plotters-rs/plotters to replace mathplotlib. Unfortunately, I'm not aware of any library for image transformations/augmentations.
-
Iced, a cross-platform GUI library — New release featuring stabilization of stateless widgets, first-class theming, widget operations, lazy widget, and more!
Have you looked into plotters https://github.com/plotters-rs/plotters ? I think it should be possible to integrate it into an app.
- By the way, plotters has an ab_glyph feature now
-
[Media] Quantum wave packet simulations (second day learning Rust)
About plots, besides plotly, take a look at https://github.com/plotters-rs/plotters and https://github.com/milliams/plotlib
-
2D library with decent text rendering / measuring support
I'd recommend plotters, I've only used it for it's drawing api and I found it quite nice for text rendering.
-
Data visualization in rust
- https://github.com/plotters-rs/plotters
- Simple plotting/graphing crate suggestions
-
Discussion: Integrating polars and plotters
For those who do not know about them, polars is a data frame crate for Rust and Python. It is also the fastest data frame library, according to benchmarks. Plotters is a crate for data visualisation. Both are the equivalents of pandas and matplotlib from the Python ecosystem. However, the integration with matplotlib in pandas has no equivalent. I would like to propose an effort to integrate polars with plotters, either by modifying the existing codebases, or creating a new bridge crate. I would love to hear opinions about this from the widder community.
- What libraries do you miss from other languages?
What are some alternatives?
miri - An interpreter for Rust's mid-level intermediate representation
iced - A cross-platform GUI library for Rust, inspired by Elm
spdlog - Fast C++ logging library.
yew - Rust / Wasm framework for creating reliable and efficient web applications
xeus-cling - Jupyter kernel for the C++ programming language
crates.io - The Rust package registry
util-linux
cross - “Zero setup” cross compilation and “cross testing” of Rust crates
gui_starter_template - A template CMake project to get you started with C++ and tooling
rustbreak - A simple, fast and easy to use self-contained single file storage for Rust
Catch - A modern, C++-native, test framework for unit-tests, TDD and BDD - using C++14, C++17 and later (C++11 support is in v2.x branch, and C++03 on the Catch1.x branch)
polars - Dataframes powered by a multithreaded, vectorized query engine, written in Rust