Skip to content

lassilaiho/compression-algorithms-tiralabra

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Comparison of compression algorithms

This project is an implementation and comparison of two data compression algorithms, Huffman coding and LZ77. This is a project for the course "Aineopintojen harjoitustyö: tietorakenteet ja algoritmit" at the University of Helsinki.

Building the project

Dependencies

The following programs are required for all Make targets and must be installed and available in the path:

  • Go version 1.14 or later
  • GNU Make

Some targets require more dependencies in addition to the ones above.

If you want to run make lint, you need

  • golint

If you want to build the documentation (only necessary if you want to edit it), you need

  • gnuplot
  • Graphviz command line tool

If you want to run generate the performance report, you need

  • GNU time

Build commands

The compression programs can be built by running make all at the root of the repository.

make lint runs go vet and golint on the project.

make test executes unit tests and writes a test coverage report to cover.out. The report can be viewed by running

go tool cover -html=cover.out

An online test coverage report can be found here.

make perf-report generates the performance report. This can take a long time.

make gendocs generates documentation from .template.md files in docs directory. This target requires the files generated by make perf-report. Because generating the performance report is so slow, it is not done automatically.

Documentation

Design document

Implementation document

Testing document

User manual

Weekly reports

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published