Skip to content

dojo4/lolcat

This branch is 1 commit ahead of, 19 commits behind jaseg/lolcat:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

35e841e · Sep 15, 2020

History

56 Commits
Jul 14, 2015
Jul 22, 2018
Oct 24, 2014
Oct 25, 2014
Sep 15, 2020
Nov 18, 2016
Mar 18, 2019
Jul 22, 2018
Nov 10, 2019
Oct 25, 2014
Jul 12, 2015

Repository files navigation

What?

Screenshot

Installation

Archlinux

There's an AUR package:

$ git clone https://aur.archlinux.org/packages/c-lolcat
$ cd c-lolcat
$ makepkg -csi

Ubuntu (Snap)

See this awesome blog post by a kind person from the internet:

$ snap install lolcat-c

Mac

Build loclcat with:

$ make lolcat

...and put the resulting binary at a place of your choice.

Others

$ make && sudo make install

Why?

This lolcat clone is an attempt to reduce the world's carbon dioxide emissions by optimizing inefficient code. It's >10x as fast and <0.1% as large as the original one.

newton~/d/lolcat <3 dmesg>foo
newton~/d/lolcat <3 time upstream/bin/lolcat foo
13.51user 1.34system 0:15.99elapsed 92%CPU (0avgtext+0avgdata 10864maxresident)k
0inputs+0outputs (0major+1716minor)pagefaults 0swaps
newton~/d/lolcat <3 time ./lolcat foo
0.02user 0.00system 0:00.09elapsed 34%CPU (0avgtext+0avgdata 1936maxresident)k
0inputs+0outputs (0major+117minor)pagefaults 0swaps

Bonus comparison with python-lolcat:

newton~/d/lolcat <3 dmesg>foo
$ time python-lolcat foo
12.27user 0.00system 0:12.29elapsed 99%CPU (0avgtext+0avgdata 11484maxresident)k
0inputs+0outputs (0major+1627minor)pagefaults 0swaps
$ time c-lolcat foo
0.29user 0.00system 0:00.30elapsed 98%CPU (0avgtext+0avgdata 468maxresident)k
0inputs+0outputs (0major+21minor)pagefaults 0swaps

(Read: c-lolcat << python-lolcat << ruby-lolcat)

Packages

No packages published

Languages

  • C 89.0%
  • Shell 6.6%
  • Makefile 4.4%