Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compression issues with large Inputs #121

Open
lauhon opened this issue Aug 3, 2023 · 4 comments
Open

Compression issues with large Inputs #121

lauhon opened this issue Aug 3, 2023 · 4 comments

Comments

@lauhon
Copy link

lauhon commented Aug 3, 2023

When trying to compress large buffers (>10kB), there is a huge size difference between the result on this libraray and other demos (for example here)

While the other demo reduces the size to 23%, msgpack-lite seems to not compress at all. With other values the compressed result is even larger than the input.

I tested it like this:

  import { encode } from 'msgpack-lite';

  const enc = encode(hugeBuffer);

  console.log({ resultLenght: enc.length, originalLength: hugeBuffer.length }, 'encoded');

Is this a shortcomming of this lib, or am I doing something wrong here?

Input I used

[
165,
190,
64,
103,
149,
183,
100,
22,
85,
122,
173,
152,
79,
125,
29,
66,
20,
54,
18,
153,
81,
13,
212,
249,
0,
0,
0,
2,
0,
203,
81,
147,
93,
197,
66,
174,
38,
217,
208,
70,
115,
129,
235,
20,
163,
46,
68,
0,
0,
1,
159,
0,
33,
3,
217,
2,
159,
183,
100,
237,
7,
150,
129,
108,
212,
136,
101,
174,
148,
47,
43,
158,
222,
68,
239,
222,
176,
48,
118,
90,
123,
239,
13,
29,
123,
247,
0,
0,
1,
159,
0,
33,
3,
210,
25,
211,
148,
45,
30,
241,
179,
235,
155,
91,
226,
216,
39,
132,
127,
66,
65,
16,
167,
176,
121,
186,
73,
79,
239,
64,
55,
30,
107,
49,
29,
0,
0,
1,
159,
0,
33,
2,
124,
36,
216,
68,
45,
162,
174,
68,
186,
30,
127,
95,
104,
140,
201,
244,
137,
82,
36,
132,
248,
94,
106,
215,
203,
66,
97,
164,
247,
40,
158,
144,
0,
0,
1,
159,
0,
33,
3,
124,
6,
233,
147,
1,
198,
180,
227,
156,
171,
28,
16,
71,
176,
134,
15,
190,
245,
134,
28,
164,
65,
113,
104,
171,
201,
162,
65,
31,
52,
183,
51,
0,
0,
1,
159,
0,
33,
3,
148,
61,
2,
187,
189,
180,
50,
34,
134,
176,
97,
136,
18,
54,
210,
254,
249,
22,
171,
94,
186,
42,
75,
76,
150,
228,
82,
132,
145,
90,
123,
209,
0,
0,
1,
159,
0,
33,
2,
244,
190,
39,
96,
154,
163,
23,
175,
148,
77,
193,
229,
75,
195,
60,
67,
153,
221,
211,
184,
36,
185,
187,
180,
95,
217,
58,
96,
228,
13,
212,
188,
0,
0,
1,
159,
0,
33,
2,
83,
129,
165,
219,
108,
219,
199,
173,
154,
205,
198,
11,
93,
45,
37,
182,
228,
139,
92,
21,
6,
16,
239,
54,
215,
142,
241,
203,
227,
75,
58,
237,
0,
0,
1,
159,
0,
33,
2,
227,
115,
164,
138,
61,
85,
72,
5,
44,
42,
236,
130,
135,
74,
87,
98,
118,
183,
210,
208,
76,
220,
152,
140,
143,
253,
49,
244,
174,
245,
251,
190,
0,
0,
1,
159,
0,
33,
2,
91,
242,
238,
9,
194,
179,
121,
237,
201,
146,
131,
164,
176,
205,
255,
163,
85,
69,
13,
17,
99,
26,
198,
130,
53,
28,
4,
169,
35,
41,
248,
15,
0,
0,
1,
159,
0,
33,
3,
197,
173,
130,
154,
127,
64,
112,
24,
105,
72,
4,
183,
43,
166,
22,
150,
156,
117,
218,
52,
156,
107,
13,
46,
243,
60,
201,
147,
202,
13,
205,
252,
0,
0,
1,
159,
0,
33,
2,
242,
174,
9,
170,
234,
56,
2,
138,
108,
182,
143,
108,
25,
20,
118,
97,
97,
218,
62,
163,
106,
157,
224,
159,
238,
216,
170,
124,
194,
45,
149,
177,
0,
0,
1,
159,
0,
33,
3,
215,
144,
4,
22,
131,
253,
52,
128,
185,
218,
188,
239,
245,
225,
254,
135,
78,
188,
205,
44,
202,
158,
116,
11,
114,
79,
11,
57,
91,
146,
172,
145,
0,
0,
1,
159,
0,
33,
3,
3,
224,
54,
239,
104,
248,
244,
176,
93,
113,
146,
253,
79,
91,
0,
114,
35,
190,
247,
42,
8,
74,
160,
190,
178,
110,
10,
12,
184,
225,
241,
42,
0,
0,
1,
159,
0,
33,
2,
5,
195,
38,
190,
99,
68,
16,
47,
36,
61,
128,
215,
161,
148,
32,
154,
38,
126,
159,
41,
205,
4,
135,
148,
235,
96,
134,
196,
236,
59,
67,
92,
0,
0,
1,
159,
0,
33,
3,
217,
56,
87,
156,
178,
150,
143,
42,
105,
115,
251,
71,
82,
45,
181,
63,
66,
243,
90,
200,
20,
12,
176,
169,
135,
219,
167,
150,
176,
148,
246,
192,
0,
0,
1,
159,
0,
33,
3,
144,
57,
59,
185,
234,
248,
227,
103,
65,
217,
123,
74,
187,
232,
25,
64,
137,
150,
31,
119,
230,
62,
172,
199,
10,
196,
248,
90,
49,
134,
124,
187,
0,
0,
1,
159,
0,
33,
3,
1,
200,
159,
231,
64,
51,
68,
59,
173,
170,
129,
55,
194,
185,
192,
216,
209,
20,
67,
221,
34,
231,
97,
20,
157,
28,
122,
151,
112,
193,
174,
239,
0,
0,
1,
159,
0,
33,
2,
144,
49,
225,
225,
60,
205,
34,
117,
153,
33,
154,
147,
90,
13,
234,
172,
114,
219,
43,
164,
110,
127,
148,
28,
101,
62,
178,
37,
185,
13,
82,
233,
0,
0,
1,
159,
0,
33,
3,
214,
62,
124,
187,
163,
117,
87,
22,
174,
240,
223,
233,
20,
249,
80,
165,
45,
33,
2,
22,
96,
77,
38,
143,
104,
236,
71,
123,
176,
109,
222,
212,
0,
0,
1,
159,
0,
33,
2,
115,
94,
17,
196,
25,
149,
249,
238,
117,
200,
8,
220,
86,
249,
62,
129,
64,
53,
69,
19,
49,
121,
36,
118,
128,
216,
65,
131,
173,
112,
145,
225,
0,
0,
1,
159,
0,
33,
3,
157,
183,
203,
1,
40,
13,
163,
160,
195,
104,
26,
234,
139,
140,
244,
50,
244,
79,
103,
60,
158,
138,
221,
189,
93,
157,
199,
236,
33,
140,
15,
84,
0,
0,
1,
159,
0,
33,
2,
38,
254,
56,
93,
33,
186,
18,
35,
167,
204,
167,
233,
37,
83,
24,
134,
118,
65,
237,
153,
241,
215,
227,
160,
102,
161,
245,
7,
116,
3,
14,
115,
0,
0,
1,
159,
0,
33,
3,
138,
55,
172,
166,
210,
233,
130,
168,
48,
172,
102,
166,
136,
60,
139,
57,
149,
59,
140,
143,
226,
117,
223,
123,
1,
34,
182,
194,
192,
83,
241,
183,
0,
0,
1,
159,
0,
33,
3,
189,
212,
71,
253,
105,
122,
237,
89,
161,
59,
39,
146,
213,
180,
126,
231,
230,
253,
181,
66,
225,
143,
94,
31,
80,
52,
233,
1,
171,
171,
158,
177,
0,
0,
1,
159,
0,
33,
2,
54,
105,
29,
155,
245,
118,
245,
60,
199,
4,
164,
20,
87,
51,
238,
78,
169,
121,
12,
89,
139,
110,
84,
41,
2,
202,
245,
160,
103,
161,
36,
58,
0,
0,
1,
159,
0,
33,
2,
213,
73,
215,
204,
207,
18,
169,
85,
17,
255,
130,
96,
204,
24,
64,
162,
225,
145,
234,
186,
186,
72,
104,
182,
250,
62,
83,
211,
74,
172,
42,
249,
0,
0,
1,
159,
0,
33,
3,
69,
62,
91,
239,
131,
106,
207,
154,
128,
86,
77,
199,
30,
26,
27,
204,
202,
168,
234,
30,
177,
158,
185,
215,
151,
9,
248,
161,
151,
138,
56,
134,
0,
0,
1,
159,
0,
33,
2,
210,
0,
169,
157,
54,
166,
95,
208,
120,
159,
25,
162,
235,
34,
179,
140,
39,
75,
163,
199,
66,
25,
135,
125,
42,
158,
67,
76,
113,
105,
12,
182,
0,
0,
1,
159,
0,
33,
3,
123,
141,
21,
26,
202,
204,
161,
59,
71,
89,
33,
246,
75,
187,
63,
71,
216,
100,
129,
67,
158,
16,
212,
6,
83,
4,
176,
216,
138,
66,
114,
135,
0,
0,
1,
159,
0,
33,
3,
127,
59,
164,
77,
176,
96,
228,
93,
221,
201,
97,
116,
146,
118,
22,
37,
133,
70,
181,
225,
213,
177,
255,
15,
54,
18,
201,
182,
61,
254,
216,
24,
0,
0,
1,
159,
0,
33,
2,
127,
53,
40,
44,
191,
179,
159,
22,
3,
210,
22,
247,
242,
110,
205,
175,
8,
128,
84,
223,
59,
52,
2,
200,
226,
15,
41,
150,
103,
249,
159,
39,
0,
0,
1,
159,
0,
33,
3,
124,
170,
230,
188,
126,
233,
16,
190,
82,
54,
107,
222,
216,
205,
126,
254,
164,
180,
214,
138,
6,
158,
140,
175,
167,
217,
233,
62,
81,
20,
157,
226,
0,
0,
1,
159,
0,
33,
2,
171,
218,
138,
217,
128,
137,
36,
167,
235,
28,
216,
133,
106,
87,
166,
192,
143,
68,
82,
89,
233,
176,
92,
79,
29,
237,
153,
220,
70,
252,
170,
38,
0,
0,
1,
159,
0,
33,
2,
169,
88,
231,
55,
124,
239,
155,
55,
70,
136,
119,
179,
21,
202,
165,
157,
241,
31,
195,
15,
242,
52,
42,
223,
112,
227,
139,
181,
81,
37,
197,
228,
0,
0,
1,
159,
0,
33,
3,
122,
105,
116,
93,
88,
51,
228,
192,
137,
74,
242,
243,
26,
33,
235,
136,
175,
120,
191,
247,
152,
168,
217,
236,
95,
219,
195,
22,
98,
103,
117,
69,
0,
0,
1,
159,
0,
33,
2,
48,
59,
134,
98,
222,
204,
162,
248,
106,
107,
78,
27,
162,
44,
167,
191,
83,
67,
179,
62,
207,
70,
27,
32,
43,
231,
196,
179,
76,
93,
90,
168,
0,
0,
1,
159,
0,
33,
2,
226,
231,
164,
103,
171,
40,
125,
213,
139,
7,
231,
49,
124,
213,
161,
202,
61,
205,
27,
245,
69,
230,
81,
103,
90,
151,
218,
201,
139,
149,
166,
33,
0,
0,
1,
159,
0,
33,
3,
206,
83,
169,
42,
6,
202,
209,
224,
225,
139,
215,
47,
152,
27,
241,
190,
191,
11,
75,
46,
124,
91,
115,
149,
12,
28,
42,
73,
41,
225,
7,
143,
0,
0,
1,
159,
0,
33,
2,
172,
180,
207,
226,
227,
253,
78,
127,
228,
158,
173,
112,
17,
124,
195,
29,
240,
142,
15,
137,
123,
214,
160,
49,
231,
219,
239,
43,
20,
177,
7,
39,
0,
0,
1,
159,
0,
33,
3,
208,
11,
56,
128,
142,
4,
89,
166,
124,
106,
21,
224,
250,
180,
122,
150,
19,
176,
211,
68,
110,
186,
170,
55,
150,
157,
80,
109,
14,
72,
82,
226,
0,
0,
1,
159,
0,
33,
2,
193,
38,
34,
221,
212,
204,
62,
154,
19,
6,
209,
179,
108,
229,
192,
103,
201,
183,
10,
94,
108,
125,
212,
7,
171,
236,
125,
204,
159,
186,
28,
79,
0,
0,
1,
159,
0,
33,
3,
84,
253,
243,
250,
139,
13,
203,
115,
56,
93,
141,
118,
71,
247,
174,
42,
52,
17,
24,
19,
6,
11,
69,
210,
46,
127,
65,
238,
59,
124,
156,
119,
0,
0,
1,
159,
0,
33,
3,
190,
63,
244,
28,
197,
97,
21,
164,
37,
53,
108,
139,
104,
99,
79,
23,
64,
76,
182,
27,
120,
77,
16,
242,
92,
123,
222,
182,
199,
41,
62,
70,
0,
0,
1,
159,
0,
33,
2,
158,
196,
132,
103,
221,
219,
86,
15,
171,
193,
110,
40,
4,
159,
191,
219,
190,
131,
173,
8,
56,
83,
164,
225,
209,
60,
225,
174,
48,
213,
213,
63,
0,
0,
1,
159,
0,
33,
3,
92,
224,
22,
150,
197,
61,
124,
116,
180,
118,
172,
147,
36,
197,
102,
157,
151,
251,
41,
223,
34,
171,
93,
52,
235,
212,
165,
239,
199,
228,
144,
4,
0,
0,
1,
159,
0,
33,
2,
233,
214,
230,
60,
82,
86,
199,
238,
145,
168,
168,
134,
241,
174,
167,
247,
79,
57,
213,
48,
106,
172,
251,
20,
253,
190,
220,
226,
62,
9,
113,
216,
0,
0,
1,
159,
0,
33,
2,
60,
151,
54,
54,
207,
62,
194,
203,
79,
21,
4,
20,
84,
182,
92,
232,
44,
126,
186,
249,
117,
121,
155,
89,
30,
80,
68,
43,
136,
60,
245,
159,
0,
0,
1,
159,
0,
33,
2,
12,
89,
172,
134,
48,
249,
245,
112,
135,
85,
178,
25,
165,
141,
89,
170,
165,
105,
111,
29,
38,
229,
57,
198,
104,
21,
119,
253,
18,
4,
18,
3,
0,
0,
1,
159,
0,
33,
2,
178,
227,
228,
145,
104,
81,
125,
205,
73,
250,
59,
57,
144,
38,
254,
239,
189,
175,
76,
188,
248,
173,
198,
124,
169,
89,
110,
138,
202,
245,
209,
97,
0,
0,
1,
159,
0,
33,
2,
152,
48,
34,
34,
81,
3,
136,
214,
254,
208,
228,
166,
177,
173,
181,
126,
188,
34,
114,
83,
109,
105,
226,
67,
78,
18,
130,
7,
22,
78,
176,
144,
0,
0,
1,
159,
0,
33,
2,
213,
147,
19,
184,
198,
5,
184,
66,
3,
19,
45,
186,
36,
103,
246,
143,
154,
181,
217,
104,
160,
150,
153,
59,
118,
169,
232,
82,
251,
123,
54,
45,
0,
0,
1,
159,
0,
33,
2,
176,
45,
32,
60,
131,
164,
222,
210,
165,
235,
109,
16,
10,
104,
131,
189,
161,
111,
183,
164,
208,
16,
160,
86,
120,
120,
149,
202,
10,
95,
237,
122,
0,
0,
1,
159,
0,
33,
2,
174,
216,
104,
222,
159,
35,
41,
154,
0,
64,
175,
116,
30,
217,
35,
7,
36,
252,
131,
49,
21,
55,
120,
234,
208,
115,
255,
172,
118,
73,
32,
178,
0,
0,
1,
159,
0,
33,
2,
252,
31,
30,
75,
238,
0,
137,
27,
89,
20,
176,
187,
149,
26,
244,
143,
212,
30,
145,
95,
73,
214,
185,
130,
214,
128,
95,
202,
115,
107,
101,
33,
0,
0,
1,
159,
0,
33,
3,
103,
13,
159,
140,
135,
96,
98,
217,
186,
89,
85,
75,
175,
154,
220,
59,
226,
32,
76,
20,
23,
130,
109,
13,
148,
14,
114,
163,
175,
30,
122,
181,
0,
0,
1,
159,
0,
33,
2,
5,
55,
193,
162,
233,
116,
68,
188,
190,
220,
237,
230,
169,
7,
86,
125,
38,
190,
76,
89,
37,
131,
156,
182,
254,
57,
109,
44,
182,
249,
180,
35,
0,
0,
1,
159,
0,
33,
2,
254,
255,
199,
204,
92,
57,
147,
177,
127,
121,
197,
72,
208,
64,
82,
44,
143,
2,
175,
252,
231,
248,
149,
35,
161,
64,
12,
58,
1,
229,
5,
35,
0,
0,
1,
159,
0,
33,
2,
100,
138,
66,
65,
25,
155,
132,
189,
47,
138,
72,
7,
146,
135,
131,
8,
254,
240,
185,
93,
237,
108,
215,
224,
85,
42,
58,
25,
197,
27,
87,
30,
0,
0,
1,
159,
0,
33,
3,
208,
162,
158,
18,
65,
139,
155,
177,
49,
95,
159,
7,
119,
177,
36,
221,
114,
93,
158,
126,
249,
182,
19,
47,
215,
176,
78,
219,
18,
7,
201,
220,
0,
0,
1,
159,
0,
33,
2,
241,
179,
127,
149,
108,
7,
237,
17,
200,
129,
186,
84,
81,
152,
149,
37,
0,
17,
151,
34,
236,
95,
234,
239,
132,
191,
74,
63,
176,
52,
81,
207,
0,
0,
1,
159,
0,
33,
3,
132,
220,
73,
213,
244,
165,
37,
146,
192,
71,
187,
62,
64,
118,
213,
93,
178,
197,
92,
107,
8,
94,
47,
236,
73,
146,
136,
79,
200,
201,
12,
194,
0,
0,
1,
159,
0,
33,
3,
60,
63,
221,
193,
184,
97,
172,
103,
60,
148,
169,
121,
118,
1,
6,
9,
115,
26,
237,
162,
194,
243,
255,
250,
85,
158,
24,
190,
38,
222,
207,
116,
0,
0,
1,
159,
0,
33,
3,
171,
148,
155,
96,
106,
3,
162,
94,
52,
26,
45,
41,
169,
36,
128,
242,
22,
141,
28,
81,
72,
155,
156,
72,
167,
219,
9,
187,
89,
24,
147,
109,
0,
0,
1,
159,
0,
33,
2,
69,
77,
191,
40,
89,
25,
57,
32,
76,
248,
89,
208,
25,
38,
153,
9,
7,
198,
142,
132,
84,
57,
114,
9,
6,
178,
209,
37,
72,
197,
135,
17,
0,
0,
1,
159,
0,
33,
3,
191,
123,
210,
238,
20,
43,
45,
187,
145,
204,
189,
109,
36,
110,
208,
94,
181,
143,
24,
74,
101,
184,
231,
176,
214,
155,
190,
219,
135,
88,
128,
147,
0,
0,
1,
159,
0,
33,
3,
161,
63,
186,
252,
171,
71,
24,
71,
77,
196,
15,
192,
235,
108,
105,
134,
239,
225,
180,
217,
45,
236,
205,
190,
210,
93,
204,
140,
180,
22,
204,
236,
0,
0,
1,
159,
0,
33,
3,
47,
41,
223,
35,
151,
83,
210,
252,
215,
131,
22,
120,
233,
31,
161,
147,
176,
130,
112,
85,
152,
201,
125,
251,
3,
34,
91,
100,
176,
12,
139,
195,
0,
0,
1,
159,
0,
33,
3,
146,
83,
91,
92,
178,
170,
153,
80,
195,
187,
65,
19,
58,
245,
232,
64,
129,
92,
181,
36,
229,
2,
236,
234,
9,
253,
22,
254,
57,
17,
166,
7,
0,
0,
1,
159,
0,
33,
3,
59,
184,
142,
253,
248,
177,
222,
91,
226,
93,
14,
3,
59,
132,
171,
164,
181,
75,
2,
248,
123,
48,
55,
183,
47,
76,
78,
186,
64,
79,
29,
74,
0,
0,
1,
159,
0,
33,
3,
67,
66,
220,
93,
3,
167,
227,
133,
216,
182,
186,
205,
181,
180,
132,
212,
223,
75,
76,
159,
20,
67,
173,
222,
111,
254,
54,
25,
26,
138,
232,
49,
0,
0,
1,
159,
0,
33,
2,
167,
107,
193,
71,
173,
82,
159,
177,
10,
66,
51,
29,
5,
172,
180,
205,
199,
55,
138,
180,
151,
51,
61,
36,
193,
2,
198,
74,
45,
230,
40,
231,
0,
0,
1,
159,
0,
33,
3,
161,
130,
248,
210,
141,
78,
222,
3,
185,
226,
116,
246,
88,
148,
78,
251,
229,
167,
192,
150,
114,
21,
0,
59,
13,
107,
135,
107,
197,
130,
26,
72,
0,
0,
1,
159,
0,
33,
2,
89,
132,
116,
206,
215,
170,
64,
89,
177,
35,
167,
205,
163,
196,
208,
2,
189,
145,
189,
87,
182,
103,
253,
178,
205,
189,
5,
6,
252,
2,
153,
129,
0,
0,
1,
159,
0,
33,
2,
152,
189,
34,
227,
150,
152,
192,
166,
74,
191,
66,
188,
219,
143,
229,
157,
52,
64,
81,
77,
68,
125,
139,
170,
57,
163,
33,
117,
152,
252,
228,
197,
0,
0,
1,
159,
0,
33,
3,
42,
242,
30,
105,
219,
47,
38,
54,
24,
61,
213,
238,
157,
169,
35,
203,
117,
53,
130,
161,
183,
183,
111,
74,
202,
139,
210,
52,
26,
111,
180,
117,
0,
0,
1,
159,
0,
33,
2,
255,
193,
108,
13,
111,
177,
193,
43,
91,
47,
138,
110,
47,
152,
166,
73,
28,
94,
61,
85,
11,
91,
65,
168,
60,
42,
216,
167,
27,
113,
253,
121,
0,
0,
1,
159,
0,
33,
2,
88,
83,
103,
28,
228,
25,
232,
228,
58,
109,
182,
236,
109,
0,
105,
58,
163,
43,
177,
11,
84,
62,
241,
60,
26,
65,
84,
187,
119,
176,
146,
57,
0,
0,
1,
159,
0,
33,
3,
218,
215,
19,
217,
55,
227,
9,
97,
139,
237,
34,
100,
19,
51,
14,
105,
232,
59,
133,
78,
218,
162,
107,
27,
175,
148,
224,
44,
255,
108,
194,
222,
0,
0,
1,
159,
0,
33,
3,
56,
14,
162,
153,
224,
45,
41,
21,
134,
29,
241,
62,
14,
251,
111,
158,
147,
246,
91,
11,
255,
238,
23,
78,
17,
182,
159,
90,
43,
153,
91,
248,
0,
0,
1,
159,
0,
33,
3,
24,
237,
222,
130,
207,
133,
240,
42,
77,
56,
137,
160,
116,
184,
238,
2,
114,
122,
186,
179,
76,
1,
64,
96,
23,
2,
77,
172,
101,
239,
145,
18,
0,
0,
1,
159,
0,
33,
2,
167,
103,
145,
117,
201,
183,
98,
212,
252,
148,
66,
16,
16,
103,
88,
15,
254,
161,
240,
133,
34,
74,
208,
16,
41,
1,
149,
216,
146,
246,
224,
197,
0,
0,
1,
159,
0,
33,
2,
50,
11,
248,
187,
24,
59,
22,
252,
179,
70,
111,
140,
50,
233,
194,
167,
10,
69,
248,
155,
176,
64,
164,
91,
145,
19,
202,
123,
23,
57,
26,
223,
0,
0,
1,
159,
0,
33,
2,
158,
67,
17,
170,
19,
191,
0,
84,
55,
40,
99,
213,
85,
133,
93,
225,
189,
242,
58,
193,
56,
73,
52,
76,
74,
159,
47,
228,
173,
218,
28,
178,
0,
0,
1,
159,
0,
33,
2,
251,
139,
118,
168,
210,
225,
5,
79,
170,
161,
106,
146,
90,
219,
155,
153,
120,
131,
107,
208,
20,
181,
249,
161,
163,
248,
167,
156,
59,
109,
12,
13,
0,
0,
1,
159,
0,
33,
2,
179,
11,
27,
23,
186,
126,
145,
183,
46,
126,
100,
252,
20,
213,
216,
3,
147,
4,
90,
70,
35,
182,
232,
145,
20,
123,
107,
129,
191,
205,
68,
2,
0,
0,
1,
159,
0,
33,
3,
34,
207,
24,
183,
116,
5,
218,
134,
76,
72,
30,
181,
217,
239,
118,
129,
49,
65,
118,
112,
230,
119,
23,
199,
211,
16,
123,
197,
255,
46,
4,
76,
0,
0,
1,
159,
0,
33,
2,
6,
85,
27,
165,
149,
203,
127,
166,
137,
219,
54,
65,
217,
88,
74,
104,
86,
241,
253,
165,
227,
20,
155,
197,
171,
191,
251,
158,
132,
61,
0,
211,
0,
0,
1,
159,
0,
33,
2,
127,
236,
132,
57,
219,
233,
169,
146,
140,
248,
106,
119,
246,
121,
176,
152,
106,
174,
29,
43,
221,
243,
198,
49,
50,
73,
204,
48,
163,
60,
81,
148,
0,
0,
1,
159,
0,
33,
2,
124,
175,
143,
185,
190,
177,
175,
26,
146,
53,
70,
189,
251,
174,
120,
23,
142,
171,
78,
198,
101,
105,
174,
189,
137,
37,
85,
210,
173,
110,
209,
235,
0,
0,
1,
159,
0,
33,
3,
62,
177,
36,
175,
136,
119,
49,
92,
227,
232,
86,
98,
255,
45,
54,
34,
249,
46,
75,
118,
42,
34,
220,
88,
57,
114,
59,
31,
97,
29,
24,
23,
0,
0,
1,
159,
0,
33,
3,
240,
210,
198,
194,
145,
217,
1,
7,
238,
95,
42,
28,
166,
197,
111,
132,
70,
242,
210,
101,
37,
12,
38,
250,
15,
37,
77,
97,
89,
53,
63,
56,
0,
0,
1,
159,
0,
33,
2,
226,
81,
4,
229,
9,
227,
14,
254,
38,
143,
168,
92,
135,
1,
71,
63,
178,
0,
16,
114,
161,
230,
35,
9,
254,
78,
162,
249,
151,
113,
183,
41,
0,
0,
1,
159,
0,
33,
3,
47,
249,
219,
22,
86,
201,
95,
214,
30,
253,
217,
206,
140,
110,
155,
217,
50,
24,
18,
0,
5,
108,
182,
47,
117,
98,
2,
89,
12,
223,
183,
170,
0,
0,
1,
159,
0,
33,
3,
47,
12,
197,
37,
2,
186,
101,
193,
72,
69,
69,
14,
34,
66,
167,
113,
55,
179,
210,
65,
174,
58,
56,
51,
234,
206,
74,
142,
36,
238,
83,
216,
0,
0,
1,
159,
0,
33,
2,
103,
233,
195,
209,
78,
125,
24,
184,
105,
168,
58,
248,
34,
64,
44,
96,
40,
66,
203,
137,
142,
154,
78,
46,
255,
79,
153,
188,
30,
106,
25,
254,
0,
0,
1,
159,
0,
33,
3,
67,
72,
222,
175,
160,
185,
233,
77,
20,
159,
40,
180,
34,
20,
224,
251,
203,
91,
223,
52,
254,
84,
149,
221,
217,
68,
85,
141,
251,
126,
115,
242,
0,
0,
1,
159,
0,
33,
3,
142,
114,
1,
113,
118,
180,
102,
133,
103,
221,
210,
137,
79,
144,
128,
177,
229,
79,
147,
10,
73,
85,
227,
183,
233,
42,
162,
183,
104,
206,
149,
177,
0,
0,
1,
159,
0,
33,
2,
79,
34,
213,
144,
219,
150,
75,
79,
130,
183,
53,
124,
21,
83,
93,
162,
8,
98,
36,
234,
127,
155,
90,
27,
35,
16,
53,
19,
241,
35,
31,
115,
0,
0,
1,
159,
0,
33,
3,
202,
217,
154,
86,
196,
53,
233,
162,
14,
135,
111,
42,
139,
11,
95,
51,
201,
144,
246,
60,
212,
30,
111,
139,
9,
214,
93,
24,
242,
9,
222,
126,
0,
0,
1,
159,
0,
33,
2,
124,
67,
29,
195,
135,
124,
142,
96,
12,
59,
215,
100,
25,
215,
84,
154,
198,
109,
158,
204,
39,
204,
12,
90,
35,
101,
215,
191,
78,
185,
73,
85,
0,
0,
1,
159,
0,
33,
2,
50,
240,
145,
176,
15,
69,
94,
14,
199,
83,
105,
101,
100,
246,
65,
156,
51,
191,
3,
233,
92,
51,
100,
132,
22,
121,
70,
114,
90,
192,
208,
39,
0,
0,
1,
159,
0,
33,
3,
49,
173,
136,
204,
74,
170,
59,
7,
221,
88,
215,
194,
25,
163,
143,
194,
5,
35,
92,
30,
53,
6,
0,
177,
66,
234,
29,
191,
111,
49,
29,
177,
0,
0,
1,
159,
0,
33,
2,
177,
2,
187,
219,
107,
134,
9,
220,
228,
173,
66,
78,
49,
77,
139,
61,
235,
56,
75,
197,
106,
135,
104,
193,
79,
127,
177,
22,
84,
208,
209,
124,
0,
0,
1,
159,
0,
33,
2,
141,
44,
12,
120,
204,
86,
160,
80,
193,
94,
158,
221,
123,
211,
100,
175,
118,
45,
152,
103,
238,
236,
164,
12,
72,
100,
114,
111,
5,
112,
36,
188,
0,
0,
1,
159,
0,
33,
2,
3,
195,
152,
105,
124,
4,
243,
94,
72,
222,
103,
30,
197,
65,
206,
240,
179,
214,
236,
172,
241,
64,
86,
94,
232,
128,
217,
251,
103,
105,
85,
191,
0,
0,
1,
159,
0,
33,
2,
247,
118,
191,
111,
176,
162,
96,
236,
184,
69,
79,
115,
196,
88,
15,
189,
185,
236,
244,
16,
176,
181,
176,
77,
40,
239,
192,
23,
176,
217,
50,
88,
0,
0,
1,
159,
0,
33,
3,
74,
165,
130,
252,
134,
136,
221,
48,
69,
137,
34,
27,
59,
111,
170,
28,
15,
170,
28,
226,
251,
50,
238,
181,
167,
63,
219,
140,
31,
203,
46,
188,
0,
0,
1,
159,
0,
33,
2,
222,
49,
126,
185,
207,
103,
199,
227,
53,
248,
16,
238,
234,
255,
211,
61,
111,
8,
149,
246,
213,
100,
201,
222,
45,
194,
169,
30,
24,
148,
13,
77,
0,
0,
1,
159,
0,
33,
3,
40,
47,
239,
221,
39,
4,
226,
98,
50,
249,
76,
135,
228,
240,
34,
166,
244,
180,
45,
160,
209,
51,
171,
58,
23,
178,
88,
13,
115,
215,
69,
70,
0,
0,
1,
159,
0,
33,
3,
112,
171,
211,
91,
120,
202,
58,
253,
237,
142,
203,
129,
104,
230,
168,
236,
238,
134,
39,
118,
180,
13,
24,
197,
196,
126,
17,
0,
68,
160,
235,
130,
0,
0,
1,
159,
0,
33,
2,
59,
73,
142,
221,
199,
13,
115,
132,
54,
36,
251,
74,
165,
177,
111,
36,
108,
24,
162,
164,
208,
215,
97,
88,
207,
115,
30,
137,
152,
1,
194,
88,
0,
0,
1,
159,
0,
33,
2,
55,
233,
163,
109,
130,
137,
196,
196,
103,
134,
104,
189,
115,
164,
36,
191,
140,
131,
69,
67,
143,
200,
4,
128,
13,
123,
146,
97,
77,
48,
99,
147,
0,
0,
1,
159,
0,
33,
2,
26,
137,
148,
254,
178,
38,
12,
25,
30,
106,
74,
43,
110,
5,
228,
191,
105,
237,
123,
119,
20,
104,
189,
2,
162,
99,
11,
130,
90,
231,
217,
223,
0,
0,
1,
159,
0,
33,
2,
50,
96,
99,
24,
253,
106,
250,
168,
7,
63,
233,
25,
147,
249,
69,
68,
254,
126,
83,
201,
193,
100,
131,
90,
48,
149,
2,
125,
177,
120,
251,
113,
0,
0,
1,
159,
0,
33,
2,
85,
226,
98,
198,
149,
153,
196,
236,
105,
164,
86,
92,
130,
45,
163,
255,
221,
162,
27,
7,
121,
175,
160,
1,
253,
213,
103,
246,
80,
82,
97,
251,
0,
0,
1,
159,
0,
33,
2,
72,
240,
70,
124,
172,
242,
134,
143,
124,
237,
169,
193,
176,
228,
2,
47,
142,
106,
231,
140,
182,
64,
97,
33,
60,
250,
252,
161,
65,
108,
139,
0,
0,
0,
1,
159,
0,
33,
3,
226,
43,
145,
210,
95,
58,
5,
211,
174,
30,
236,
206,
22,
19,
174,
32,
220,
206,
13,
148,
108,
219,
125,
18,
179,
196,
232,
232,
102,
14,
154,
139,
0,
0,
1,
159,
0,
33,
2,
49,
22,
201,
133,
149,
45,
178,
104,
121,
14,
31,
105,
21,
171,
114,
131,
225,
101,
67,
152,
115,
239,
244,
178,
143,
0,
26,
145,
8,
28,
112,
105,
0,
0,
1,
159,
0,
33,
3,
201,
67,
162,
91,
136,
90,
82,
97,
0,
91,
58,
55,
39,
26,
35,
202,
231,
137,
234,
229,
185,
74,
117,
174,
230,
253,
245,
27,
177,
222,
211,
78,
0,
0,
1,
159,
0,
33,
2,
245,
103,
211,
63,
170,
116,
114,
183,
174,
6,
35,
154,
210,
42,
43,
64,
131,
37,
230,
65,
107,
17,
150,
40,
176,
27,
8,
80,
248,
215,
29,
149,
0,
0,
1,
159,
0,
33,
3,
136,
165,
10,
118,
234,
4,
34,
156,
5,
184,
94,
210,
128,
123,
108,
86,
120,
123,
136,
213,
246,
141,
248,
211,
183,
55,
178,
240,
223,
22,
100,
155,
0,
0,
1,
159,
0,
33,
3,
32,
54,
79,
13,
36,
102,
27,
24,
227,
42,
220,
7,
105,
46,
87,
255,
205,
24,
5,
167,
60,
193,
41,
71,
74,
36,
108,
222,
211,
230,
9,
116,
0,
0,
1,
159,
0,
33,
3,
233,
110,
108,
109,
35,
153,
221,
150,
196,
243,
47,
173,
16,
30,
19,
160,
210,
142,
23,
249,
230,
214,
9,
130,
73,
153,
140,
138,
110,
76,
64,
16,
0,
0,
1,
159,
0,
33,
2,
16,
13,
131,
40,
171,
161,
102,
170,
27,
238,
6,
191,
194,
166,
28,
126,
73,
181,
179,
94,
172,
196,
124,
199,
86,
120,
121,
211,
39,
95,
81,
67,
0,
0,
1,
159,
0,
33,
2,
255,
52,
99,
253,
94,
94,
238,
60,
88,
104,
242,
127,
221,
38,
191,
48,
102,
37,
255,
160,
183,
73,
193,
109,
231,
4,
121,
56,
120,
175,
201,
72,
0,
0,
1,
159,
0,
33,
2,
190,
21,
176,
179,
169,
150,
29,
14,
15,
93,
209,
149,
127,
196,
240,
164,
176,
37,
212,
5,
21,
243,
251,
5,
153,
142,
146,
119,
243,
240,
112,
76,
0,
0,
1,
159,
0,
33,
2,
194,
231,
87,
170,
200,
227,
160,
151,
13,
143,
151,
169,
4,
213,
82,
116,
49,
244,
216,
238,
155,
23,
28,
43,
222,
77,
222,
138,
109,
51,
196,
5
]

@kawanet
Copy link
Owner

kawanet commented Aug 4, 2023

@lauhon
Let me clarify the issue.
Are you encoding an Array filled with integer numbers but not a Buffer object or an Uint8Array?

encode(new Array(165, 190, 64, 103, 149, 183, 100, 22)).length
// => 13

encode(Buffer.from([165, 190, 64, 103, 149, 183, 100, 22])).length
// => 10

encode(new Uint8Array([165, 190, 64, 103, 149, 183, 100, 22])).length
// => 10

If you are encoding an instance of a Class inherited from others, but not a bare object such as above, you may need something to encode it.

@lauhon
Copy link
Author

lauhon commented Aug 4, 2023

Hey @kawanet, thanks for coming back to this so quickly!

So this time I used a new object of type Buffer.

buffer.length // -> 5196
Buffer.isBuffer(buffer) // -> true

I tried three things basically:

  1. encode a Buffer Object directly
encode(buffer).length // -> 5199
  1. encode a Uint8Array by passing the Buffer in the constructor
encode(new Uint8Array(buffer)).length // -> 5200
  1. encode a Uint8Array by transforming the Buffer to Array manually
encode(buffToArr(buffer)).length //-> 5200

const buffToArr = (buf: Buffer): Uint8Array => {
  var a = new Uint8Array(buf.length);
  for (var i = 0; i < buf.length; i++) a[i] = buf[i];

  return a;
};


@kawanet
Copy link
Owner

kawanet commented Aug 4, 2023

Thanks! I could understand that you're encoding a Buffer instance or Uint8Array. What is the problem you face then?
Any msgpack libraries do not have compression feature such as Deflate/gzip etc., by themselves.

@lauhon
Copy link
Author

lauhon commented Aug 4, 2023

Hm, maybe my expectations were off.

When trying out msgpack on the demo site, the size of the resulting array of bytes is smaller, as I said in my original comment.

So what you are saying is I need to look into something different like pako?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants