Quantcast
Channel: C – thoughts…
Browsing all 98 articles
Browse latest View live

Image may be NSFW.
Clik here to view.

Brubeck, a statsd-compatible metrics aggregator

“…Taking an existing application and rewriting it in another language very rarely gives good results. Specially in the case of a Node.js server, you go from having an event loop written in C (libuv,...

View Article


Image may be NSFW.
Clik here to view.

How to receive a million packets per second

“Last week during a casual conversation I overheard a colleague saying: “The Linux network stack is slow! You can’t expect it to do more than 50 thousand packets per second per core!” That got me...

View Article


Image may be NSFW.
Clik here to view.

Makefile Tutorial

http://makefiletutorial.com/ https://github.com/theicfire/makefiletutorial http://www.gnu.org/software/make/manual/make.html#Options-Summary

View Article

Image may be NSFW.
Clik here to view.

Embedding LuaJIT in 30 minutes (or so)

“Since you’re reading this, you probably know Lua, the world’s most infuriating language. If not, hop on to Lua in 15 minutes to get the basics right. Now there are two types of use cases where Lua...

View Article

Image may be NSFW.
Clik here to view.

Lupa – Lua in Python

“Lupa integrates the runtimes of Lua or LuaJIT2 into CPython. It is a partial rewrite of LunaticPython inCython with some additional features such as proper coroutine support. For questions not...

View Article


Image may be NSFW.
Clik here to view.

System calls in the Linux kernel

“This post opens new chapter in linux-insides book and as you may understand from the title, this chapter will devoted to the System call concept in the Linux kernel. The choice of the topic for this...

View Article

Image may be NSFW.
Clik here to view.

CPython internals: A ten-hour codewalk through the Python interpreter source...

“Here are nine lectures walking through the internals of CPython, the canonical Python interpreter implemented in C. They were from a dynamic programming languages course that I taught in Fall 2014 at...

View Article

Image may be NSFW.
Clik here to view.

Using Nginx as a Load Balancer

“After you’ve ensured your web application is setup for a distributed environment, you can then decide on a strategy for load balancing. Nginx offers these strategies: Round Robin – Nginx switches...

View Article


Image may be NSFW.
Clik here to view.

Libcox – Cross Platform System Calls

“Libcox is an ANSI-C Library which permit cross platform system calls and standard utilities among different operating systems via a system of commands similar to the standard UNIX one and backed by...

View Article


Image may be NSFW.
Clik here to view.

netmap – the fast packet I/O framework

“netmap is a framework for high speed packet I/O. Together with its companion VALE software switch, it is implemented as a single kernel module and available for FreeBSD, Linux and now also Windows...

View Article

Image may be NSFW.
Clik here to view.

Concurrency Kit

“Concurrency primitives, safe memory reclamation mechanisms and non-blocking data structures for the research, design and implementation of high performance concurrent systems…”...

View Article

Image may be NSFW.
Clik here to view.

Linux kernel development

“So, seems that people are interested about Linux kernel development process. I thought it will be strange if the book about the Linux kernel will not contain a part that will describe how to take a...

View Article

Image may be NSFW.
Clik here to view.

Using the KVM API

“Many developers, users, and entire industries rely on virtualization, as provided by software like Xen, QEMU/KVM, or kvmtool. While QEMU can run a software-based virtual machine, and Xen can run...

View Article


Image may be NSFW.
Clik here to view.

Fast Memory Pool Allocators: Boost, Nginx & Tempesta FW

“Memory Pools and Region-based Memory Management Memory pools and region-based memory management allow you to improve your program performance by avoiding unnecessary memory freeing calls. Moreover,...

View Article

Image may be NSFW.
Clik here to view.

TCP/UDP/ICMP traffic over UDP tunneling

By default mobile provider blocks any packet but UDP packet, unless you pay for the service. My method consists in sending TCP/UDP/ICMP frames as payload of an UDP packet to a known host (your server)....

View Article


Image may be NSFW.
Clik here to view.

Recovering Live Data with GDB

“I recently ran into a problem where long-running program output was trapped in a C FILE buffer. The program had been running for two days straight printing its results, but the last few kilobytes of...

View Article

Image may be NSFW.
Clik here to view.

What is a core dump and how do you parse one? (backtrace.io)

“A core represents a the state of a process at a point in time. It contains all the information that an engineer needs in order to inspect the process and its state even after the process has exited....

View Article


Image may be NSFW.
Clik here to view.

A Fat Pointer Library

When you first see Cello, it’s hard to understand exactly what it is. You might think of Cello a framework, or perhaps as a syntax layer, or even a totally new programming language, but the best way...

View Article

Image may be NSFW.
Clik here to view.

The Lost Art of C Structure Packing

This page is about a technique for reducing the memory footprint of C programs – manually repacking C structure declarations for reduced size. To read it, you will require basic knowledge of the C...

View Article

Image may be NSFW.
Clik here to view.

Libmill is a library that introduces Go-style concurrency to C

It can execute up to 20 million coroutines and 50 million context switches per second. http://libmill.org/index.html Go C go foo(arg1, arg2, arg3) go(foo(arg1, arg2, arg3)); ch := make(chan int) chan...

View Article
Browsing all 98 articles
Browse latest View live