Welcome to Rust Lab! This repository is my personal space for exploring the Rust programming language, conducting performance benchmarks, and experimenting with various Rust concepts, libraries, and techniques. I'm passionate about understanding the intricacies of Rust and optimizing code for performance and efficiency.
The main goals of this repository are:
- Deep Dive into Rust: To go beyond the basics and explore advanced Rust features, patterns, and best practices.
- Performance Benchmarking: To rigorously measure and compare the performance of different Rust code implementations, data structures, algorithms, and libraries.
- Experimentation: To try out new ideas, libraries, and approaches in a controlled environment.
- Learning and Sharing: To document my findings, share insights, and contribute to the Rust community.
This repository contains a variety of projects, each typically focusing on a specific aspect of Rust. You'll find:
- Benchmarking Projects: These projects use the Criterion benchmarking framework to compare the performance of different Rust code implementations. Each benchmark project has its own README with detailed explanations, results, and instructions for running the benchmarks.
- Experimental Code: Small, self-contained projects that explore specific Rust features or libraries.
- Notes and Documentation: My personal notes, observations, and learnings from my Rust explorations.
Examples of existing projects:
string_refcell_benchmark
: Compares the performance ofString
cloning vs.Rc<RefCell<String>>
for mutable string data.clone_comparison
: Compares String clone and Rc clone.
While this is primarily a personal research repository, I welcome contributions and suggestions! If you have ideas for benchmarks, performance comparisons, or Rust concepts you'd like me to explore, please feel free to:
- Open an Issue: Describe the benchmark you'd like to see, the code implementations to compare, and the expected outcomes.
- Submit a Pull Request: If you have code for a benchmark or experiment, feel free to submit a pull request. Please make sure your code is well-documented and includes instructions for running the benchmark.
I'm always interested in learning new things and exploring different aspects of Rust performance. Your input is valuable!
The code and benchmarks in this repository are for research and educational purposes. While I strive for accuracy, the results may vary depending on hardware, operating system, Rust version, and other factors. Always run benchmarks on your own target platform to get accurate results for your specific use case.