java抛异常与直接返回比较
程序员文章站
2022-06-12 21:35:04
...
使用异常能使代码清晰,那抛异常与返回状态码的性能差多少呢。
闲来无事,做个测试
先上测试代码
1抛异常的
2直接返回的
分别执行10次结果
分别去掉最大最小耗时求和得出
闲来无事,做个测试
先上测试代码
1抛异常的
static void f2() { throw new RuntimeException("1"); } public static void main(String[] args) { long a = System.nanoTime(); for (int i = 0; i < 10000000; i++) { try { f2(); } catch (Exception e) { String s=e.getMessage(); } } long b = System.nanoTime(); System.out.println(b-a); }
2直接返回的
static String f1() { return "1"; } public static void main(String[] args) { long a = System.nanoTime(); for (int i = 0; i < 10000000; i++) { String s=f1(); } long b = System.nanoTime(); System.out.println(b-a); }
分别执行10次结果
直接返回 | 抛异常 |
10971157 | 10890656983 |
9833024 | 10809811373 |
12002224 | 10813899951 |
15228402 | 10740746030 |
65847475 | 10736142652 |
9674623 | 10735044607 |
8212356 | 11051365537 |
10112668 | 10746780876 |
9975290 | 10764845322 |
11647779 | 10846855466 |
分别去掉最大最小耗时求和得出
直接返回 | 抛异常 | 抛异常/直接返回 |
89445167 | 86349738653 | 965.3930061 |