Skip to content

Commit 51fa8df

Browse files
committed
Readme update before archivation
1 parent 3adcf07 commit 51fa8df

1 file changed

Lines changed: 25 additions & 7 deletions

File tree

README.md

Lines changed: 25 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,31 @@
11
<!-- ![version](https://img.shields.io/badge/version-10.0.0-blue.svg) -->
22
# LiteHttp ![license](https://img.shields.io/badge/license-MIT-green.svg)
33

4-
- Lightweight and dependency-free
5-
- Built with System.* only
6-
- Simple route mapping (MapGet, MapPost, etc.)
7-
- ActionResultFactory for clean and zero alloc response handling
8-
- Simply configurable host and port
4+
## Project Status: Archived ⚠️
5+
6+
This project is no longer in active development. It was built as a learning exercise to understand low-level networking, async I/O, and high-performance server architecture in C#.
7+
8+
**What was achieved:**
9+
10+
- Custom HTTP/1.1 server implementation without using `System.Net.Http`
11+
- 28,000+ requests per second on commodity hardware
12+
- Building concurrent lock-free systems using `ThreadPool`, concurrent collections and `Interlocked`
13+
- Efficient parsing and response building using `Span<T>` and `Memory<T>` to minimize allocations
14+
- Applying YAGNI principle: writing only code I needed, when I needed it
15+
- Open-source development practices: MIT license, contribution guidelines, XML code documentation
16+
17+
**Why archived:**
18+
I'm shifting focus to production-ready backend development (SQL, EF Core, REST APIs, microservices). This project taught me invaluable lessons about systems programming, but it's time to apply those skills to real-world backend work.
19+
20+
The code remains here as a reference and portfolio piece. I may return to add System.IO.Pipelines and HTTP keep-alive support in the future, but for now, it's feature-complete for its original learning goals.
21+
22+
**Key learnings:**
23+
- How HTTP servers actually work under the hood
24+
- Performance optimization and profiling techniques
25+
- Lock-free concurrent data structures
26+
- The value of knowing when NOT to over-optimize
27+
28+
Feel free to explore the code or reach out if you have questions!
929

1030
# Getting Started
1131

@@ -100,8 +120,6 @@ The `WithAddress` method also has overload `ServerBuilder WithAddress(string add
100120

101121
### Maximum reached short-term rps: **28500**
102122

103-
**Note:** the tests was provided with single worker thread, using multiple working thread on current version can decrease rps by 3-5%
104-
105123
*Test was provided via **k6** on Machine with next configuration:*
106124

107125
> - CPU: Ryzen r7 5800X

0 commit comments

Comments
 (0)