All Projects → wgtdkp → julia

wgtdkp / julia

Licence: MIT license
A lightweight high performance http server

Programming Languages

c
50402 projects - #5 most used programming language
C++
36643 projects - #6 most used programming language
HTML
75241 projects
Makefile
30231 projects

Projects that are alternatives of or similar to julia

Lotos
tiny but high-performance HTTP Server
Stars: ✭ 140 (+26.13%)
Mutual labels:  network-programming
SuperSocketLite
SuperSocket 1.6 버전의 .NET Core 포팅
Stars: ✭ 48 (-56.76%)
Mutual labels:  network-programming
public
BitDust project source codes : official Public Git repository (mirror on GitHub) : https://bitdust.io
Stars: ✭ 19 (-82.88%)
Mutual labels:  network-programming
Dnsguide
A guide to writing a DNS Server from scratch in Rust
Stars: ✭ 2,226 (+1905.41%)
Mutual labels:  network-programming
Ebpf
eBPF Utilities, Maps, and more
Stars: ✭ 238 (+114.41%)
Mutual labels:  network-programming
go.pkt
📨 Go libraries for capturing, injecting, filtering, encoding and decoding network packets
Stars: ✭ 119 (+7.21%)
Mutual labels:  network-programming
Corebgp
CoreBGP is a BGP library written in Go that implements the BGP FSM with an event-driven, pluggable model.
Stars: ✭ 124 (+11.71%)
Mutual labels:  network-programming
connect
tiny cross-platform socket API library
Stars: ✭ 46 (-58.56%)
Mutual labels:  network-programming
Anevicon
🔥 A high-performant UDP load generator, written in Rust
Stars: ✭ 243 (+118.92%)
Mutual labels:  network-programming
TutorialUnityMultiplayer
How to use Command Design Pattern to make custom networking for Unity?
Stars: ✭ 53 (-52.25%)
Mutual labels:  network-programming
Arp Spoofer
A pure-Python ARP Cache Poisoning (a.k.a "ARP Spoofing") tool
Stars: ✭ 180 (+62.16%)
Mutual labels:  network-programming
Capsule
A framework for network function development. Written in Rust, inspired by NetBricks and built on DPDK.
Stars: ✭ 217 (+95.5%)
Mutual labels:  network-programming
Socket-Programming-With-C
✉️ Learn Network Protocol and Network Programming
Stars: ✭ 147 (+32.43%)
Mutual labels:  network-programming
Msquic
Cross-platform, C implementation of the IETF QUIC protocol.
Stars: ✭ 2,501 (+2153.15%)
Mutual labels:  network-programming
fancy
High performance web server
Stars: ✭ 20 (-81.98%)
Mutual labels:  network-programming
Webserver
A C++ Lightweight Web Server based on Linux epoll
Stars: ✭ 135 (+21.62%)
Mutual labels:  network-programming
sharppcap
Official repository - Fully managed, cross platform (Windows, Mac, Linux) .NET library for capturing packets
Stars: ✭ 1,054 (+849.55%)
Mutual labels:  network-programming
protocol
Easy protocol definitions in Rust
Stars: ✭ 151 (+36.04%)
Mutual labels:  network-programming
conf ndc 2018
NDC 2018 강연 자료
Stars: ✭ 24 (-78.38%)
Mutual labels:  network-programming
GhostNET
GhostNET script that will help you be safer on the cyber
Stars: ✭ 45 (-59.46%)
Mutual labels:  network-programming

julia Build Status

中文

A small yet high performance http server and reverse proxy. You may view it as a tiny nginx.

Environment

  • gcc 5.4.0
  • linux 4.4.0

Dependency

Install

  $ git submodule update --remote --recursive
  $ cd src && make all
  $ make install # root required

Run

$ julia # roo required, default listening at 8000

You may modify the config file to specify the port if there is a confliction.

Debug

As julia run as a daemon, it is not convenient to debug. Follow the steps to make it run in debug mode:

  1. change the INSTALL_DIR in Makefile to your local repo, like:
INSTALL_DIR = /home/foo/julia/ # the last slash required
  1. turn on the debug instruction in config.json
"debug": true,

Exciting

Making a http server and host your site is not extremely cool? Then, what if your server is compiled by your own compiler?

Yes, i wrote a C11 compiler(let me call it wgtcc). It compiles julia, and the site runs well :) You can install wgtcc, then compile julia:

  $ make CC=wgtcc all

It surprised me that the server compiled by wgtcc runs extremely fast!

have fun :)

Todo

  1. fastcgi
  2. chunked transform
  3. benchmark

Reference

  1. nginx
  2. lighttpd
  3. juson

中文

julia 是一个短小精悍的高并发http服务器和反向代理。你可以将他想象成tiny nginx。我用它搭了博客。静态文件由julia serve, 动态内容pass到后端的uwsgi(类似于fpm)。

安装 调试 请参照上方。

最酷的是,这个服务器,包括正在运行的博客,都是我自己写的C编译器编译的。如果你对编译器也感兴趣,可以看这里。按照其readme安装wgtcc后,你可以这样编译julia:

  $ make CC=wgtcc all

have fun :)

性能

benchmark: ab

均为8 worker, 1KiB静态页面

并发 nginx julia
10 52K 54K
100 56K 56K
1000 46K 44K
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].