<commit_before>gorpc
=====

Simple, fast and scalable rpc library for high load.

Unlike the original library at http://golang.org/pkg/net/rpc/ it multiplexes
requests over a small number of TCP connections. This provides the following
features useful for highly loaded rpc applications:

* It minimizes the number of connect() syscalls by pipelining request
  and response messages over a single TCP connection.

* It minimizes the number of send() syscalls by packing as much
  as possible pending requests and responses into a single compressed buffer
  before passing it into send() syscall.

* It minimizes the number of recv() syscalls by reading and buffering as much
  as possible data from the network.

These features help the OS minimizing overhead (CPU load, the number of network
packets and network bandwidth) required for rpc processing under high load.

Currently gorpc with default settings is successfully used in highly loaded
production environment serving up to 40K qps. Switching from http-based rpc
to gorpc reduced required network bandwidth from 100 Mbit/s to 8 Mbit/s.


Docs
====

See http://godoc.org/github.com/valyala/gorpc .


Usage<commit_msg>small README fix<commit_after>gorpc
=====

Simple, fast and scalable rpc library for high load.

Unlike standard library at http://golang.org/pkg/net/rpc/ it multiplexes
requests over a small number of TCP connections. This provides the following
features useful for highly loaded rpc applications:

* It minimizes the number of connect() syscalls by pipelining request
  and response messages over a single TCP connection.

* It minimizes the number of send() syscalls by packing as much
  as possible pending requests and responses into a single compressed buffer
  before passing it into send() syscall.

* It minimizes the number of recv() syscalls by reading and buffering as much
  as possible data from the network.

These features help the OS minimizing overhead (CPU load, the number of network
packets and network bandwidth) required for rpc processing under high load.

Currently gorpc with default settings is successfully used in highly loaded
production environment serving up to 40K qps. Switching from http-based rpc
to gorpc reduced required network bandwidth from 100 Mbit/s to 8 Mbit/s.


Docs
====

See http://godoc.org/github.com/valyala/gorpc .


Usage
{'fraction_non_alphanumeric': 0.04767986377181779, 'fraction_numerical': 0.005108556832694764, 'mean_word_length': 4.439814814814815, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3328565', 'n_tokens_mistral': 631, 'n_tokens_neox': 572, 'n_words': 328}