mirror of
https://github.com/dart-lang/sdk
synced 2024-10-14 11:03:19 +00:00
d87046342f
On x64 desktop in JIT the trampolines with Handles are a bit slower than trampolines passing integers or Pointers. FfiCall.Uint64x01(RunTime): 200.8482627033541 us. FfiCall.PointerUint8x01(RunTime): 261.3910088865656 us. FfiCall.Handlex01(RunTime): 355.4978670458585 us. FfiCall.Handlex02(RunTime): 384.86376755820663 us. FfiCall.Handlex04(RunTime): 492.896007885658 us. FfiCall.Handlex10(RunTime): 846.1214043993232 us. FfiCall.Handlex20(RunTime): 1193.412291169451 us. Issue: https://github.com/dart-lang/sdk/issues/36858 Issue: https://github.com/dart-lang/sdk/issues/41319 New issue for optimizing multiple handles: https://github.com/dart-lang/sdk/issues/42341 Also cleans up dart2/native which was erroneously left over from the benchmark duplication for NNBD. Change-Id: I81223fefc47129d00984492efb9502d5449f0d4a Cq-Include-Trybots: luci.dart.try:benchmark-linux-try Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/145593 Commit-Queue: Daco Harkes <dacoharkes@google.com> Reviewed-by: Jonas Termansen <sortie@google.com>
58 lines
1.9 KiB
Makefile
58 lines
1.9 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.
|
|
|
|
CC=gcc
|
|
CCARM=arm-linux-gnueabihf-gcc
|
|
CCARM64=aarch64-linux-gnu-gcc
|
|
CFLAGS=-Wall -g -O -fPIC
|
|
|
|
.PHONY: all clean
|
|
|
|
all: out/linux/x64/libnative_functions.so out/linux/ia32/libnative_functions.so out/linux/arm64/libnative_functions.so out/linux/arm/libnative_functions.so
|
|
|
|
cipd:
|
|
cipd create -name dart/benchmarks/fficall -in out -install-mode copy
|
|
|
|
clean:
|
|
rm -rf *.o *.so out
|
|
|
|
out/linux/x64:
|
|
mkdir -p out/linux/x64
|
|
|
|
out/linux/x64/native_functions.o: native_functions.c | out/linux/x64
|
|
$(CC) $(CFLAGS) -c -o $@ native_functions.c
|
|
|
|
out/linux/x64/libnative_functions.so: out/linux/x64/native_functions.o
|
|
$(CC) $(CFLAGS) -s -shared -o $@ out/linux/x64/native_functions.o
|
|
|
|
out/linux/ia32:
|
|
mkdir -p out/linux/ia32
|
|
|
|
out/linux/ia32/native_functions.o: native_functions.c | out/linux/ia32
|
|
$(CC) $(CFLAGS) -m32 -c -o $@ native_functions.c
|
|
|
|
out/linux/ia32/libnative_functions.so: out/linux/ia32/native_functions.o
|
|
$(CC) $(CFLAGS) -m32 -s -shared -o $@ out/linux/ia32/native_functions.o
|
|
|
|
out/linux/arm64:
|
|
mkdir -p out/linux/arm64
|
|
|
|
out/linux/arm64/native_functions.o: native_functions.c | out/linux/arm64
|
|
$(CCARM64) $(CFLAGS) -c -o $@ native_functions.c
|
|
|
|
out/linux/arm64/libnative_functions.so: out/linux/arm64/native_functions.o
|
|
$(CCARM64) $(CFLAGS) -s -shared -o $@ out/linux/arm64/native_functions.o
|
|
|
|
out/linux/arm:
|
|
mkdir -p out/linux/arm
|
|
|
|
out/linux/arm/native_functions.o: native_functions.c | out/linux/arm
|
|
$(CCARM) $(CFLAGS) -c -o $@ native_functions.c
|
|
|
|
out/linux/arm/libnative_functions.so: out/linux/arm/native_functions.o
|
|
$(CCARM) $(CFLAGS) -s -shared -o $@ out/linux/arm/native_functions.o
|