How To Install libthread-tie-perl on Ubuntu 18.04

In this tutorial we learn how to install libthread-tie-perl on Ubuntu 18.04. libthread-tie-perl is alternative separate thread implementation of shared variables

Introduction

In this tutorial we learn how to install libthread-tie-perl on Ubuntu 18.04.

What is libthread-tie-perl

libthread-tie-perl is:

The standard shared variable scheme used by Perl, is based on tie-ing the variable to some very special dark magic. This dark magic ensures that shared variables, which are copied just as any other variable when a thread is started, update values in all of the threads where they exist as soon as the value of a shared variable is changed.

The Thread::Tie module is a proof-of-concept implementation of another approach to shared variables. Instead of having shared variables exist in all the threads from which they are accessible, shared variable exist as “normal”, unshared variables in a separate thread. Only a tied object exists in each thread from which the shared variable is accessible.

Through the use of a client-server model, any thread can fetch and/or update variables living in that thread. This client-server functionality is hidden under the hood of tie(). So you could say that one dark magic (the current shared variables implementation) is replaced by another dark magic.

The Thread::Tie approach has the following advantages:

  • Memory usage - This implementation circumvents the memory leak that currently (threads::shared version 0.90) plagues any shared array or shared hash access.
  • Tieing shared variables - Because the current implementation uses tie-ing, you can not tie a shared variable. The same applies for this implementation you might say. However, it is possible to specify a non-standard tie implementation for use within the thread. So with this implementation you can tie() a shared variable. So you could tie a shared hash to a DBM file à la dbmopen() with this module.

Of course there are disadvantages to this approach:

  • Pure Perl implementation - This module is currently a pure Perl implementation. This is ok for a proof of concept, but may need re- implementation in pure XS or in Inline::C for production use.

  • Tradeoff between cpu and memory - This implementation currently uses (much) more cpu than the standard shared variables implementation. Whether this would still be true when re-implemented in XS or Inline::C, remains to be seen.

There are three methods to install libthread-tie-perl on Ubuntu 18.04. We can use apt-get, apt and aptitude. In the following sections we will describe each method. You can choose one of them.

Install libthread-tie-perl Using apt-get

Update apt database with apt-get using the following command.

sudo apt-get update

After updating apt database, We can install libthread-tie-perl using apt-get by running the following command:

sudo apt-get -y install libthread-tie-perl

Install libthread-tie-perl Using apt

Update apt database with apt using the following command.

sudo apt update

After updating apt database, We can install libthread-tie-perl using apt by running the following command:

sudo apt -y install libthread-tie-perl

Install libthread-tie-perl Using aptitude

If you want to follow this method, you might need to install aptitude first since aptitude is usually not installed by default on Ubuntu. Update apt database with aptitude using the following command.

sudo aptitude update

After updating apt database, We can install libthread-tie-perl using aptitude by running the following command:

sudo aptitude -y install libthread-tie-perl

How To Uninstall libthread-tie-perl on Ubuntu 18.04

To uninstall only the libthread-tie-perl package we can use the following command:

sudo apt-get remove libthread-tie-perl

Uninstall libthread-tie-perl And Its Dependencies

To uninstall libthread-tie-perl and its dependencies that are no longer needed by Ubuntu 18.04, we can use the command below:

sudo apt-get -y autoremove libthread-tie-perl

Remove libthread-tie-perl Configurations and Data

To remove libthread-tie-perl configuration and data from Ubuntu 18.04 we can use the following command:

sudo apt-get -y purge libthread-tie-perl

Remove libthread-tie-perl configuration, data, and all of its dependencies

We can use the following command to remove libthread-tie-perl configurations, data and all of its dependencies, we can use the following command:

sudo apt-get -y autoremove --purge libthread-tie-perl

References

Summary

In this tutorial we learn how to install libthread-tie-perl package on Ubuntu 18.04 using different package management tools: apt, apt-get and aptitude.