File: Checkit

package info (click to toggle)
judy 1.0.3-2
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 5,540 kB
  • ctags: 2,566
  • sloc: ansic: 24,975; sh: 9,565; makefile: 394
file content (95 lines) | stat: -rwxr-xr-x 3,240 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
#!/bin/sh
CC=${CC:-cc}

echo
echo "=== +++++++++ This test runs in 15 seconds on a PIII 750Mhz +++++++"

LIBJUDY=`find ../ -name libJudy.a`
JUDY_H=`find ../ -name Judy.h`

echo "$CC -O SLcompare.c -DHASHMETHOD -o SL_Hash"
      $CC -O SLcompare.c -DHASHMETHOD -o SL_Hash

echo "$CC -O SLcompare.c -DSPLAYMETHOD -o SL_Splay"
      $CC -O SLcompare.c -DSPLAYMETHOD -o SL_Splay

echo "$CC -O SLcompare.c -DREDBLACKMETHOD -o SL_Redblack"
      $CC -O SLcompare.c -DREDBLACKMETHOD -o SL_Redblack


echo
echo Compiling with Judy library: $LIBJUDY
echo
echo "$CC -O -I../src SLcompare.c -DJUDYMETHOD -o SL_Judy $LIBJUDY -lm"
      $CC -O -I../src SLcompare.c -DJUDYMETHOD -o SL_Judy $LIBJUDY -lm
if [ $? -ne 0 ] ; then
echo "===  $? Failed: $CC SLcompare.c -DJUDYMETHOD"
exit $?
fi
echo "$CC -O -I../src Judy1LHCheck.c -o Judy1LHCheck $LIBJUDY -lm"
      $CC -O -I../src Judy1LHCheck.c -o Judy1LHCheck $LIBJUDY -lm
if [ $? -ne 0 ] ; then
echo "===  $? Failed: $CC Judy1LHCheck.c"
exit $?
fi
echo "$CC -O -I../src Judy1LHTime.c -DNOINLINE  -o Judy1LHTime  $LIBJUDY -lm"
      $CC -O -I../src Judy1LHTime.c -DNOINLINE  -o Judy1LHTime  $LIBJUDY -lm
if [ $? -ne 0 ] ; then
echo "===  $? Failed: $CC Judy1LHTime.c"
exit $?
fi

#  -OR-    if Judy is installed, these can be compiled from anywhere:
#cc -O SLcompare.c -DJUDYMETHOD      -o SL_Judy      -lJudy -lm 
#cc -O Judy1LHCheck.c                -o Judy1LHCheck -lJudy -lm
#cc -O Judy1LHTime.c                 -o Judy1LHTime  -lJudy -lm
echo "===  Pass: Compile of tests"

echo
echo "     Validate Judy1/JudyL/JudyHS functions (except Judy*ByCount)"
./Judy1LHCheck -n 300000 -B20 > /dev/null
if [ $? -ne 0 ] ; then
echo "===  $? Failed: Judy1/JudyL/JudyHS validate program"
exit $?
fi
echo "===  Pass: Judy1/JudyL/JudyHS validate program"


echo
echo "     Do a few timings tests of Judy1/JudyL/JudyHS"
echo
# Pop1    is: current number of Indexes stored in Judy array
# Measmts is: lookups to make measurement
# J1      is: Judy1
# JL      is: JudyL
# /I      is: per Index
# MU      is: Memory Used (allocated thru malloc(3))
# HEAP    is: Memory change measured with sbrk(0)
echo "      Pop1   Measmts    J1S    JLI    J1T    JLG J1MU/I JLMU/I HEAP/I"
./Judy1LHTime  -n 2000000 -P1 -B19 | grep -v "^#"
echo "===  Pass: Judy1/JudyL/JudyHS performance program"



echo
echo "     Do a few timings tests of JudySL and friends"
echo
# lines         is: number of lines in source file
# avg_linelen   is: average bytes per line
# getline       is: average time go get a line and remove white space
# StoreD        is: number of unique lines stored into JudySL array
# RAMused/line  is: Memory change measured with sbrk(0)
# store/ln      is: average insert time (including duplicates)
# lookup/ln     is: average lookup time in same order as inserts
# ADT           is: Abstract Data Type method
echo "   lines avg_linelen  getline   StoreD RAMused/line  store/ln lookup/ln ADT"
./SL_Hash     ../Makefile | grep HASH
./SL_Splay    ../Makefile | grep SPLAY
./SL_Redblack ../Makefile | grep REDBLACK
./SL_Judy     ../Makefile | grep JUDY
if [ $? -ne 0 ] ; then
echo "===  $? Failed: JudySL if StoreD numbers are all the same" 
exit $?
fi
echo "===  Pass: JudySL if StoreD numbers are all the same"
echo