Front page | perl.perl5.porters |
Postings from March 2007
Getting rid of old Math::Big* baggage
Thread Next
From:
Tels
Date:
March 4, 2007 12:55
Subject:
Getting rid of old Math::Big* baggage
Message ID:
200703042154.18658@bloodgate.com
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Moin,
I consider doing away with the following packages, for the reasons outlined
below. If anybody wants to preserve them, send me an email and I make you
co-maintainer. Otherwise the will vanish.
* Math::BigInt::BitVect
This is one of the libraries you can use to replace Calc/FastCalc with, and
make math with big/huge numbers go faster. This package was more a proof of
concept to show Steffen Beyer that it can be done.
However, it suffers from the problem that Bit::Vector objects have a
pre-defined bit-width, while BigInt needs arbitrarily big objects. The
constant resizing of the objects eats up a lot of speed, and in addition
Bit::Vector does not have optimized routines for a lot of operations (some
are absent, some are just not that fast). GMP beats it hands down.
In addition, Bit::Vector hasn't been updated since 2004, and
Math::BigInt::BitVect never was updated by me, so it will not work with any
Math::BigInt newer than 1.69. v1.70 was released 2004-03-12, and since this
module has been broken. And nobody cared or took notice.
=> marked for Deletion
* Math::BigInt::Pari
This module was another proof-of-concept, and it worked ok. Except that it
lately hasn't been updated, it takes more memory than the GMP module, and
is slower. Would need to benchmark it, but I believe it is slower for small
operations, and also not as optimized as GMP.
This module might be kept around, but then, things would be simplier if
users wouldn't have to decide between two math libs.
=> marked for NeedsSomeLove
* Math::BigInt::Lite
This was some largely failed attempt to write a BigInt class that is faster
for very small numbers. It surely adds 1+1 faster, if it works. The status
is a it unclear, but I believe this package has been broken for some years
now. You couldn't use it as BigInt replacement as it morphs it's own object
class, and youcan't use it inside BigFloat, notably because this got broken
somewhere along the way.
=> marked for Deletion
* Math::BigInt::Named
I updated this module recently, but nobody seems to have used it in the last
3 years. It is really only half-way implemented (English name() and German
name() work, but from_name() is a no-op, and the other languages are simple
not there).
=> marked for NoIdeaProbablyDelete
So, has any body got interest in raising some zombies?
If not, I will also purge references to these modules from the doc of
BigInt/BigFloat/BigRat.
All the best,
Tels
- --
Signed on Sun Mar 4 21:42:37 2007 with key 0x93B84C15.
View my photo gallery: http://bloodgate.com/photos
PGP key on http://bloodgate.com/tels.asc or per email.
"Hi, hi, hitotai, space taxi to the sky"
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (GNU/Linux)
iQEVAwUBRetACncLPEOTuEwVAQIMpAf9EN8x+JwnV/cZXdJY32DMimii0PfkrJ3S
bv4e8ihzhSumEPFMZ5Zs9rCRSXwRshCVQ1KxVJ/meI1HJTvwE5geHHMHeCMg6WH1
RmuZeV/mczEp3BpynhA1rhrjNhhuFmDSdcmCnOtx1gBvnDzhWBs4+PC/ld1TIpeg
NRpBs4RY+yOuPSADFzI4sbjWglJLX8/5V9+2NwyLVLibtu1LriONaUWeoOO9i/Ed
f6aTivt/wEuIe4n9Z7iOJNfkv1K8drQ32nkgbrnTIwfAmz4Uuk2UVvVNDNZi8kjv
Lga8YO0ZwXrtnIum/ghaIOCopv87yJvD7sDSWYfDO6UBBcqPeZRJPg==
=mPpc
-----END PGP SIGNATURE-----
Thread Next
-
Getting rid of old Math::Big* baggage
by Tels