[plt-scheme] mzc: native code path + plt/collects/mzlib
I think I was not compiling native code correctly. The mzc manual
seems to say that my .so files will only be used if I create them as:
mzc --extension --destination compiled/native/i386-linux filename.scm
So my .so files will not be found in the current directory:
3.3 Autodetecting Compiled Files for Loading
Native-code files are found in (build-path dir "compiled"
"native" (system-library-subpath)) where dir is the directory of
the requested file.
and I get:
Welcome to MzScheme version 203, Copyright (c) 1995-2002 PLT
> (build-path "." "compiled" "native" (system-library-subpath))
"./compiled/native/i386-linux"
And that brings up the question of my top 2 commands:
(require (lib "list.ss"))
(require (lib "etc.ss"))
but these files in ~/plt/collects/mzlib are only byte-compiled. Don't
I need native code compiled files? The mzc manual (Compiling
Collections) seems to say the way to do that is:
cd ~/plt/collects
mzc --collection-extension mzlib
Why wasn't this done automatically when I installed plt? The native
code is supposed to be so much faster that the byte-compiled files.
Also, the brunt of my program is using `quicksort' from
~/plt/collects/mzlib/list.ss
So it seems to me that until I native-compile list.ss, I'm not getting
the speed advantage. However, since the definition begins:
(define quicksort
(polymorphic
I'm not tempted to just paste the definition into my own files.