|
|
Warp wrote:
>
> Dennis Clarke <dcl### [at] interlogcom> wrote:
> : There must
> : be a way to get POV-Ray to run a little faster. What about a compile for the
> : Sparc V9a processor? A completely 64bit binary. Would that make any real
> : difference or just create a really large binary file.
>
> According to my tests (I haven't tested too extensively, though), compiling
> povray to the V9 processor (with "cc -fast -xarch=v9") gives a 5-10% of speed
> increase compared to an optimized gcc compile.
> As you guessed, the binary gets huge.
Well, I tried that but got this ...
$ pwd
/export/home/dclarke/pgm/c/povray/source/workshop/povray31/source
$ cd libpng
$ make clean
rm -f *.o libpng.a pngtest pngout.png
$ make libpng.a
cc -fast -xarch=v9 -I../zlib -O -c png.c
cc -fast -xarch=v9 -I../zlib -O -c pngset.c
cc -fast -xarch=v9 -I../zlib -O -c pngget.c
cc -fast -xarch=v9 -I../zlib -O -c pngrutil.c
cc -fast -xarch=v9 -I../zlib -O -c pngtrans.c
cc -fast -xarch=v9 -I../zlib -O -c pngwutil.c
cc -fast -xarch=v9 -I../zlib -O -c pngread.c
cc -fast -xarch=v9 -I../zlib -O -c pngrio.c
cc -fast -xarch=v9 -I../zlib -O -c pngwio.c
cc -fast -xarch=v9 -I../zlib -O -c pngwrite.c
cc -fast -xarch=v9 -I../zlib -O -c pngrtran.c
cc -fast -xarch=v9 -I../zlib -O -c pngwtran.c
cc -fast -xarch=v9 -I../zlib -O -c pngmem.c
cc -fast -xarch=v9 -I../zlib -O -c pngerror.c
cc -fast -xarch=v9 -I../zlib -O -c pngpread.c
ar rc libpng.a png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o pngrea
d.o pngrio.o pngwio.o pngwrite.o pngrtran.o pngwtran.o pngmem.o pngerror.o pngp
read.o
ranlib libpng.a
$ cd ../zlib
$ make clean
rm -f *.o *~ example minigzip libz.a libz.so* foo.gz so_locations \
_match.s maketree
$ make libz.a
cc -fast -xarch=v9 -c adler32.c
cc -fast -xarch=v9 -c compress.c
cc -fast -xarch=v9 -c crc32.c
cc -fast -xarch=v9 -c gzio.c
cc -fast -xarch=v9 -c uncompr.c
cc -fast -xarch=v9 -c deflate.c
cc -fast -xarch=v9 -c trees.c
cc -fast -xarch=v9 -c zutil.c
cc -fast -xarch=v9 -c inflate.c
cc -fast -xarch=v9 -c infblock.c
cc -fast -xarch=v9 -c inftrees.c
cc -fast -xarch=v9 -c infcodes.c
cc -fast -xarch=v9 -c infutil.c
cc -fast -xarch=v9 -c inffast.c
ar rc libz.a adler32.o compress.o crc32.o gzio.o uncompr.o deflate.o trees.o zu
til.o inflate.o infblock.o inftrees.o infcodes.o infutil.o inffast.o
$ cd ../unix
$ make newunix
cc -fast -xarch=v9 -c -DCOMPILER_VER=\".`uname`.cc\" -DPOV_LIB_DIR=\"/usr/local/
lib/povray31\" -I. -I.. -I../libpng -I../zlib ../atmosph.c
cc -fast -xarch=v9 -c -DCOMPILER_VER=\".`uname`.cc\" -DPOV_LIB_DIR=\"/usr/local/
lib/povray31\" -I. -I.. -I../libpng -I../zlib ../bbox.c
cc -fast -xarch=v9 -c -DCOMPILER_VER=\".`uname`.cc\" -DPOV_LIB_DIR=\"/usr/local/
lib/povray31\" -I. -I.. -I../libpng -I../zlib ../bcyl.c
cc -fast -xarch=v9 -c -DCOMPILER_VER=\".`uname`.cc\" -DPOV_LIB_DIR=\"/usr/local/
lib/povray31\" -I. -I.. -I../libpng -I../zlib ../bezier.c
cc -fast -xarch=v9 -c -DCOMPILER_VER=\".`uname`.cc\" -DPOV_LIB_DIR=\"/usr/local/
lib/povray31\" -I. -I.. -I../libpng -I../zlib ../blob.c
cc -fast -xarch=v9 -c -DCOMPILER_VER=\".`uname`.cc\" -DPOV_LIB_DIR=\"/usr/local/
lib/povray31\" -I. -I.. -I../libpng -I../zlib ../boxes.c
cc -fast -xarch=v9 -c -DCOMPILER_VER=\".`uname`.cc\" -DPOV_LIB_DIR=\"/usr/local/
lib/povray31\" -I. -I.. -I../libpng -I../zlib ../bsphere.c
cc -fast -xarch=v9 -c -DCOMPILER_VER=\".`uname`.cc\" -DPOV_LIB_DIR=\"/usr/local/
lib/povray31\" -I. -I.. -I../libpng -I../zlib ../camera.c
cc -fast -xarch=v9 -c -DCOMPILER_VER=\".`uname`.cc\" -DPOV_LIB_DIR=\"/usr/local/
lib/povray31\" -I. -I.. -I../libpng -I../zlib ../chi2.c
cc -fast -xarch=v9 -c -DCOMPILER_VER=\".`uname`.cc\" -DPOV_LIB_DIR=\"/usr/local/
lib/povray31\" -I. -I.. -I../libpng -I../zlib ../colour.c
cc -fast -xarch=v9 -c -DCOMPILER_VER=\".`uname`.cc\" -DPOV_LIB_DIR=\"/usr/local/
lib/povray31\" -I. -I.. -I../libpng -I../zlib ../cones.c
cc -fast -xarch=v9 -c -DCOMPILER_VER=\".`uname`.cc\" -DPOV_LIB_DIR=\"/usr/local/
lib/povray31\" -I. -I.. -I../libpng -I../zlib ../csg.c
cc -fast -xarch=v9 -c -DCOMPILER_VER=\".`uname`.cc\" -DPOV_LIB_DIR=\"/usr/local/
lib/povray31\" -I. -I.. -I../libpng -I../zlib ../discs.c
cc -fast -xarch=v9 -c -DCOMPILER_VER=\".`uname`.cc\" -DPOV_LIB_DIR=\"/usr/local/
lib/povray31\" -I. -I.. -I../libpng -I../zlib ../express.c
cc -fast -xarch=v9 -c -DCOMPILER_VER=\".`uname`.cc\" -DPOV_LIB_DIR=\"/usr/local/
lib/povray31\" -I. -I.. -I../libpng -I../zlib ../fractal.c
cc -fast -xarch=v9 -c -DCOMPILER_VER=\".`uname`.cc\" -DPOV_LIB_DIR=\"/usr/local/
lib/povray31\" -I. -I.. -I../libpng -I../zlib ../gif.c
cc -fast -xarch=v9 -c -DCOMPILER_VER=\".`uname`.cc\" -DPOV_LIB_DIR=\"/usr/local/
lib/povray31\" -I. -I.. -I../libpng -I../zlib ../gifdecod.c
cc -fast -xarch=v9 -c -DCOMPILER_VER=\".`uname`.cc\" -DPOV_LIB_DIR=\"/usr/local/
lib/povray31\" -I. -I.. -I../libpng -I../zlib ../hcmplx.c
cc -fast -xarch=v9 -c -DCOMPILER_VER=\".`uname`.cc\" -DPOV_LIB_DIR=\"/usr/local/
lib/povray31\" -I. -I.. -I../libpng -I../zlib ../hfield.c
cc -fast -xarch=v9 -c -DCOMPILER_VER=\".`uname`.cc\" -DPOV_LIB_DIR=\"/usr/local/
lib/povray31\" -I. -I.. -I../libpng -I../zlib ../iff.c
cc -fast -xarch=v9 -c -DCOMPILER_VER=\".`uname`.cc\" -DPOV_LIB_DIR=\"/usr/local/
lib/povray31\" -I. -I.. -I../libpng -I../zlib ../image.c
cc -fast -xarch=v9 -c -DCOMPILER_VER=\".`uname`.cc\" -DPOV_LIB_DIR=\"/usr/local/
lib/povray31\" -I. -I.. -I../libpng -I../zlib ../interior.c
cc -fast -xarch=v9 -c -DCOMPILER_VER=\".`uname`.cc\" -DPOV_LIB_DIR=\"/usr/local/
lib/povray31\" -I. -I.. -I../libpng -I../zlib ../lathe.c
cc -fast -xarch=v9 -c -DCOMPILER_VER=\".`uname`.cc\" -DPOV_LIB_DIR=\"/usr/local/
lib/povray31\" -I. -I.. -I../libpng -I../zlib ../lbuffer.c
cc -fast -xarch=v9 -c -DCOMPILER_VER=\".`uname`.cc\" -DPOV_LIB_DIR=\"/usr/local/
lib/povray31\" -I. -I.. -I../libpng -I../zlib ../lighting.c
cc -fast -xarch=v9 -c -DCOMPILER_VER=\".`uname`.cc\" -DPOV_LIB_DIR=\"/usr/local/
lib/povray31\" -I. -I.. -I../libpng -I../zlib ../matrices.c
cc -fast -xarch=v9 -c -DCOMPILER_VER=\".`uname`.cc\" -DPOV_LIB_DIR=\"/usr/local/
lib/povray31\" -I. -I.. -I../libpng -I../zlib ../media.c
cc -fast -xarch=v9 -c -DCOMPILER_VER=\".`uname`.cc\" -DPOV_LIB_DIR=\"/usr/local/
lib/povray31\" -I. -I.. -I../libpng -I../zlib ../mem.c
cc -fast -xarch=v9 -c -DCOMPILER_VER=\".`uname`.cc\" -DPOV_LIB_DIR=\"/usr/local/
lib/povray31\" -I. -I.. -I../libpng -I../zlib ../mesh.c
cc -fast -xarch=v9 -c -DCOMPILER_VER=\".`uname`.cc\" -DPOV_LIB_DIR=\"/usr/local/
lib/povray31\" -I. -I.. -I../libpng -I../zlib ../normal.c
cc -fast -xarch=v9 -c -DCOMPILER_VER=\".`uname`.cc\" -DPOV_LIB_DIR=\"/usr/local/
lib/povray31\" -I. -I.. -I../libpng -I../zlib ../objects.c
cc -fast -xarch=v9 -c -DCOMPILER_VER=\".`uname`.cc\" -DPOV_LIB_DIR=\"/usr/local/
lib/povray31\" -I. -I.. -I../libpng -I../zlib ../octree.c
cc -fast -xarch=v9 -c -DCOMPILER_VER=\".`uname`.cc\" -DPOV_LIB_DIR=\"/usr/local/
lib/povray31\" -I. -I.. -I../libpng -I../zlib ../optin.c
cc -fast -xarch=v9 -c -DCOMPILER_VER=\".`uname`.cc\" -DPOV_LIB_DIR=\"/usr/local/
lib/povray31\" -I. -I.. -I../libpng -I../zlib ../optout.c
cc -fast -xarch=v9 -c -DCOMPILER_VER=\".`uname`.cc\" -DPOV_LIB_DIR=\"/usr/local/
lib/povray31\" -I. -I.. -I../libpng -I../zlib ../parse.c
cc -fast -xarch=v9 -c -DCOMPILER_VER=\".`uname`.cc\" -DPOV_LIB_DIR=\"/usr/local/
lib/povray31\" -I. -I.. -I../libpng -I../zlib ../parstxtr.c
cc -fast -xarch=v9 -c -DCOMPILER_VER=\".`uname`.cc\" -DPOV_LIB_DIR=\"/usr/local/
lib/povray31\" -I. -I.. -I../libpng -I../zlib ../pattern.c
cc -fast -xarch=v9 -c -DCOMPILER_VER=\".`uname`.cc\" -DPOV_LIB_DIR=\"/usr/local/
lib/povray31\" -I. -I.. -I../libpng -I../zlib ../pgm.c
cc -fast -xarch=v9 -c -DCOMPILER_VER=\".`uname`.cc\" -DPOV_LIB_DIR=\"/usr/local/
lib/povray31\" -I. -I.. -I../libpng -I../zlib ../pigment.c
cc -fast -xarch=v9 -c -DCOMPILER_VER=\".`uname`.cc\" -DPOV_LIB_DIR=\"/usr/local/
lib/povray31\" -I. -I.. -I../libpng -I../zlib ../planes.c
cc -fast -xarch=v9 -c -DCOMPILER_VER=\".`uname`.cc\" -DPOV_LIB_DIR=\"/usr/local/
lib/povray31\" -I. -I.. -I../libpng -I../zlib ../png_pov.c
cc -fast -xarch=v9 -c -DCOMPILER_VER=\".`uname`.cc\" -DPOV_LIB_DIR=\"/usr/local/
lib/povray31\" -I. -I.. -I../libpng -I../zlib ../point.c
cc -fast -xarch=v9 -c -DCOMPILER_VER=\".`uname`.cc\" -DPOV_LIB_DIR=\"/usr/local/
lib/povray31\" -I. -I.. -I../libpng -I../zlib ../poly.c
cc -fast -xarch=v9 -c -DCOMPILER_VER=\".`uname`.cc\" -DPOV_LIB_DIR=\"/usr/local/
lib/povray31\" -I. -I.. -I../libpng -I../zlib ../polygon.c
cc -fast -xarch=v9 -c -DCOMPILER_VER=\".`uname`.cc\" -DPOV_LIB_DIR=\"/usr/local/
lib/povray31\" -I. -I.. -I../libpng -I../zlib ../polysolv.c
cc -fast -xarch=v9 -c -DCOMPILER_VER=\".`uname`.cc\" -DPOV_LIB_DIR=\"/usr/local/
lib/povray31\" -I. -I.. -I../libpng -I../zlib ../povray.c
cc -fast -xarch=v9 -c -DCOMPILER_VER=\".`uname`.cc\" -DPOV_LIB_DIR=\"/usr/local/
lib/povray31\" -I. -I.. -I../libpng -I../zlib ../ppm.c
cc -fast -xarch=v9 -c -DCOMPILER_VER=\".`uname`.cc\" -DPOV_LIB_DIR=\"/usr/local/
lib/povray31\" -I. -I.. -I../libpng -I../zlib ../prism.c
cc -fast -xarch=v9 -c -DCOMPILER_VER=\".`uname`.cc\" -DPOV_LIB_DIR=\"/usr/local/
lib/povray31\" -I. -I.. -I../libpng -I../zlib ../quadrics.c
cc -fast -xarch=v9 -c -DCOMPILER_VER=\".`uname`.cc\" -DPOV_LIB_DIR=\"/usr/local/
lib/povray31\" -I. -I.. -I../libpng -I../zlib ../quatern.c
cc -fast -xarch=v9 -c -DCOMPILER_VER=\".`uname`.cc\" -DPOV_LIB_DIR=\"/usr/local/
lib/povray31\" -I. -I.. -I../libpng -I../zlib ../rad_data.c
cc -fast -xarch=v9 -c -DCOMPILER_VER=\".`uname`.cc\" -DPOV_LIB_DIR=\"/usr/local/
lib/povray31\" -I. -I.. -I../libpng -I../zlib ../radiosit.c
cc -fast -xarch=v9 -c -DCOMPILER_VER=\".`uname`.cc\" -DPOV_LIB_DIR=\"/usr/local/
lib/povray31\" -I. -I.. -I../libpng -I../zlib ../ray.c
cc -fast -xarch=v9 -c -DCOMPILER_VER=\".`uname`.cc\" -DPOV_LIB_DIR=\"/usr/local/
lib/povray31\" -I. -I.. -I../libpng -I../zlib ../render.c
cc -fast -xarch=v9 -c -DCOMPILER_VER=\".`uname`.cc\" -DPOV_LIB_DIR=\"/usr/local/
lib/povray31\" -I. -I.. -I../libpng -I../zlib ../sor.c
cc -fast -xarch=v9 -c -DCOMPILER_VER=\".`uname`.cc\" -DPOV_LIB_DIR=\"/usr/local/
lib/povray31\" -I. -I.. -I../libpng -I../zlib ../spheres.c
cc -fast -xarch=v9 -c -DCOMPILER_VER=\".`uname`.cc\" -DPOV_LIB_DIR=\"/usr/local/
lib/povray31\" -I. -I.. -I../libpng -I../zlib ../super.c
cc -fast -xarch=v9 -c -DCOMPILER_VER=\".`uname`.cc\" -DPOV_LIB_DIR=\"/usr/local/
lib/povray31\" -I. -I.. -I../libpng -I../zlib ../targa.c
cc -fast -xarch=v9 -c -DCOMPILER_VER=\".`uname`.cc\" -DPOV_LIB_DIR=\"/usr/local/
lib/povray31\" -I. -I.. -I../libpng -I../zlib ../texture.c
cc -fast -xarch=v9 -c -DCOMPILER_VER=\".`uname`.cc\" -DPOV_LIB_DIR=\"/usr/local/
lib/povray31\" -I. -I.. -I../libpng -I../zlib ../tokenize.c
cc -fast -xarch=v9 -c -DCOMPILER_VER=\".`uname`.cc\" -DPOV_LIB_DIR=\"/usr/local/
lib/povray31\" -I. -I.. -I../libpng -I../zlib ../torus.c
cc -fast -xarch=v9 -c -DCOMPILER_VER=\".`uname`.cc\" -DPOV_LIB_DIR=\"/usr/local/
lib/povray31\" -I. -I.. -I../libpng -I../zlib ../triangle.c
cc -fast -xarch=v9 -c -DCOMPILER_VER=\".`uname`.cc\" -DPOV_LIB_DIR=\"/usr/local/
lib/povray31\" -I. -I.. -I../libpng -I../zlib ../truetype.c
cc -fast -xarch=v9 -c -DCOMPILER_VER=\".`uname`.cc\" -DPOV_LIB_DIR=\"/usr/local/
lib/povray31\" -I. -I.. -I../libpng -I../zlib ../txttest.c
cc -fast -xarch=v9 -c -DCOMPILER_VER=\".`uname`.cc\" -DPOV_LIB_DIR=\"/usr/local/
lib/povray31\" -I. -I.. -I../libpng -I../zlib ../userio.c
cc -fast -xarch=v9 -c -DCOMPILER_VER=\".`uname`.cc\" -DPOV_LIB_DIR=\"/usr/local/
lib/povray31\" -I. -I.. -I../libpng -I../zlib ../vbuffer.c
cc -fast -xarch=v9 -c -DCOMPILER_VER=\".`uname`.cc\" -DPOV_LIB_DIR=\"/usr/local/
lib/povray31\" -I. -I.. -I../libpng -I../zlib ../vlbuffer.c
cc -fast -xarch=v9 -c -DCOMPILER_VER=\".`uname`.cc\" -DPOV_LIB_DIR=\"/usr/local/
lib/povray31\" -I. -I.. -I../libpng -I../zlib ../warps.c
cc -fast -xarch=v9 -c -DCOMPILER_VER=\".`uname`.cc\" -DPOV_LIB_DIR=\"/usr/local/
lib/povray31\" -I. -I.. -I../libpng -I../zlib unix.c
cc ./atmosph.o ./bbox.o ./bcyl.o ./bezier.o ./blob.o ./boxes
.o ./bsphere.o ./camera.o ./chi2.o ./colour.o ./cones.o ./c
sg.o ./discs.o ./express.o ./fractal.o ./gif.o ./gifdecod.o
./hcmplx.o ./hfield.o ./iff.o ./image.o ./interior.o ./lathe.o
./lbuffer.o ./lighting.o ./matrices.o ./media.o ./mem.o ./mes
h.o ./normal.o ./objects.o ./octree.o ./optin.o ./optout.o .
/parse.o ./parstxtr.o ./pattern.o ./pgm.o ./pigment.o ./plane
s.o ./png_pov.o ./point.o ./poly.o ./polygon.o ./polysolv.o ./p
ovray.o ./ppm.o ./prism.o ./quadrics.o ./quatern.o ./rad_data.o
./radiosit.o ./ray.o ./render.o ./sor.o ./spheres.o ./super.o
./targa.o ./texture.o ./tokenize.o ./torus.o ./triangle.o ./tru
etype.o ./txttest.o ./userio.o ./vbuffer.o ./vlbuffer.o ./warps.o
./unix.o -L../libpng -lpng -L../zlib -lz -lm -o povray
ld: fatal: file ./atmosph.o: wrong ELF class: ELFCLASS64
ld: fatal: File processing errors. No output written to povray
*** Error code 1
make: Fatal error: Command failed for target `povray'
Current working directory /export/home/dclarke/pgm/c/povray/source/workshop/povr
ay31/source/unix
*** Error code 1 (ignored)
Which seems to imply that the linker is having a fit because it doesn't want to
link the 64bit object files. Perhaps I need to add another option on the ld
line? I've checked the object files and they are all like so :
$ ls -lapt *.o
-rw-r--r-- 1 dclarke staff 8384 Jun 14 09:13 unix.o
-rw-r--r-- 1 dclarke staff 10448 Jun 14 09:13 vlbuffer.o
-rw-r--r-- 1 dclarke staff 35544 Jun 14 09:13 vbuffer.o
-rw-r--r-- 1 dclarke staff 30928 Jun 14 09:13 userio.o
-rw-r--r-- 1 dclarke staff 54432 Jun 14 09:13 truetype.o
-rw-r--r-- 1 dclarke staff 16608 Jun 14 09:13 triangle.o
.
.
.
-rw-r--r-- 1 dclarke staff 26408 Jun 14 09:05 mesh.o
-rw-r--r-- 1 dclarke staff 13672 Jun 14 09:05 quatern.o
-rw-r--r-- 1 dclarke staff 7040 Jun 14 09:05 rad_data.o
-rw-r--r-- 1 dclarke staff 2792 Jun 14 09:05 txttest.o
-rw-r--r-- 1 dclarke staff 8064 Jun 14 09:05 warps.o
$ ls -lapt *.o | awk '{print $9}' | xargs file
unix.o: ELF 64-bit MSB relocatable SPARCV9 Version 1
vlbuffer.o: ELF 64-bit MSB relocatable SPARCV9 Version 1
vbuffer.o: ELF 64-bit MSB relocatable SPARCV9 Version 1
userio.o: ELF 64-bit MSB relocatable SPARCV9 Version 1
truetype.o: ELF 64-bit MSB relocatable SPARCV9 Version 1
triangle.o: ELF 64-bit MSB relocatable SPARCV9 Version 1
.
.
.
mesh.o: ELF 64-bit MSB relocatable SPARCV9 Version 1
quatern.o: ELF 64-bit MSB relocatable SPARCV9 Version 1
rad_data.o: ELF 64-bit MSB relocatable SPARCV9 Version 1
txttest.o: ELF 64-bit MSB relocatable SPARCV9 Version 1
warps.o: ELF 64-bit MSB relocatable SPARCV9 Version 1
The ld linker could take the following option :
OPTIONS
The following options are supported:
-64 Creates a 64-bit object. By default,the class of the
object being generated is determined from the first
ELF object processed from the command line. This
option is useful when creating an object directly with
ld whose input is solely from a mapfile (see the -M
option).
Now why would I need that when all of the object files are ELF 64-bit ?
Any thoughts on this would be appreciated.
Dennis Clarke
Post a reply to this message
|
|