efcl

Crates.ioefcl
lib.rsefcl
version0.1.3
sourcesrc
created_at2022-11-11 22:31:46.573181
updated_at2024-09-30 04:38:45.419288
descriptionThe most simple, small, and fast terminal color text library.
homepagehttps://github.com/JakeRoggenbuck/efcl
repositoryhttps://github.com/JakeRoggenbuck/efcl
max_upload_size
id713087
size6,751
Jake Roggenbuck (JakeRoggenbuck)

documentation

README

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!("Hello, {}!", color!(Color::BLUE, "world"));

    println!("{}!", bold!(&color!(Color::RED, "EFCL").to_string()));
}

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.

Commit count: 26

cargo fmt