From c71482da662ca27f40a75f5f879c23b0339db33e Mon Sep 17 00:00:00 2001 From: James Gilles Date: Fri, 13 Jan 2017 19:56:53 -0500 Subject: [PATCH] Reduce trigonometric function costs by an order of magnitude --- .../bytecode/resources/MethodCosts.txt | 232 +++++++++--------- 1 file changed, 116 insertions(+), 116 deletions(-) diff --git a/src/main/battlecode/instrumenter/bytecode/resources/MethodCosts.txt b/src/main/battlecode/instrumenter/bytecode/resources/MethodCosts.txt index 424ed31e..84c99361 100644 --- a/src/main/battlecode/instrumenter/bytecode/resources/MethodCosts.txt +++ b/src/main/battlecode/instrumenter/bytecode/resources/MethodCosts.txt @@ -3,8 +3,8 @@ battlecode/common/Clock/getBytecodesLeft 0 true battlecode/common/Clock/getBytecodeNum 0 true battlecode/common/Direction/degreesBetween 1 false battlecode/common/Direction/getAngleDegrees 1 false -battlecode/common/Direction/getDeltaX 5 false -battlecode/common/Direction/getDeltaY 5 false +battlecode/common/Direction/getDeltaX 1 false +battlecode/common/Direction/getDeltaY 1 false battlecode/common/Direction/getEast 1 false battlecode/common/Direction/getNorth 1 false battlecode/common/Direction/getSouth 1 false @@ -15,22 +15,22 @@ battlecode/common/Direction/rotateLeftDegrees 1 false battlecode/common/Direction/rotateLeftRads 1 false battlecode/common/Direction/rotateRightDegrees 1 false battlecode/common/Direction/rotateRightRads 1 false -battlecode/common/MapLocation/add 5 false -battlecode/common/MapLocation/compareTo 1 false -battlecode/common/MapLocation/directionTo 10 false -battlecode/common/MapLocation/distanceSquaredTo 10 false -battlecode/common/MapLocation/distanceTo 10 false -battlecode/common/MapLocation/equals 1 false -battlecode/common/MapLocation/hashCode 10 false -battlecode/common/MapLocation/isWithinBulletSightRadius 10 false -battlecode/common/MapLocation/isWithinDistance 10 false -battlecode/common/MapLocation/isWithinSensorRadius 10 false -battlecode/common/MapLocation/isWithinStrideDistance 10 false -battlecode/common/MapLocation/subtract 5 false -battlecode/common/MapLocation/toString 5 false -battlecode/common/MapLocation/translate 10 false -battlecode/common/MapLocation/valueOf 25 false -battlecode/common/MapLocation/doCirclesCollide 10 false +battlecode/common/MapLocation/add 2 false +battlecode/common/MapLocation/compareTo 2 false +battlecode/common/MapLocation/directionTo 2 false +battlecode/common/MapLocation/distanceSquaredTo 2 false +battlecode/common/MapLocation/distanceTo 2 false +battlecode/common/MapLocation/equals 2 false +battlecode/common/MapLocation/hashCode 2 false +battlecode/common/MapLocation/isWithinBulletSightRadius 2 false +battlecode/common/MapLocation/isWithinDistance 2 false +battlecode/common/MapLocation/isWithinSensorRadius 2 false +battlecode/common/MapLocation/isWithinStrideDistance 2 false +battlecode/common/MapLocation/subtract 2 false +battlecode/common/MapLocation/toString 2 false +battlecode/common/MapLocation/translate 2 false +battlecode/common/MapLocation/valueOf 25 false +battlecode/common/MapLocation/doCirclesCollide 4 false battlecode/common/RobotController/broadcast 10 true battlecode/common/RobotController/buildRobot 0 true battlecode/common/RobotController/canBuildRobot 10 true @@ -108,101 +108,101 @@ battlecode/common/RobotController/strike 0 true battlecode/common/RobotController/water 0 true battlecode/common/Team/opponent 1 false battlecode/common/Team/isPlayer 1 false -java/lang/Math/IEEEremainder 10 false -java/lang/Math/abs 5 false -java/lang/Math/acos 10 false -java/lang/Math/asin 10 false -java/lang/Math/atan 10 false -java/lang/Math/atan2 10 false -java/lang/Math/cbrt 10 false -java/lang/Math/ceil 10 false -java/lang/Math/copySign 5 false -java/lang/Math/cos 10 false -java/lang/Math/cosh 10 false -java/lang/Math/exp 10 false -java/lang/Math/expm1 10 false -java/lang/Math/floor 10 false -java/lang/Math/getExponent 5 false -java/lang/Math/hypot 10 false -java/lang/Math/log 10 false -java/lang/Math/log10 10 false -java/lang/Math/log1p 10 false -java/lang/Math/max 5 false -java/lang/Math/min 5 false -java/lang/Math/nextAfter 5 false -java/lang/Math/nextUp 5 false -java/lang/Math/pow 10 false -java/lang/Math/rint 10 false -java/lang/Math/round 10 false -java/lang/Math/scalb 10 false -java/lang/Math/signum 5 false -java/lang/Math/sin 10 false -java/lang/Math/sinh 10 false -java/lang/Math/sqrt 10 false -java/lang/Math/tan 10 false -java/lang/Math/tanh 10 false -java/lang/Math/toDegrees 5 false -java/lang/Math/toRadians 5 false -java/lang/Math/ulp 10 false -java/lang/StrictMath/IEEEremainder 10 false -java/lang/StrictMath/abs 5 false -java/lang/StrictMath/acos 10 false -java/lang/StrictMath/asin 10 false -java/lang/StrictMath/atan 10 false -java/lang/StrictMath/atan2 10 false -java/lang/StrictMath/cbrt 10 false -java/lang/StrictMath/ceil 10 false -java/lang/StrictMath/copySign 5 false -java/lang/StrictMath/cos 10 false -java/lang/StrictMath/cosh 10 false -java/lang/StrictMath/exp 10 false -java/lang/StrictMath/expm1 10 false -java/lang/StrictMath/floor 10 false -java/lang/StrictMath/getExponent 5 false -java/lang/StrictMath/hypot 10 false -java/lang/StrictMath/log 10 false -java/lang/StrictMath/log10 10 false -java/lang/StrictMath/log1p 10 false -java/lang/StrictMath/max 5 false -java/lang/StrictMath/min 5 false -java/lang/StrictMath/nextAfter 5 false -java/lang/StrictMath/nextUp 5 false -java/lang/StrictMath/pow 10 false -java/lang/StrictMath/rint 10 false -java/lang/StrictMath/round 10 false -java/lang/StrictMath/scalb 10 false -java/lang/StrictMath/signum 5 false -java/lang/StrictMath/sin 10 false -java/lang/StrictMath/sinh 10 false -java/lang/StrictMath/sqrt 10 false -java/lang/StrictMath/tan 10 false -java/lang/StrictMath/tanh 10 false -java/lang/StrictMath/toDegrees 5 false -java/lang/StrictMath/toRadians 5 false -java/lang/StrictMath/ulp 10 false -java/lang/String/compareTo 15 false -java/lang/String/compareToIgnoreCase 15 false -java/lang/String/contains 30 false -java/lang/String/contentEquals 10 false -java/lang/String/endsWith 20 false -java/lang/String/equals 10 false -java/lang/String/equalsIgnoreCase 10 false -java/lang/String/indexOf 30 false -java/lang/String/lastIndexOf 30 false -java/lang/String/regionMatches 30 false -java/lang/String/replace 50 false -java/lang/String/startsWith 20 false -java/lang/StringBuffer/append 10 false -java/lang/StringBuffer/delete 20 false -java/lang/StringBuffer/deleteCharAt 10 false -java/lang/StringBuffer/indexOf 30 false -java/lang/StringBuffer/insert 20 false -java/lang/StringBuffer/lastIndexOf 30 false -java/lang/StringBuffer/replace 50 false -java/lang/StringBuilder/append 10 false -java/lang/StringBuilder/delete 20 false -java/lang/StringBuilder/deleteCharAt 10 false -java/lang/StringBuilder/indexOf 30 false -java/lang/StringBuilder/insert 20 false -java/lang/StringBuilder/lastIndexOf 30 false -java/lang/StringBuilder/replace 50 false +java/lang/Math/IEEEremainder 1 false +java/lang/Math/abs 1 false +java/lang/Math/acos 1 false +java/lang/Math/asin 1 false +java/lang/Math/atan 1 false +java/lang/Math/atan2 1 false +java/lang/Math/cbrt 1 false +java/lang/Math/ceil 1 false +java/lang/Math/copySign 1 false +java/lang/Math/cos 1 false +java/lang/Math/cosh 1 false +java/lang/Math/exp 1 false +java/lang/Math/expm1 1 false +java/lang/Math/floor 1 false +java/lang/Math/getExponent 1 false +java/lang/Math/hypot 1 false +java/lang/Math/log 1 false +java/lang/Math/log10 1 false +java/lang/Math/log1p 1 false +java/lang/Math/max 1 false +java/lang/Math/min 1 false +java/lang/Math/nextAfter 1 false +java/lang/Math/nextUp 1 false +java/lang/Math/pow 1 false +java/lang/Math/rint 1 false +java/lang/Math/round 1 false +java/lang/Math/scalb 1 false +java/lang/Math/signum 1 false +java/lang/Math/sin 1 false +java/lang/Math/sinh 1 false +java/lang/Math/sqrt 1 false +java/lang/Math/tan 1 false +java/lang/Math/tanh 1 false +java/lang/Math/toDegrees 1 false +java/lang/Math/toRadians 1 false +java/lang/Math/ulp 1 false +java/lang/StrictMath/IEEEremainder 1 false +java/lang/StrictMath/abs 1 false +java/lang/StrictMath/acos 1 false +java/lang/StrictMath/asin 1 false +java/lang/StrictMath/atan 1 false +java/lang/StrictMath/atan2 1 false +java/lang/StrictMath/cbrt 1 false +java/lang/StrictMath/ceil 1 false +java/lang/StrictMath/copySign 1 false +java/lang/StrictMath/cos 1 false +java/lang/StrictMath/cosh 1 false +java/lang/StrictMath/exp 1 false +java/lang/StrictMath/expm1 1 false +java/lang/StrictMath/floor 1 false +java/lang/StrictMath/getExponent 1 false +java/lang/StrictMath/hypot 1 false +java/lang/StrictMath/log 1 false +java/lang/StrictMath/log10 1 false +java/lang/StrictMath/log1p 1 false +java/lang/StrictMath/max 1 false +java/lang/StrictMath/min 1 false +java/lang/StrictMath/nextAfter 1 false +java/lang/StrictMath/nextUp 1 false +java/lang/StrictMath/pow 1 false +java/lang/StrictMath/rint 1 false +java/lang/StrictMath/round 1 false +java/lang/StrictMath/scalb 1 false +java/lang/StrictMath/signum 1 false +java/lang/StrictMath/sin 1 false +java/lang/StrictMath/sinh 1 false +java/lang/StrictMath/sqrt 1 false +java/lang/StrictMath/tan 1 false +java/lang/StrictMath/tanh 1 false +java/lang/StrictMath/toDegrees 1 false +java/lang/StrictMath/toRadians 1 false +java/lang/StrictMath/ulp 1 false +java/lang/String/compareTo 1 false +java/lang/String/compareToIgnoreCase 1 false +java/lang/String/contains 1 false +java/lang/String/contentEquals 1 false +java/lang/String/endsWith 1 false +java/lang/String/equals 1 false +java/lang/String/equalsIgnoreCase 1 false +java/lang/String/indexOf 1 false +java/lang/String/lastIndexOf 1 false +java/lang/String/regionMatches 1 false +java/lang/String/replace 1 false +java/lang/String/startsWith 1 false +java/lang/StringBuffer/append 1 false +java/lang/StringBuffer/delete 1 false +java/lang/StringBuffer/deleteCharAt 1 false +java/lang/StringBuffer/indexOf 1 false +java/lang/StringBuffer/insert 1 false +java/lang/StringBuffer/lastIndexOf 1 false +java/lang/StringBuffer/replace 1 false +java/lang/StringBuilder/append 1 false +java/lang/StringBuilder/delete 1 false +java/lang/StringBuilder/deleteCharAt 1 false +java/lang/StringBuilder/indexOf 1 false +java/lang/StringBuilder/insert 1 false +java/lang/StringBuilder/lastIndexOf 1 false +java/lang/StringBuilder/replace 1 false