🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
Sign inDemoInstall
Socket

github.com/lassilaiho/compression-algorithms-tiralabra

Package Overview
Dependencies
Alerts
File Explorer
Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

github.com/lassilaiho/compression-algorithms-tiralabra

v0.0.0-20200906154013-4bb3a68fef79
Source
Go
Version published
Created
Source

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

FAQs

Package last updated on 06 Sep 2020

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts