Speaking of hashing I though Google's new fast CityHash implementation
was interesting.
http://google-opensource.blogspot.com/2011/04/introducing-cityhash.html
On 04/13/2011 11:00 AM, mfl...@racket-lang.org wrote:
mflatt has updated `master' from 91d98aa0fa to f6d185abab.
http://git.racket-lang.org/plt/91d98aa0fa..f6d185abab
=[ 4 Commits ]==
Directory summary:
8.9% collects/setup/
56.3% src/racket/src/
17.3% src/racket/
17.3% src/
~~
8a2d587 Matthew Flattmfl...@racket-lang.org 2011-04-11 16:38
:
| minor hash tuning
:
M src/racket/src/bool.c | 68 +-
M src/racket/src/env.c | 14 ++---
M src/racket/src/hash.c |6 +++-
~~
f36e3ad Matthew Flattmfl...@racket-lang.org 2011-04-11 23:29
:
| small clean-ups
:
M collects/setup/setup-unit.rkt |7 +--
~~
efed709 Matthew Flattmfl...@racket-lang.org 2011-04-12 10:21
:
| improve error reporting when using exec
:
M src/racket/src/port.c | 10 +-
~~
f6d185a Matthew Flattmfl...@racket-lang.org 2011-04-13 10:56
:
| configure: use `pkg-config' for libffi
:
M src/configure | 32 +++-
M src/racket/configure.ac | 32 +++-
=[ Overall Diff ]===
collects/setup/setup-unit.rkt
~
--- OLD/collects/setup/setup-unit.rkt
+++ NEW/collects/setup/setup-unit.rkt
@@ -684,9 +684,12 @@
(match (parallel-workers)
[(? (lambda (x) (x . . 1)))
(compile-cc (collection-cc (list (string-path racket))) 0)
-(managed-compile-zo (build-path main-collects-dir
setup/parallel-build-worker.rkt))
+(managed-compile-zo (collection-file-path parallel-build-worker.rkt
setup))
(with-specified-mode
- (let ([cct (move-to-begining (list compiler raco racket) (move-to-end
drscheme (sort-collections-tree (collection-tree-map top-level-plt-collects])
+ (let ([cct (move-to-begining (list compiler raco racket)
+ (move-to-end drscheme
+(sort-collections-tree
+ (collection-tree-map
top-level-plt-collects])
(iterate-cct (lambda (cc)
(let ([dir (cc-path cc)]
[info (cc-info cc)])
src/configure
~
--- OLD/src/configure
+++ NEW/src/configure
@@ -5120,8 +5120,34 @@ if test ${enable_libffi} = yes ; then
if test ${enable_foreign} = yes ; then
{ echo $as_me:$LINENO: checking for libffi5
echo $ECHO_N checking for libffi... $ECHO_C6; }
+
+ # Try to get flags form pkg-config:
+ libffi_config_prog=pkg-config libffi
+ libffi_config_preflags=`$libffi_config_prog --cflags-only-I 2 /dev/null`
+ if test $? = 0 ; then
+libffi_config_cflags=`$libffi_config_prog --cflags-only-other 2
/dev/null`
+if test $? = 0 ; then
+ libffi_config_ldflags=`$libffi_config_prog --libs 2 /dev/null`
+ if test $? != 0 ; then
+libffi_config_preflags=
+libffi_config_cflags=
+libffi_config_ldflags=-lffi
+ fi
+else
+ libffi_config_preflags=
+ libffi_config_cflags=
+ libffi_config_ldflags=-lffi
+fi
+ else
+libffi_config_preflags=
+libffi_config_cflags=
+libffi_config_ldflags=-lffi
+ fi
+
+ OLD_CFLAGS=${CFLAGS}
OLD_LDFLAGS=${LDFLAGS}
- LDFLAGS=${LDFLAGS} -lffi
+ CFLAGS=${CFLAGS} ${libffi_config_preflags} ${libffi_config_cflags}
+ LDFLAGS=${LDFLAGS} ${libffi_config_ldflags}
catconftest.$ac_ext_ACEOF
/* confdefs.h. */
_ACEOF
@@ -5169,9 +5195,13 @@ rm -f core conftest.err conftest.$ac_objext
conftest_ipa8_conftest.oo \
{ echo $as_me:$LINENO: result: $have_libffi5
echo ${ECHO_T}$have_libffi6; }
if test ${have_libffi} = no ; then
+CFLAGS=${OLD_CFLAGS}
LDFLAGS=${OLD_LDFLAGS}
echo Building own libffi
else
+CFLAGS=${OLD_CFLAGS}
+PREFLAGS=${PREFLAGS} ${libffi_config_preflags}
+CFLAGS=${COMPFLAGS} ${libffi_config_cflags}
echo Using installed libffi
OWN_LIBFFI=OFF
fi
src/racket/configure.ac
~~~
--- OLD/src/racket/configure.ac
+++ NEW/src/racket/configure.ac
@@ -855,8 +855,34 @@ AC_MSG_RESULT($mbsrtowcs)
if test ${enable_libffi} = yes ; then
if test ${enable_foreign} = yes ; then
AC_MSG_CHECKING([for libffi])
+
+ # Try to get flags form pkg-config:
+ libffi_config_prog=pkg-config libffi
+ libffi_config_preflags=`$libffi_config_prog --cflags-only-I 2 /dev/null`
+ if test $? = 0 ; then
+libffi_config_cflags=`$libffi_config_prog --cflags-only-other 2
/dev/null`
+if test $? = 0 ; then
+ libffi_config_ldflags=`$libffi_config_prog --libs 2 /dev/null`
+ if test $? != 0 ; then
+libffi_config_preflags=
+