I was reading something quite interesting here.
http://blogs.sun.com/rie/entry/tt_dependencies_tt_define_what
It is written with Solaris in mind, but basically says that linking to
unnecessary libraries is is a way to slow down code. So I decided to use the
method it suggests, and see what items in Sage link to things they don't need
to. The list below is the binaries in local/bin. If it says "unused" after them,
it means there's a library linked that is not used:
The worst offenders are ecl (3 unnecessary libraries), TSingular (2 unnecessary
libraries), ESingular (2 unnecessary libraries). Most things do not link to
anything they don't need, but there's several items that link to one unnecessary
library.
The script to generate this information, which I is probably Solaris-specific,
is:
#!/bin/sh
for i in `ls`
do
if [ "x`file $i | grep 32-bit `" != x ] ; then
echo $i
ldd -u -r $i | grep unused
fi
done
Note, in the case of scripts, which call binaries elsewhere, these are not
listed. These are only 32-bit executable in local/bin - not shell scripts.
Here's the binaries:
adjacency
adjacency_gmp
allfaces
allfaces_gmp
allisog
annotate
bunzip2
bzcat
bzip2
bzip2recover
cdd_both_reps
cdd_both_reps_gmp
certtool
change_cost
class.x
conductor
cu2
cubex
cws.x
dikcube
dumpsexp
unused object=/lib/libsocket.so.1
ecl
unused object=/lib/libintl.so.1
unused object=/lib/libpthread.so.1
unused object=/lib/librt.so.1
ecm
ESingular
unused object=/export/home/drkirkby/sage-4.6.alpha0/local/lib//libntl.so
unused
object=/export/home/drkirkby/sage-4.6.alpha0/local/lib//libreadline.so.6
f2c
findinf
fourier
fourier_gmp
fplll
fplll_micro
fplll_verbose
gd2copypal
gd2togif
gd2topng
gdcmpgif
gdparttopng
gdtopng
gen_test
generate
genus2reduction
gfan
gfan_buchberger
gfan_doesidealcontain
gfan_fancommonrefinement
gfan_fanlink
gfan_fanproduct
gfan_groebnercone
gfan_homogeneityspace
gfan_homogenize
gfan_initialforms
gfan_interactive
gfan_ismarkedgroebnerbasis
gfan_krulldimension
gfan_latticeideal
gfan_leadingterms
gfan_markpolynomialset
gfan_minkowskisum
gfan_minors
gfan_polynomialsetunion
gfan_render
gfan_renderstaircase
gfan_saturation
gfan_secondaryfan
gfan_stats
gfan_substitute
gfan_tolatex
gfan_topolyhedralfan
gfan_tropicalbasis
gfan_tropicalbruteforce
gfan_tropicalevaluation
gfan_tropicalfunction
gfan_tropicalhypersurface
gfan_tropicalintersection
gfan_tropicallifting
gfan_tropicallinearspace
gfan_tropicalmultiplicity
gfan_tropicalrank
gfan_tropicalstartingcone
gfan_tropicaltraverse
gfan_tropicalweildivisor
giftogd2
glpsol
gnutls-cli
gnutls-cli-debug
gnutls-serv
gp
gpg-error
gsl-histogram
gsl-randist
hmac256
unused object=/lib/libsocket.so.1
iconv
indep
lcalc
unused object=/export/home/drkirkby/sage-4.6.alpha0/local/lib//libgmp.so.3
lcdd
lcdd_gmp
libparse
unused object=/usr/local/gcc-4.5.0/lib/libstdc++.so.6
LLL
llldiff
mcube
mwrank
nef.x
optimal
pngtogd
pngtogd2
poly.x
projection
projection_gmp
psktool
unused
object=/export/home/drkirkby/sage-4.6.alpha0/local/lib//libgnutls-extra.so.26
python
unused object=/lib/libsocket.so.1
python2.6
unused object=/lib/libsocket.so.1
QuadraticSieve
ratpoint
redcheck
redcheck_gmp
Rscript
sage_pari
sage.bin
unused object=/lib/libsocket.so.1
scdd
scdd_gmp
Singular-3-1-1
size222
solve_IP
sqlite3
srptool
unused
object=/export/home/drkirkby/sage-4.6.alpha0/local/lib//libgnutls-extra.so.26
tachyon
tate
tconic
testcdd1
testcdd1_gmp
testcdd2
testcdd2_gmp
testlp1
testlp1_gmp
testlp2
testlp2_gmp
testlp3
testlp3_gmp
testshoot
testshoot_gmp
toric_ideal
torsion
TSingular
unused object=/export/home/drkirkby/sage-4.6.alpha0/local/lib//libntl.so
unused
object=/export/home/drkirkby/sage-4.6.alpha0/local/lib//libreadline.so.6
twist
webpng
dave
--
To post to this group, send an email to [email protected]
To unsubscribe from this group, send an email to
[email protected]
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org