Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
BC
public
external
mbedtls
Commits
c5b849bb
Commit
c5b849bb
authored
Dec 01, 2014
by
Manuel Pégourié-Gonnard
Browse files
Refactor memory.sh
parent
f166c543
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
64 additions
and
86 deletions
+64
-86
scripts/memory.sh
scripts/memory.sh
+64
-86
No files found.
scripts/memory.sh
View file @
c5b849bb
...
...
@@ -9,8 +9,12 @@
set
-eu
CONFIG_H
=
'include/polarssl/config.h'
CLIENT
=
'mini_client'
CFLAGS_EXEC
=
-fno-asynchronous-unwind-tables
CFLAGS_MEM
=
-g3
if
[
-r
$CONFIG_H
]
;
then
:
;
else
echo
"
$CONFIG_H
not found"
>
&2
exit
1
...
...
@@ -26,6 +30,59 @@ if git status | grep -F $CONFIG_H >/dev/null 2>&1; then
exit
1
fi
# make measurements with one configuration
# usage: do_config <name> <unset-list> <server-args>
do_config
()
{
NAME
=
$1
UNSET_LIST
=
$2
SERVER_ARGS
=
$3
echo
""
echo
"config-
$NAME
:"
cp
configs/config-
$NAME
.h
$CONFIG_H
for
FLAG
in
$UNSET_LIST
;
do
scripts/config.pl
unset
$FLAG
done
printf
" Executable size... "
make clean
CFLAGS
=
$CFLAGS_EXEC
make
OFLAGS
=
-Os
lib
>
/dev/null 2>&1
cd
programs
CFLAGS
=
$CFLAGS_EXEC
make
OFLAGS
=
-Os
ssl/
$CLIENT
>
/dev/null
strip ssl/
$CLIENT
stat
-f
'%z'
ssl/
$CLIENT
cd
..
printf
" Peak ram usage... "
make clean
CFLAGS
=
$CFLAGS_MEM
make
OFLAGS
=
-Os
lib
>
/dev/null 2>&1
cd
programs
CFLAGS
=
$CFLAGS_MEM
make
OFLAGS
=
-Os
ssl/
$CLIENT
>
/dev/null
cd
..
./ssl_server2
$SERVER_ARGS
>
/dev/null &
SRV_PID
=
$!
sleep
1
;
if
valgrind
--tool
=
massif
--stacks
=
yes
programs/ssl/
$CLIENT
>
/dev/null 2>&1
then
FAILED
=
0
else
echo
"client failed"
>
&2
FAILED
=
1
fi
kill
$SRV_PID
wait
$SRV_PID
scripts/massif_max.pl massif.out.
*
mv
massif.out.
*
massif-
$NAME
.
$$
}
# preparation
CONFIG_BAK
=
${
CONFIG_H
}
.bak
...
...
@@ -42,94 +99,15 @@ cp programs/ssl/ssl_server2 .
echo
"done"
# first config
echo
""
echo
"config-ccm-psk-tls1_2:"
cp
configs/config-ccm-psk-tls1_2.h
$CONFIG_H
printf
" Executable size... "
make clean
CFLAGS
=
-fno-asynchronous-unwind-tables
make
OFLAGS
=
-Os
lib
>
/dev/null 2>&1
cd
programs
CFLAGS
=
-fno-asynchronous-unwind-tables
make
OFLAGS
=
-Os
ssl/
$CLIENT
>
/dev/null
strip ssl/
$CLIENT
stat
-c
'%s'
ssl/
$CLIENT
cd
..
printf
" Peak ram usage... "
make clean
CFLAGS
=
-g3
make
OFLAGS
=
-Os
lib
>
/dev/null 2>&1
cd
programs
CFLAGS
=
-g3
make
OFLAGS
=
-Os
ssl/
$CLIENT
>
/dev/null
cd
..
./ssl_server2
psk
=
000102030405060708090A0B0C0D0E0F
>
/dev/null &
SRV_PID
=
$!
sleep
1
;
if
valgrind
--tool
=
massif
--stacks
=
yes
programs/ssl/
$CLIENT
>
/dev/null 2>&1
then
FAILED
=
0
else
echo
"client failed"
>
&2
FAILED
=
1
fi
kill
$SRV_PID
wait
$SRV_PID
scripts/massif_max.pl massif.out.
*
mv
massif.out.
*
massif-ccm-psk.
$$
# second config
echo
""
echo
"config-suite-b:"
cp
configs/config-suite-b.h
$CONFIG_H
scripts/config.pl
unset
POLARSSL_BASE64_C
scripts/config.pl
unset
POLARSSL_PEM_PARSE_C
scripts/config.pl
unset
POLARSSL_CERTS_C
printf
" Executable size... "
make clean
CFLAGS
=
-fno-asynchronous-unwind-tables
make
OFLAGS
=
-Os
lib
>
/dev/null 2>&1
cd
programs
CFLAGS
=
-fno-asynchronous-unwind-tables
make
OFLAGS
=
-Os
ssl/
$CLIENT
>
/dev/null
strip ssl/
$CLIENT
stat
-c
'%s'
ssl/
$CLIENT
cd
..
printf
" Peak ram usage... "
make clean
CFLAGS
=
-g3
make
OFLAGS
=
-Os
lib
>
/dev/null 2>&1
cd
programs
CFLAGS
=
-g3
make
OFLAGS
=
-Os
ssl/
$CLIENT
>
/dev/null
cd
..
rm
-f
massif.out.
*
./ssl_server2
>
/dev/null &
SRV_PID
=
$!
sleep
1
;
if
valgrind
--tool
=
massif
--stacks
=
yes
programs/ssl/
$CLIENT
>
/dev/null 2>&1
then
FAILED
=
0
else
echo
"client failed"
>
&2
FAILED
=
1
fi
# actual measurements
kill
$SRV_PID
wait
$SRV_PID
do_config
"ccm-psk-tls1_2"
\
""
\
"psk=000102030405060708090A0B0C0D0E0F"
scripts/massif_max.pl massif.out.
*
mv
massif.out.
*
massif-suite-b.
$$
do_config
"suite-b"
\
"POLARSSL_BASE64_C POLARSSL_PEM_PARSE_C POLARSSL_CERTS_C"
\
""
# cleanup
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment