This Trac instance is not used for development anymore!

We migrated our development workflow to git and Gitea.
To test the future redirection, replace trac by ariadne in the page URL.

source: ps/trunk/build/premake/premake5/contrib/mbedtls/scripts/ecc-heap.sh

Last change on this file was 20366, checked in by Itms, 7 years ago

Alpha 12 version of Premake 5, including prebuilt binary for Windows.
Directly taken from https://premake.github.io/.

Refs #3729.

File size: 1.7 KB
Line 
1#!/bin/sh
2
3# Measure heap usage (and performance) of ECC operations with various values of
4# the relevant tunable compile-time parameters.
5#
6# Usage (preferably on a 32-bit platform):
7# cmake -D CMAKE_BUILD_TYPE=Release .
8# scripts/ecc-heap.sh | tee ecc-heap.log
9
10set -eu
11
12CONFIG_H='include/mbedtls/config.h'
13
14if [ -r $CONFIG_H ]; then :; else
15 echo "$CONFIG_H not found" >&2
16 exit 1
17fi
18
19if grep -i cmake Makefile >/dev/null; then :; else
20 echo "Needs Cmake" >&2
21 exit 1
22fi
23
24if git status | grep -F $CONFIG_H >/dev/null 2>&1; then
25 echo "config.h not clean" >&2
26 exit 1
27fi
28
29CONFIG_BAK=${CONFIG_H}.bak
30cp $CONFIG_H $CONFIG_BAK
31
32cat << EOF >$CONFIG_H
33#define MBEDTLS_PLATFORM_C
34#define MBEDTLS_PLATFORM_MEMORY
35#define MBEDTLS_MEMORY_BUFFER_ALLOC_C
36#define MBEDTLS_MEMORY_DEBUG
37
38#define MBEDTLS_TIMING_C
39
40#define MBEDTLS_BIGNUM_C
41#define MBEDTLS_ECP_C
42#define MBEDTLS_ASN1_PARSE_C
43#define MBEDTLS_ASN1_WRITE_C
44#define MBEDTLS_ECDSA_C
45#define MBEDTLS_ECDH_C
46
47#define MBEDTLS_ECP_DP_SECP192R1_ENABLED
48#define MBEDTLS_ECP_DP_SECP224R1_ENABLED
49#define MBEDTLS_ECP_DP_SECP256R1_ENABLED
50#define MBEDTLS_ECP_DP_SECP384R1_ENABLED
51#define MBEDTLS_ECP_DP_SECP521R1_ENABLED
52#define MBEDTLS_ECP_DP_CURVE25519_ENABLED
53
54#include "check_config.h"
55
56//#define MBEDTLS_ECP_WINDOW_SIZE 6
57//#define MBEDTLS_ECP_FIXED_POINT_OPTIM 1
58EOF
59
60for F in 0 1; do
61 for W in 2 3 4 5 6; do
62 scripts/config.pl set MBEDTLS_ECP_WINDOW_SIZE $W
63 scripts/config.pl set MBEDTLS_ECP_FIXED_POINT_OPTIM $F
64 make benchmark >/dev/null 2>&1
65 echo "fixed point optim = $F, max window size = $W"
66 echo "--------------------------------------------"
67 programs/test/benchmark
68 done
69done
70
71# cleanup
72
73mv $CONFIG_BAK $CONFIG_H
74make clean
Note: See TracBrowser for help on using the repository browser.