explaingit

qihoo360/evpp

3,767C++
This is a quick first-pass explanation. The richer sections — use-cases, tech stack, setup, prompts — are still being generated.

TLDR

evpp is a C++ library for building network servers and clients.

Mindmap

A visual breakdown will appear here once this repo is fully enriched.

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

In plain English

evpp is a C++ library for building network servers and clients. It supports three communication protocols: TCP (for persistent connections), UDP (for connectionless messaging), and HTTP (for web-style request-response communication). The library is open source and was created by Qihoo360, a Chinese internet company, to handle their internal needs for building high-throughput network services. The core design uses an event-driven, non-blocking approach, which means the server can handle many simultaneous connections without creating a separate thread for each one. Instead, threads share an event loop that wakes up and responds only when new data arrives. This pattern is common in high-performance server software because it reduces the overhead of switching between threads constantly. The library is built on top of libevent, a well-tested event handling library, but replaces libevent's internal memory buffer with its own implementation. According to the project's benchmarks, this change makes evpp 17 to 130 percent faster than libevent in data throughput tests, while performing at a similar level to Boost.Asio (another widely-used C++ networking library). The project also ships two companion client libraries. The first, evmc, is a non-blocking C++ client for Memcached (a caching system used to speed up web applications). The second, evnsq, is a client for NSQ (a message queue system for passing data between services). Both are reported to be running in production at Qihoo360, handling hundreds of billions of requests and messages per day. evpp uses C++11 features throughout and runs on Linux, BSD, macOS, and Windows. The library is licensed under the BSD 3-Clause license.

Open on GitHub → Explain another repo

← qihoo360 on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.