]> icculus.org git repositories - icculus/xz.git/blob - debug/memusage.c
Oh well, big messy commit again. Some highlights:
[icculus/xz.git] / debug / memusage.c
1 ///////////////////////////////////////////////////////////////////////////////
2 //
3 /// \file       memusage.c
4 /// \brief      Calculates memory usage using lzma_memory_usage()
5 ///
6 //  Copyright (C) 2008 Lasse Collin
7 //
8 //  This library is free software; you can redistribute it and/or
9 //  modify it under the terms of the GNU Lesser General Public
10 //  License as published by the Free Software Foundation; either
11 //  version 2.1 of the License, or (at your option) any later version.
12 //
13 //  This library is distributed in the hope that it will be useful,
14 //  but WITHOUT ANY WARRANTY; without even the implied warranty of
15 //  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
16 //  Lesser General Public License for more details.
17 //
18 ///////////////////////////////////////////////////////////////////////////////
19
20 #include "sysdefs.h"
21 #include <stdio.h>
22
23 int
24 main(void)
25 {
26         lzma_init();
27
28         lzma_options_lzma lzma = {
29                 .dict_size = (1U << 30) + (1U << 29),
30                 .lc = 3,
31                 .lp = 0,
32                 .pb = 2,
33                 .preset_dict = NULL,
34                 .preset_dict_size = 0,
35                 .mode = LZMA_MODE_NORMAL,
36                 .nice_len = 48,
37                 .mf = LZMA_MF_BT4,
38                 .depth = 0,
39         };
40
41 /*
42         lzma_options_filter filters[] = {
43                 { LZMA_FILTER_LZMA1,
44                         (lzma_options_lzma *)&lzma_preset_lzma[6 - 1] },
45                 { UINT64_MAX, NULL }
46         };
47 */
48         lzma_filter filters[] = {
49                 { LZMA_FILTER_LZMA1, &lzma },
50                 { UINT64_MAX, NULL }
51         };
52
53         printf("Encoder: %10" PRIu64 " B\n", lzma_memusage_encoder(filters));
54         printf("Decoder: %10" PRIu64 " B\n", lzma_memusage_decoder(filters));
55
56         return 0;
57 }