Skip to content

Commit f71f4ef

Browse files
Merge pull request #62 from bugsweeper/patch-1
Optimization of hex_format_byte
2 parents eaecf30 + bb6495a commit f71f4ef

File tree

1 file changed

+18
-258
lines changed

1 file changed

+18
-258
lines changed

src/common/mod.rs

+18-258
Original file line numberDiff line numberDiff line change
@@ -132,264 +132,24 @@ fn get_set_format_callback(format: BytesFormat, set_format: UseStateSetter<Bytes
132132
})
133133
}
134134

135+
static BYTE_HEX_STR_ARRAY: [&str; 256] = [
136+
"00", "01", "02", "03", "04", "05", "06", "07", "08", "09", "0a", "0b", "0c", "0d", "0e", "0f", "10", "11", "12",
137+
"13", "14", "15", "16", "17", "18", "19", "1a", "1b", "1c", "1d", "1e", "1f", "20", "21", "22", "23", "24", "25",
138+
"26", "27", "28", "29", "2a", "2b", "2c", "2d", "2e", "2f", "30", "31", "32", "33", "34", "35", "36", "37", "38",
139+
"39", "3a", "3b", "3c", "3d", "3e", "3f", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "4a", "4b",
140+
"4c", "4d", "4e", "4f", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "5a", "5b", "5c", "5d", "5e",
141+
"5f", "60", "61", "62", "63", "64", "65", "66", "67", "68", "69", "6a", "6b", "6c", "6d", "6e", "6f", "70", "71",
142+
"72", "73", "74", "75", "76", "77", "78", "79", "7a", "7b", "7c", "7d", "7e", "7f", "80", "81", "82", "83", "84",
143+
"85", "86", "87", "88", "89", "8a", "8b", "8c", "8d", "8e", "8f", "90", "91", "92", "93", "94", "95", "96", "97",
144+
"98", "99", "9a", "9b", "9c", "9d", "9e", "9f", "a0", "a1", "a2", "a3", "a4", "a5", "a6", "a7", "a8", "a9", "aa",
145+
"ab", "ac", "ad", "ae", "af", "b0", "b1", "b2", "b3", "b4", "b5", "b6", "b7", "b8", "b9", "ba", "bb", "bc", "bd",
146+
"be", "bf", "c0", "c1", "c2", "c3", "c4", "c5", "c6", "c7", "c8", "c9", "ca", "cb", "cc", "cd", "ce", "cf", "d0",
147+
"d1", "d2", "d3", "d4", "d5", "d6", "d7", "d8", "d9", "da", "db", "dc", "dd", "de", "df", "e0", "e1", "e2", "e3",
148+
"e4", "e5", "e6", "e7", "e8", "e9", "ea", "eb", "ec", "ed", "ee", "ef", "f0", "f1", "f2", "f3", "f4", "f5", "f6",
149+
"f7", "f8", "f9", "fa", "fb", "fc", "fd", "fe", "ff",
150+
];
151+
135152
// oPtImIzAtIoN
136153
pub fn hex_format_byte(byte: u8) -> &'static str {
137-
match byte {
138-
0 => "00",
139-
1 => "01",
140-
2 => "02",
141-
3 => "03",
142-
4 => "04",
143-
5 => "05",
144-
6 => "06",
145-
7 => "07",
146-
8 => "08",
147-
9 => "09",
148-
10 => "0a",
149-
11 => "0b",
150-
12 => "0c",
151-
13 => "0d",
152-
14 => "0e",
153-
15 => "0f",
154-
16 => "10",
155-
17 => "11",
156-
18 => "12",
157-
19 => "13",
158-
20 => "14",
159-
21 => "15",
160-
22 => "16",
161-
23 => "17",
162-
24 => "18",
163-
25 => "19",
164-
26 => "1a",
165-
27 => "1b",
166-
28 => "1c",
167-
29 => "1d",
168-
30 => "1e",
169-
31 => "1f",
170-
32 => "20",
171-
33 => "21",
172-
34 => "22",
173-
35 => "23",
174-
36 => "24",
175-
37 => "25",
176-
38 => "26",
177-
39 => "27",
178-
40 => "28",
179-
41 => "29",
180-
42 => "2a",
181-
43 => "2b",
182-
44 => "2c",
183-
45 => "2d",
184-
46 => "2e",
185-
47 => "2f",
186-
48 => "30",
187-
49 => "31",
188-
50 => "32",
189-
51 => "33",
190-
52 => "34",
191-
53 => "35",
192-
54 => "36",
193-
55 => "37",
194-
56 => "38",
195-
57 => "39",
196-
58 => "3a",
197-
59 => "3b",
198-
60 => "3c",
199-
61 => "3d",
200-
62 => "3e",
201-
63 => "3f",
202-
64 => "40",
203-
65 => "41",
204-
66 => "42",
205-
67 => "43",
206-
68 => "44",
207-
69 => "45",
208-
70 => "46",
209-
71 => "47",
210-
72 => "48",
211-
73 => "49",
212-
74 => "4a",
213-
75 => "4b",
214-
76 => "4c",
215-
77 => "4d",
216-
78 => "4e",
217-
79 => "4f",
218-
80 => "50",
219-
81 => "51",
220-
82 => "52",
221-
83 => "53",
222-
84 => "54",
223-
85 => "55",
224-
86 => "56",
225-
87 => "57",
226-
88 => "58",
227-
89 => "59",
228-
90 => "5a",
229-
91 => "5b",
230-
92 => "5c",
231-
93 => "5d",
232-
94 => "5e",
233-
95 => "5f",
234-
96 => "60",
235-
97 => "61",
236-
98 => "62",
237-
99 => "63",
238-
100 => "64",
239-
101 => "65",
240-
102 => "66",
241-
103 => "67",
242-
104 => "68",
243-
105 => "69",
244-
106 => "6a",
245-
107 => "6b",
246-
108 => "6c",
247-
109 => "6d",
248-
110 => "6e",
249-
111 => "6f",
250-
112 => "70",
251-
113 => "71",
252-
114 => "72",
253-
115 => "73",
254-
116 => "74",
255-
117 => "75",
256-
118 => "76",
257-
119 => "77",
258-
120 => "78",
259-
121 => "79",
260-
122 => "7a",
261-
123 => "7b",
262-
124 => "7c",
263-
125 => "7d",
264-
126 => "7e",
265-
127 => "7f",
266-
128 => "80",
267-
129 => "81",
268-
130 => "82",
269-
131 => "83",
270-
132 => "84",
271-
133 => "85",
272-
134 => "86",
273-
135 => "87",
274-
136 => "88",
275-
137 => "89",
276-
138 => "8a",
277-
139 => "8b",
278-
140 => "8c",
279-
141 => "8d",
280-
142 => "8e",
281-
143 => "8f",
282-
144 => "90",
283-
145 => "91",
284-
146 => "92",
285-
147 => "93",
286-
148 => "94",
287-
149 => "95",
288-
150 => "96",
289-
151 => "97",
290-
152 => "98",
291-
153 => "99",
292-
154 => "9a",
293-
155 => "9b",
294-
156 => "9c",
295-
157 => "9d",
296-
158 => "9e",
297-
159 => "9f",
298-
160 => "a0",
299-
161 => "a1",
300-
162 => "a2",
301-
163 => "a3",
302-
164 => "a4",
303-
165 => "a5",
304-
166 => "a6",
305-
167 => "a7",
306-
168 => "a8",
307-
169 => "a9",
308-
170 => "aa",
309-
171 => "ab",
310-
172 => "ac",
311-
173 => "ad",
312-
174 => "ae",
313-
175 => "af",
314-
176 => "b0",
315-
177 => "b1",
316-
178 => "b2",
317-
179 => "b3",
318-
180 => "b4",
319-
181 => "b5",
320-
182 => "b6",
321-
183 => "b7",
322-
184 => "b8",
323-
185 => "b9",
324-
186 => "ba",
325-
187 => "bb",
326-
188 => "bc",
327-
189 => "bd",
328-
190 => "be",
329-
191 => "bf",
330-
192 => "c0",
331-
193 => "c1",
332-
194 => "c2",
333-
195 => "c3",
334-
196 => "c4",
335-
197 => "c5",
336-
198 => "c6",
337-
199 => "c7",
338-
200 => "c8",
339-
201 => "c9",
340-
202 => "ca",
341-
203 => "cb",
342-
204 => "cc",
343-
205 => "cd",
344-
206 => "ce",
345-
207 => "cf",
346-
208 => "d0",
347-
209 => "d1",
348-
210 => "d2",
349-
211 => "d3",
350-
212 => "d4",
351-
213 => "d5",
352-
214 => "d6",
353-
215 => "d7",
354-
216 => "d8",
355-
217 => "d9",
356-
218 => "da",
357-
219 => "db",
358-
220 => "dc",
359-
221 => "dd",
360-
222 => "de",
361-
223 => "df",
362-
224 => "e0",
363-
225 => "e1",
364-
226 => "e2",
365-
227 => "e3",
366-
228 => "e4",
367-
229 => "e5",
368-
230 => "e6",
369-
231 => "e7",
370-
232 => "e8",
371-
233 => "e9",
372-
234 => "ea",
373-
235 => "eb",
374-
236 => "ec",
375-
237 => "ed",
376-
238 => "ee",
377-
239 => "ef",
378-
240 => "f0",
379-
241 => "f1",
380-
242 => "f2",
381-
243 => "f3",
382-
244 => "f4",
383-
245 => "f5",
384-
246 => "f6",
385-
247 => "f7",
386-
248 => "f8",
387-
249 => "f9",
388-
250 => "fa",
389-
251 => "fb",
390-
252 => "fc",
391-
253 => "fd",
392-
254 => "fe",
393-
255 => "ff",
394-
}
154+
BYTE_HEX_STR_ARRAY[byte as usize]
395155
}

0 commit comments

Comments
 (0)