A computer-implemented data compression method comprising: - providing a dictionary comprising a plurality of data records, each of said data records being stored in a memory element whose size is sufficiently large to store the longest one of the data records of the dictionary; the method characterised by: - computing a mean of the lengths of the data records of the dictionary; - computing a standard deviation of the lengths of the data records of the dictionary; - determining a deviation threshold, the deviation threshold indicating a maximum allowable deviation of a data record length from a mean data record length; - calculating a threshold data record length from the computed mean, from the computed standard deviation and from the determined deviation threshold; - splitting the dictionary into a minor dictionary and a major dictionary, the major dictionary selectively comprising the ones of the data records whose lengths are below or equal to the calculated threshold data record length, the minor dictionary selectively comprising the ones of the data records whose lengths are larger than the calculated threshold data record length; - storing the data records of the major dictionary in a first array of further memory elements, whereby the size of each further memory element is fitted to the memory space consumed by a data record of the calculated threshold data record length; and - storing the data records of the minor dictionary in a second array of still further memory elements, whereby the size of each still further memory element is fitted to the memory space consumed by the longest one of all data records of the dictionary. - providing a dictionary comprising a plurality of data records, each of said data records being stored in a memory element whose size is sufficiently large to store the longest one of the data records of the dictionary; the method characterised by: - computing a mean of the lengths of the data records of the dictionary; - computing a standard deviation of the lengths of the data records of the dictionary; - determining a deviation threshold, the deviation threshold indicating a maximum allowable deviation of a data record length from a mean data record length; - calculating a threshold data record length from the computed mean, from the computed standard deviation and from the determined deviation threshold; - splitting the dictionary into a minor dictionary and a major dictionary, the major dictionary selectively comprising the ones of the data records whose lengths are below or equal to the calculated threshold data record length, the minor dictionary selectively comprising the ones of the data records whose lengths are larger than the calculated threshold data record length; - storing the data records of the major dictionary in a first array of further memory elements, whereby the size of each further memory element is fitted to the memory space consumed by a data record of the calculated threshold data record length; and - storing the data records of the minor dictionary in a second array of still further memory elements, whereby the size of each still further memory element is fitted to the memory space consumed by the longest one of all data records of the dictionary. - computing a mean of the lengths of the data records of the dictionary; - computing a standard deviation of the lengths of the data records of the dictionary; - determining a deviation threshold, the deviation threshold indicating a maximum allowable deviation of a data record length from a mean data record length; - calculating a threshold data record length from the computed mean, from the computed standard deviation and from the determined deviation threshold; - splitting the dictionary into a minor dictionary and a major dictionary, the major dictionary selectively comprising the ones of the data records whose lengths are below or equal to the calculated threshold data record length, the minor dictionary selectively comprising the ones of the data records whose lengths are larger than the calculated threshold data record length; - storing the data records of the major dictionary in a first array of further memory elements, whereby the size of each further memory element is fitted to the memory space consumed by a data record of the calculated threshold data record length; and - storing the data records of the minor dictionary in a second array of still further memory elements, whereby the size of each still further memory element is fitted to the memory space consumed by the longest one of all data records of the dictionary.