Aikar
69b80568e9
Concurrency and Performance Improvements to DataFixers
...
Found some more unsafe operations in DataFixers.
Also replaced quite a few bad uses of Map.containsKey
containsKey is a common newbie mistake that "reads" cleaner, but
results in double the performance cost of all map operations as
containsKey in MOST cases where null values are not used is identical to get() == null
Considering how deep datafixers go in call stacks, with tons of map lookups,
this micro optimization could provide some gains.
Additionally, many of the containsKey/get/put style operations were
also a concurrency risk, resulting in multiple computation/insertions.
2018-09-15 13:22:14 -04:00
..
2018-09-01 11:09:13 +01:00
2018-08-31 18:56:57 -04:00
2018-08-31 18:56:57 -04:00
2018-08-31 18:56:57 -04:00
2018-08-31 18:56:57 -04:00
2018-09-07 23:49:37 -04:00
2018-09-10 22:38:42 -04:00
2018-09-07 23:49:37 -04:00
2018-09-09 15:26:56 -04:00
2018-09-15 12:10:26 -04:00
2018-09-03 12:31:32 -04:00
2018-09-09 15:26:56 -04:00
2018-09-09 20:38:27 +02:00
2018-09-03 15:22:41 -04:00
2018-09-09 20:38:27 +02:00
2018-08-31 18:56:57 -04:00
2018-09-09 20:38:27 +02:00
2018-08-31 18:56:57 -04:00
2018-09-09 15:26:56 -04:00
2018-09-03 18:59:54 -05:00
2018-09-06 22:08:35 -04:00
2018-09-07 23:49:37 -04:00
2018-09-09 01:04:29 -04:00
2018-09-09 15:26:56 -04:00
2018-09-07 23:49:37 -04:00
2018-09-07 23:49:37 -04:00
2018-09-10 22:38:42 -04:00
2018-09-09 11:53:23 -05:00
2018-08-31 18:56:57 -04:00
2018-09-07 23:49:37 -04:00
2018-09-07 23:49:37 -04:00
2018-09-15 12:10:26 -04:00
2018-09-09 15:29:22 -04:00
2018-09-09 17:51:25 -04:00
2018-09-09 20:38:27 +02:00
2018-09-07 23:49:37 -04:00
2018-09-15 12:10:26 -04:00
2018-09-07 23:49:37 -04:00
2018-08-26 14:11:49 -04:00
2018-09-02 21:44:27 -04:00
2018-08-26 14:11:49 -04:00
2018-09-15 12:10:26 -04:00
2018-08-31 18:56:57 -04:00
2018-09-09 20:38:27 +02:00
2018-09-15 12:10:26 -04:00
2018-09-15 12:10:26 -04:00
2018-09-10 22:38:42 -04:00
2018-08-31 18:56:57 -04:00
2018-09-10 22:38:42 -04:00
2018-09-01 11:09:13 +01:00
2018-08-31 18:56:57 -04:00
2018-08-31 18:56:57 -04:00
2018-09-09 20:38:27 +02:00
2018-08-31 18:56:57 -04:00
2018-09-01 11:09:13 +01:00
2018-09-15 12:10:26 -04:00
2018-09-07 23:49:37 -04:00
2018-08-31 18:56:57 -04:00
2018-09-09 20:38:27 +02:00
2018-09-07 23:49:37 -04:00
2018-09-15 12:10:26 -04:00
2018-08-31 18:56:57 -04:00
2018-09-09 15:26:56 -04:00
2018-09-15 12:10:26 -04:00
2018-08-31 18:56:57 -04:00
2018-09-09 15:26:56 -04:00
2018-08-31 18:56:57 -04:00
2018-08-31 18:56:57 -04:00
2018-08-31 18:56:57 -04:00
2018-09-09 15:29:22 -04:00
2018-09-15 12:10:26 -04:00
2018-09-09 15:26:56 -04:00
2018-09-09 15:26:56 -04:00
2018-08-31 18:56:57 -04:00
2018-09-03 12:31:32 -04:00
2018-09-07 23:49:37 -04:00
2018-09-15 12:10:26 -04:00
2018-09-15 12:10:26 -04:00
2018-09-03 04:14:40 -04:00
2018-09-15 12:10:26 -04:00
2018-09-09 20:38:27 +02:00
2018-08-31 18:56:57 -04:00
2018-08-26 14:11:49 -04:00
2018-09-15 12:10:26 -04:00
2018-09-07 23:49:37 -04:00
2018-08-31 18:56:57 -04:00
2018-09-07 19:03:38 -05:00
2018-09-01 11:09:13 +01:00
2018-08-26 14:11:49 -04:00
2018-08-31 18:56:57 -04:00
2018-09-15 13:22:14 -04:00
2018-09-03 04:14:40 -04:00
2018-09-10 22:38:42 -04:00
2018-08-31 18:56:57 -04:00
2018-08-28 23:16:31 -04:00
2018-09-15 12:10:26 -04:00
2018-09-01 11:33:50 +01:00
2018-08-31 18:56:57 -04:00
2018-08-05 19:46:43 -04:00
2018-09-01 11:09:13 +01:00
2018-09-07 23:49:37 -04:00
2018-09-07 23:49:37 -04:00
2018-07-23 09:39:55 +01:00
2018-09-01 11:09:13 +01:00
2018-08-26 14:11:49 -04:00
2018-09-15 12:10:26 -04:00
2018-08-31 18:56:57 -04:00
2018-08-27 11:07:22 -04:00
2018-09-07 23:49:37 -04:00
2018-09-15 12:10:26 -04:00
2018-08-31 18:56:57 -04:00
2018-09-09 20:38:27 +02:00
2018-09-11 17:48:17 -04:00
2018-09-15 12:10:26 -04:00
2018-09-09 15:26:56 -04:00
2018-07-23 09:39:55 +01:00
2018-09-03 10:11:35 -04:00
2018-09-09 15:26:56 -04:00
2018-09-09 01:04:29 -04:00
2018-08-31 18:56:57 -04:00
2018-09-07 23:49:37 -04:00
2018-08-31 18:56:57 -04:00
2018-09-03 10:11:35 -04:00
2018-08-31 18:56:57 -04:00
2018-08-31 18:56:57 -04:00
2018-09-09 15:26:56 -04:00
2018-09-13 22:36:38 -04:00
2018-09-08 02:14:48 +02:00
2018-09-03 18:59:54 -05:00
2018-09-09 21:45:54 -04:00
2018-08-31 18:56:57 -04:00
2018-09-09 20:38:27 +02:00
2018-09-12 21:50:34 -04:00
2018-08-31 18:56:57 -04:00
2018-09-10 22:38:42 -04:00
2018-08-31 18:56:57 -04:00
2018-09-09 20:38:27 +02:00
2018-09-07 23:49:37 -04:00
2018-09-15 12:10:26 -04:00
2018-09-07 23:49:37 -04:00
2018-09-15 12:10:26 -04:00
2018-08-31 18:56:57 -04:00
2018-08-31 18:56:57 -04:00
2018-08-31 18:56:57 -04:00
2018-08-31 18:56:57 -04:00
2018-09-07 23:49:37 -04:00
2018-08-31 18:56:57 -04:00
2018-09-15 12:10:26 -04:00
2018-09-09 15:26:56 -04:00
2018-09-09 15:26:56 -04:00
2018-09-07 23:49:37 -04:00
2018-08-31 18:56:57 -04:00
2018-09-15 12:10:26 -04:00
2018-09-01 11:33:50 +01:00
2018-09-01 11:09:13 +01:00
2018-08-31 18:56:57 -04:00
2018-08-31 18:56:57 -04:00
2018-09-09 20:38:27 +02:00
2018-08-26 14:11:49 -04:00
2018-09-09 15:29:22 -04:00
2018-09-10 23:38:16 -04:00
2018-08-31 18:56:57 -04:00
2018-08-26 14:11:49 -04:00
2018-09-12 21:58:38 -04:00
2018-09-12 21:18:31 -04:00
2018-09-12 21:17:59 -04:00
2018-08-31 18:56:57 -04:00
2018-09-10 22:38:42 -04:00
2018-09-15 12:10:26 -04:00
2018-09-09 20:38:27 +02:00
2018-09-07 23:49:37 -04:00
2018-09-09 15:26:56 -04:00
2018-09-10 22:38:42 -04:00
2018-08-31 18:56:57 -04:00
2018-09-09 20:38:27 +02:00
2018-08-31 18:56:57 -04:00
2018-08-31 18:56:57 -04:00
2018-09-07 23:49:37 -04:00
2018-09-07 23:49:37 -04:00
2018-09-15 12:10:26 -04:00
2018-09-15 12:10:26 -04:00
2018-09-09 20:38:27 +02:00
2018-09-15 12:10:26 -04:00
2018-08-31 18:56:57 -04:00
2018-09-09 20:38:27 +02:00
2018-09-07 23:49:37 -04:00
2018-08-31 18:56:57 -04:00
2018-08-31 18:56:57 -04:00
2018-09-03 04:14:40 -04:00
2018-09-03 18:59:54 -05:00
2018-09-15 12:10:26 -04:00
2018-09-09 20:38:27 +02:00
2018-09-07 23:49:37 -04:00
2018-09-06 22:08:35 -04:00
2018-09-15 12:10:26 -04:00
2018-08-26 14:11:49 -04:00
2018-08-31 18:56:57 -04:00
2018-09-01 11:09:13 +01:00
2018-09-15 12:10:26 -04:00