1 |
|
---|
2 | Name: Memoize
|
---|
3 | What: Transparently speed up functions by caching return values.
|
---|
4 | Version: 1.00
|
---|
5 | Author: Mark-Jason Dominus (mjd-perl-memoize+@plover.com)
|
---|
6 |
|
---|
7 | ################################################################
|
---|
8 |
|
---|
9 | How to build me:
|
---|
10 |
|
---|
11 | perl Makefile.PL
|
---|
12 | make
|
---|
13 | make test
|
---|
14 |
|
---|
15 | There's a very small chance that the tests in speed.t and
|
---|
16 | expire_module_t.t might fail because of clock skew or bizarre system
|
---|
17 | load conditions. If the tests there fail, rerun them and see if the
|
---|
18 | problem persists.
|
---|
19 |
|
---|
20 | If the tests work,
|
---|
21 |
|
---|
22 | make install
|
---|
23 |
|
---|
24 | If not, please send me a report that mentions which tests failed.
|
---|
25 | The address is: mjd-perl-memoize+@plover.com.
|
---|
26 |
|
---|
27 | ################################################################
|
---|
28 | What's new since 0.66:
|
---|
29 |
|
---|
30 | Minor documentation and test changes only.
|
---|
31 |
|
---|
32 | ################################################################
|
---|
33 | What's new since 0.65:
|
---|
34 |
|
---|
35 | Test changes only.
|
---|
36 |
|
---|
37 | 0.62 was the fist version that would be distributed with Perl.
|
---|
38 | I got so absorbed in integrating it that I wrote some tests
|
---|
39 | that used Time::HiRes. I knew this was safe because
|
---|
40 | Time::HiRes is also distributed with the same versions of
|
---|
41 | Perl. I totally forgot that some people will get the module
|
---|
42 | off of CPAN without Perl and they may not have TIme::HiRes.
|
---|
43 | Sorry!
|
---|
44 |
|
---|
45 | ################################################################
|
---|
46 | What's new since 0.62:
|
---|
47 |
|
---|
48 |
|
---|
49 | N O T I C E !
|
---|
50 |
|
---|
51 | ****************************************************************
|
---|
52 | ** **
|
---|
53 | ** The TIE option is now strongly deprecated. It will be **
|
---|
54 | ** permanently removed in the NEXT release of Memoize. **
|
---|
55 | ** Please convert all extant software to use HASH instead. **
|
---|
56 | ** **
|
---|
57 | ** See the manual for details. **
|
---|
58 | ** **
|
---|
59 | ****************************************************************
|
---|
60 |
|
---|
61 | I'm sorry about this. I hate making incompatible changes. But as of
|
---|
62 | v0.65, Memoize is included in the Perl core. It is about to become
|
---|
63 | much more difficult to make incompatible interface changes; if I don't
|
---|
64 | get rid of TIE now, I may not get another chance.
|
---|
65 |
|
---|
66 | TIE presented serious problems. First, it had a bizarre syntax. But
|
---|
67 | the big problem was that it was difficult and complicated for
|
---|
68 | expiration manager authors to support; evern expiration manager had to
|
---|
69 | duplicate the logic for handling TIE. HASH is much simpler to use,
|
---|
70 | more powerful, and is trivial for expiration managers to support.
|
---|
71 |
|
---|
72 | Many long-awaited cleanups and bug fixes.
|
---|
73 |
|
---|
74 | Memoize now works under threaded perl
|
---|
75 |
|
---|
76 | Slow tests speeded up. More test file improvements.
|
---|
77 |
|
---|
78 | Long-standing LIST_CACHE bug cleared up---it turns out that there
|
---|
79 | never was a bug. I put in tests for it anyway.
|
---|
80 |
|
---|
81 | Manual increased.
|
---|
82 |
|
---|