Files
sdk/benchmarks/FfiBoringssl/dart/native/Makefile
T
Daco Harkes fbf13f561f [benchmarks/ffi] Add micro and macro benchmarks for dart:ffi
Adds micro benchmarks to measure low level (1) C memory reads and writes from Dart and (2) calls from Dart into C. This CL also adds a macro benchmark to measure overall performance using BoringSSL to digest data. The shared libraries are precompiled for Linux and live in cipd packages. The benchmarks run on all hardware architectures (with the exception of Linux'es hardfp on Arm32: https://github.com/dart-lang/sdk/issues/36309).

Issue: https://github.com/dart-lang/sdk/issues/36247

Change-Id: I8dfb30cc66a26a2942bb09194c5eb0da0b6ca1b5
Cq-Include-Trybots: luci.dart.try:benchmark-linux-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/108724
Commit-Queue: Daco Harkes <dacoharkes@google.com>
Reviewed-by: Jonas Termansen <sortie@google.com>
Auto-Submit: Daco Harkes <dacoharkes@google.com>
2019-07-19 14:59:57 +00:00

82 lines
2.7 KiB
Makefile

# Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file
# for details. All rights reserved. Use of this source code is governed by a
# BSD-style license that can be found in the LICENSE file.
# TODO(37531): Remove this makefile and build with sdk instead when
# benchmark runner gets support for that.
REVISION=a86c69888b9a416f5249aacb4690a765be064969
STRIPARM=arm-linux-gnueabihf-strip
STRIPARM64=aarch64-linux-gnu-strip
.PHONY: all cipd build/linux/x64 build/linux/ia32 build/linux/arm build/linux/arm64 clean
all: out/linux/x64/libssl.so out/linux/x64/libcrypto.so out/linux/ia32/libssl.so out/linux/ia32/libcrypto.so out/linux/arm/libssl.so out/linux/arm/libcrypto.so out/linux/arm64/libssl.so out/linux/arm64/libcrypto.so
cipd:
cipd create -name dart/benchmarks/ffiboringssl -in out -install-mode copy -tag commit:$(REVISION)
src:
test -e src || git clone https://boringssl.googlesource.com/boringssl src
cd src && git reset --hard $(REVISION)
build/linux/x64: src
mkdir -p build/linux/x64 && cd build/linux/x64 && cmake -DBUILD_SHARED_LIBS=1 ../../../src && make
out/linux/x64:
mkdir -p out/linux/x64
out/linux/x64/libssl.so: build/linux/x64 out/linux/x64
cp build/linux/x64/ssl/libssl.so $@
strip $@
out/linux/x64/libcrypto.so: build/linux/x64 out/linux/x64
cp build/linux/x64/crypto/libcrypto.so $@
strip $@
build/linux/ia32: src
mkdir -p build/linux/ia32 && cd build/linux/ia32 && cmake -DBUILD_SHARED_LIBS=1 -DCMAKE_TOOLCHAIN_FILE=../../../src/util/32-bit-toolchain.cmake ../../../src && make
out/linux/ia32:
mkdir -p out/linux/ia32
out/linux/ia32/libssl.so: build/linux/ia32 out/linux/ia32
cp build/linux/ia32/ssl/libssl.so $@
strip $@
out/linux/ia32/libcrypto.so: build/linux/ia32 out/linux/ia32
cp build/linux/ia32/crypto/libcrypto.so $@
strip $@
build/linux/arm: src
mkdir -p build/linux/arm && cd build/linux/arm && cmake -DBUILD_SHARED_LIBS=1 -DCMAKE_TOOLCHAIN_FILE=../../../arm.cmake ../../../src && make
out/linux/arm:
mkdir -p out/linux/arm
out/linux/arm/libssl.so: build/linux/arm out/linux/arm
cp build/linux/arm/ssl/libssl.so $@
$(STRIPARM) $@
out/linux/arm/libcrypto.so: build/linux/arm out/linux/arm
cp build/linux/arm/crypto/libcrypto.so $@
$(STRIPARM) $@
build/linux/arm64: src
mkdir -p build/linux/arm64 && cd build/linux/arm64 && cmake -DBUILD_SHARED_LIBS=1 -DCMAKE_TOOLCHAIN_FILE=../../../arm64.cmake ../../../src && make
out/linux/arm64:
mkdir -p out/linux/arm64
out/linux/arm64/libssl.so: build/linux/arm64 out/linux/arm64
cp build/linux/arm64/ssl/libssl.so $@
$(STRIPARM64) $@
out/linux/arm64/libcrypto.so: build/linux/arm64 out/linux/arm64
cp build/linux/arm64/crypto/libcrypto.so $@
$(STRIPARM64) $@
clean:
rm -rf build src out