1 | Revision history for Perl extension Convert::UUlib. |
1 | Revision history for Perl extension Convert::UUlib. |
2 | |
2 | |
3 | _FP_gets still 70% of scan time. decode time: 24% _FP_gets, uulib_crc32 23%, UUValidData 11% |
3 | TODO: biggest timesinks: FP_fgets/getc_unlocked overall, UUInsertPartToList dominates large loads due to O(n**2) search |
4 | |
4 | |
|
|
5 | 04:59:03 <kentnl> schmorp: you may want to change the description on Convert-UUlib, because your bundled copy |
|
|
6 | is now better maintained and has fewer security risks than upstreams :p |
|
|
7 | 04:59:49 <kentnl> to the point I've been humoring the idea of cribbing its code and shipping it as a |
|
|
8 | replacement for other things currently using the original uulib |
|
|
9 | 06:51:00 <schmorp> kentnl: well, hmm, but change it to what, it still is an interface to "a" uulib library at |
|
|
10 | least |
|
|
11 | 06:52:26 <kentnl> Maybe "Convert to/from uuencoded data in C" or something like that. |
|
|
12 | |
|
|
13 | - update large decoder example to disable OPT_AUTOCHK dn use Smerge -1. |
|
|
14 | - many micro-optimisations. |
|
|
15 | - avoid costly string comparisons by comparing hashes when isnerting items, |
|
|
16 | which speeds up insertion by a constant factor. |
|
|
17 | - improve uulist structure layout. |
|
|
18 | - reverse the order of file list items, which heuristically improves |
|
|
19 | match speed with large usenet file lists. |
|
|
20 | - use getc instead of fgetc. |
|
|
21 | - clean up FP _symbol names. |
|
|
22 | - use feof_unlocked and ferror_unlocked. |
|
|
23 | - implement a faster ascii-only strnicmp. |
|
|
24 | - misc very minor code improvements. |
|
|
25 | - remove quite a bit of pre-posix/dos/etc. cruft. |
|
|
26 | - use flockfile, if avaiolable, for a potential but small |
|
|
27 | speed gain. |
|
|
28 | |
|
|
29 | 1.71 Tue Mar 17 00:54:06 CET 2020 |
|
|
30 | - backport to c89 (patch by Paul Howarth). |
|
|
31 | |
|
|
32 | 1.7 Sat Feb 29 22:07:54 CET 2020 |
|
|
33 | - new function: GetFileList. |
|
|
34 | - experimental perlmulticore support (see manpage). |
|
|
35 | - Initialize is now a NOP and CleanUp automatically initializes again. |
|
|
36 | - updated example decoder and documentation a bit. |
5 | - include ecb.h to deal with compiler builtins and endianness. |
37 | - include ecb.h to deal with compiler builtins and endianness. |
|
|
38 | - some further µ-optimisations in hot code, especially for yEnc. |
6 | - replace crc32 function by slice-by-16 version by Stephan Brumme, |
39 | - replace crc32 function by slice-by-16 version by Stephan Brumme, |
7 | which should speed up yEnc en-/decoding. |
40 | which should speed up yEnc en-/decoding. |
8 | - some further µ-optimisations in hot code, especially for yEnc. |
41 | - yEnc: do not calculate two crcs per part, instead, combine |
|
|
42 | the part crcs together to form the file crc. |
9 | - yEnc: allow pcrc= in addition to pcrc32= for yenc trailers, as |
43 | - yEnc: allow pcrc= in addition to pcrc32= for yenc trailers, as |
10 | some draft mentions both and it is actually in active use. |
44 | some draft mentions both and it is actually in active use. |
11 | - yEnc: ignore crc32= on multiparts, except on the last part. |
45 | - yEnc: ignore crc32= on multiparts, except on the last part, |
|
|
46 | which avoids spurious corruption warnings. |
12 | - be more precise in documenting code licenses in COPYING. |
47 | - be more precise in documenting code licenses in COPYING. |
|
|
48 | - convert constant creation to the method I normally use. |
|
|
49 | - use common::sense. |
13 | |
50 | |
14 | 1.62 Mon Feb 17 23:19:42 CET 2020 |
51 | 1.62 Mon Feb 17 23:19:42 CET 2020 |
15 | - major performance improvement by simplifying code in _FP_gets |
52 | - major performance improvement by simplifying code in _FP_gets |
16 | to not use fscanf. This might slow things down on platforms |
53 | to not use fscanf. This might slow things down on platforms |
17 | with very slow fgetc. |
54 | with very slow fgetc. |