Skip to main content
  1. Projects/

efcl

·137 words·1 min
Jake Roggenbuck
Author
Jake Roggenbuck
I am currently studying Computer Science

Efficiency First Color Library (EFCL) #

Rust
Crates Version
Downloads
GitHub code size in bytes

The most simple, small, and fast terminal color text library.

Priorities #

  • Runtime speed
  • Dependency size

Quickstart #

efcl = "0.1.2"
use efcl::{color, Color, bold};

fn main() {
    println!("{}!", bold!(&color!(Color::RED, "EFCL").to_string()));
    println!("Hello, {}!", color!(Color::BLUE, "world"));
}

Why? #

Here is a flamegraph of the auto-clock-speed project. In green is the time it takes for colored text to render. That is just over 9% of runtime cpu is taken by color formatting.

image

EFCL

This is way too long for what we need it for. In auto-clock-speed, color is used sparingly and only a few default colors on top of that.

image

This library is for the most basic text coloring for the terminal and only includes the default terminal colors, no background color or text styles other than bold. This library is for speed.