Compare commits
2
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
bc02ba9d2f | ||
|
|
4c5d30387a |
@@ -0,0 +1,4 @@
|
||||
VARIABLE MIN INITIAL MAX
|
||||
BLOCK_SIZE_SHIFT 0 12 20
|
||||
BLOCK_CUTOFF 0 200 2000
|
||||
OBSERVATIONS_PER_CHECK 10 512 10000
|
||||
+23
@@ -0,0 +1,23 @@
|
||||
#!/usr/bin/Rscript
|
||||
|
||||
PARAMS = read.table("block_split_params.txt", header=TRUE, row.names=1)
|
||||
|
||||
fn = function(params) {
|
||||
|
||||
params = as.integer(params)
|
||||
params = pmax(params, PARAMS$MIN)
|
||||
params = pmin(params, PARAMS$MAX)
|
||||
|
||||
env = paste(rownames(PARAMS), "=", params, sep='', collapse=' ')
|
||||
|
||||
cat(env, "\n")
|
||||
|
||||
result = system(paste(env, "./try_block_params.sh"), intern=TRUE)
|
||||
stopifnot(attr(result, "status") == 0)
|
||||
result = as.numeric(result)
|
||||
cat(result, "\n")
|
||||
return(result)
|
||||
}
|
||||
|
||||
result = optim(PARAMS$INITIAL, fn)
|
||||
print(result)
|
||||
@@ -0,0 +1,15 @@
|
||||
testdata -6:
|
||||
BLOCK_SIZE_SHIFT=20 BLOCK_CUTOFF=182 MIN_BLOCK_LENGTH=8071 MAX_BLOCK_LENGTH=299707 OBSERVATIONS_PER_CHECK=553
|
||||
8727764
|
||||
|
||||
moby.txt -12:
|
||||
BLOCK_SIZE_SHIFT=20 BLOCK_CUTOFF=239 MIN_BLOCK_LENGTH=36336 MAX_BLOCK_LENGTH=303025 OBSERVATIONS_PER_CHECK=772
|
||||
476063
|
||||
|
||||
silesia -6:
|
||||
BLOCK_SIZE_SHIFT=20 BLOCK_CUTOFF=189 MIN_BLOCK_LENGTH=10225 MAX_BLOCK_LENGTH=323665 OBSERVATIONS_PER_CHECK=556
|
||||
67927205
|
||||
|
||||
0b7d62c8-1ae5-11e6-818e-ca27821f62e9.png -12:
|
||||
BLOCK_SIZE_SHIFT=20 BLOCK_CUTOFF=193 MIN_BLOCK_LENGTH=21726 MAX_BLOCK_LENGTH=300470 OBSERVATIONS_PER_CHECK=517
|
||||
596524
|
||||
Executable
+23
@@ -0,0 +1,23 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
if [ -z "$LEVEL" -o -z "$INPUTFILE" ]; then
|
||||
echo "Must specify LEVEL and INPUTFILE" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
topdir="$(dirname "$0")/../.."
|
||||
|
||||
git checkout -f "$topdir/src" > /dev/null
|
||||
|
||||
sed -i -e \
|
||||
"
|
||||
s/\<block_size >> 12\>/block_size >> $BLOCK_SIZE_SHIFT/
|
||||
s/\<200 \* stats->num_observations/$BLOCK_CUTOFF * stats->num_observations/
|
||||
s/num_new_observations < 512\>/num_new_observations < $OBSERVATIONS_PER_CHECK/
|
||||
" \
|
||||
"$topdir/src/deflate_compress.c"
|
||||
|
||||
make -C "$topdir" -j BUILD_BENCHMARK_PROGRAM=yes > /dev/null
|
||||
"$topdir/benchmark" -l $LEVEL -s 100000000 $INPUTFILE | grep Compressed | cut -f 4 -d ' '
|
||||
Reference in New Issue
Block a user