Linux Programming Tools is a collection of programming tools that help with debugging and performance tuning. It currently includes papi++, a C++ wrapper around PAPI that helps fine-tune C++ code for performance and measure cache misses, branch mispredictions, and so on, and mtrace, an interposition library building upon mtrace(3) that tracks memory leaks with the call stack of the allocations.
FastFlow is a pattern-based programming framework targeting streaming applications. It implements pipeline, farm, divide and conquer, and their composition, as well as generic streaming networks. It is specifically designed to support the development and the seamless porting of existing applications on multi-core, GPGPUs, and clusters of them. The layered template-based C++ design ensures flexibility and extendibility. Its lock-free/fence-free run-time support minimizes cache invalidation traffic and enforces the development of high-performance (high-throughput, low-latency) scalable applications. It has been proven comparable or faster than TBB, OpenMP, and Cilk on several micro-benchmarcks and real-world applications, especially when dealing with fine-grained parallelism and high-throughput applications.
Vanubi is a programming editor highly inspired by Emacs but with a more modern fashion. It aims to be unobtrusive yet smart, simple yet complete with the necessary components built in (monolithic), keyboard based with contextual help, file/directory based (not project based), and fast to open for rapid file editing. It features splitting views, auto indent, sessions, fuzzy search everywhere, git support with side gutter and grep, emacs-like and shell-like key bindings, integration with the shell, and an ad-hoc scripting language.
lrc (The Linux Resource Compiler) is a system for packing many files into a single file for installation and use in a program as its resources (such as the graphics and sounds used by a game). It consists of a command-line tool, called lrc, for compiling the resources and a library, called liblrc, to extract the resources from a file generated by the compiler.
Anchor automatically adds curly braces and semicolons to code written in various programming languages, saving typing and making programs easier to read. It lets you pretend to be coding in Python or Lua while actually writing standard C, Java, PHP, C++, .NET, C#, or D. A script may generate files in the target language and invoke the compiler. An example bash script integrates with TCC to make runnable "scripts" with the speed of C. The scripts are easily modified to target another compiler or interpreter.
Charm++ is a portable adaptive runtime system for parallel applications. Application developers create an object-based decomposition of the problem of interest, and the runtime system manages issues of communication, mapping, load balancing, fault tolerance, and more. Sequential code implementing the methods of these parallel objects is written in C++. Calls to libraries in C++, C, and Fortran are common and straightforward. Charm++ is portable across individual workstations, clusters, accelerators (Cell SPEs and GPUs), and supercomputers such as those sold by IBM (Blue Gene, POWER) and Cray (XT3/4/5/6). Applications based on Charm++ are used on at least 5 of the 20 most powerful computers in the world.