Skip to content

Commit 291d744

Browse files
authored
refactor (#3294)
* refactor * codestyle * refactor * remove JSONReaderASCIIVector * remove JSONReaderUTF16Vector * remove JSONReaderUTF8Vector and remove incubator-vector module * optimize JSONWriterUTF16JDK8UF * fix build error * bug fix * refactor * remove unused code * remove unused code * remove unused code * PREDICATE_IS_ASCII * simplify code
1 parent 714a2b6 commit 291d744

34 files changed

+1065
-2602
lines changed

benchmark/pom.xml

-23
Original file line numberDiff line numberDiff line change
@@ -32,13 +32,6 @@
3232
<artifactId>fastjson2-extension</artifactId>
3333
<version>${project.version}</version>
3434
</dependency>
35-
<!--
36-
<dependency>
37-
<groupId>com.alibaba.fastjson2</groupId>
38-
<artifactId>fastjson2-incubator-vector</artifactId>
39-
<version>${project.version}</version>
40-
</dependency>
41-
-->
4235
<dependency>
4336
<groupId>com.alibaba</groupId>
4437
<artifactId>fastjson</artifactId>
@@ -217,20 +210,4 @@
217210
</plugin>
218211
</plugins>
219212
</build>
220-
221-
<profiles>
222-
<profile>
223-
<id>enable-incubators-for-jdk17+</id>
224-
<activation>
225-
<jdk>[17,)</jdk>
226-
</activation>
227-
<dependencies>
228-
<dependency>
229-
<groupId>com.alibaba.fastjson2</groupId>
230-
<artifactId>fastjson2-incubator-vector</artifactId>
231-
<version>${project.version}</version>
232-
</dependency>
233-
</dependencies>
234-
</profile>
235-
</profiles>
236213
</project>

benchmark/src/test/java/com/alibaba/fastjson2/benchmark/eishay/EishayParseStringTest.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ public static void fastjson2() {
1414
}
1515
long millis = System.currentTimeMillis() - start;
1616
System.out.println("fastjson2 millis : " + millis);
17-
// zulu8.70.0.23 : 5569 5630 4435
17+
// zulu8.70.0.23 : 5569 5630 4435 4199 3851
1818
// zulu11.64.19 : 5022 5033 3754
1919
// zulu17.42.19 : 5377 5193 5222 5154 5116 5083 4987 4079
2020
}

benchmark/src/test/java/com/alibaba/fastjson2/benchmark/eishay/EishayParseUTF8BytesTest.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ public static void fastjson2() {
1313
}
1414
long millis = System.currentTimeMillis() - start;
1515
System.out.println("fastjson2 millis : " + millis);
16-
// zulu8.62.0.19 : 703 746 710 706 700 682 717 698 526 500 474
16+
// zulu8.62.0.19 : 703 746 710 706 700 682 717 698 526 500 474 445
1717
// zulu11.52.13 : 579 565 552 541 554 553 554 538 420 424 434
1818
// zulu17.40.19 : 600 604 597 593 578 567 447 420
1919
}
@@ -63,8 +63,8 @@ public static void jackson() throws Exception {
6363
}
6464

6565
public static void main(String[] args) throws Exception {
66-
// fastjson2();
67-
fastjson2_features();
66+
fastjson2();
67+
// fastjson2_features();
6868
// dsljson();
6969
// jackson();
7070
}

benchmark/src/test/java/com/alibaba/fastjson2/benchmark/eishay/EishayWriteStringTest.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ public static void fastjson2() {
1616
System.out.println("fastjson2 millis : " + millis);
1717
// zulu8.70.0.23 : 3001 2795
1818
// zulu11.62.17 : 3288 2549
19-
// zulu17.32.13 : 3305 2909 2503
19+
// zulu17.32.13 : 3305 2909 2503 2353
2020
// zulu17.40.91_vec : 2527 2536
2121
}
2222
}

benchmark/src/test/java/com/alibaba/fastjson2/benchmark/jjb/ClientsWriteUTF8BytesTest.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ public static void fastjson2() {
4040
long millis = System.currentTimeMillis() - start;
4141
System.out.println("ClientsWriteUTF8Bytes-fastjson2 millis : " + millis);
4242
// zulu8.70.0.23 : 1533 1493 1374 1353
43-
// zulu17.40.19 : 1419 1361 1356 1356 1317 1224 1212 1202 1182 979
43+
// zulu17.40.19 : 1419 1361 1356 1356 1317 1224 1212 1202 1182 979 949
4444
// zulu17.40.19_vec : 1116
4545
// zulu17.40.19_reflect : 1427
4646
}

core/src/main/java/com/alibaba/fastjson2/JSONFactory.java

-56
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,8 @@
1919
import java.time.ZoneId;
2020
import java.util.*;
2121
import java.util.concurrent.atomic.AtomicReferenceFieldUpdater;
22-
import java.util.function.Function;
2322
import java.util.function.Supplier;
2423

25-
import static com.alibaba.fastjson2.util.JDKUtils.VECTOR_BIT_LENGTH;
26-
2724
public final class JSONFactory {
2825
public static final class Conf {
2926
static final Properties DEFAULT_PROPERTIES;
@@ -93,11 +90,6 @@ public static String getProperty(String key) {
9390
static final NameCacheEntry[] NAME_CACHE = new NameCacheEntry[8192];
9491
static final NameCacheEntry2[] NAME_CACHE2 = new NameCacheEntry2[8192];
9592

96-
static final Function<JSONWriter.Context, JSONWriter> INCUBATOR_VECTOR_WRITER_CREATOR_UTF16;
97-
static final JSONReaderUTF8Creator INCUBATOR_VECTOR_READER_CREATOR_ASCII;
98-
static final JSONReaderUTF8Creator INCUBATOR_VECTOR_READER_CREATOR_UTF8;
99-
static final JSONReaderUTF16Creator INCUBATOR_VECTOR_READER_CREATOR_UTF16;
100-
10193
static int defaultDecimalMaxScale = 2048;
10294

10395
interface JSONReaderUTF8Creator {
@@ -164,8 +156,6 @@ public NameCacheEntry2(String name, long value0, long value1) {
164156
1.0e20, 1.0e21, 1.0e22
165157
};
166158

167-
static final Double DOUBLE_ZERO = (double) 0;
168-
169159
static {
170160
Properties properties = Conf.DEFAULT_PROPERTIES;
171161
{
@@ -227,52 +217,6 @@ public NameCacheEntry2(String name, long value0, long value1) {
227217
useJacksonAnnotation = getPropertyBool(properties, "fastjson2.useJacksonAnnotation", true);
228218
useGsonAnnotation = getPropertyBool(properties, "fastjson2.useGsonAnnotation", true);
229219
defaultWriterAlphabetic = getPropertyBool(properties, "fastjson2.writer.alphabetic", true);
230-
231-
boolean readerVector = getPropertyBool(properties, "fastjson2.readerVector", false);
232-
233-
Function<JSONWriter.Context, JSONWriter> incubatorVectorCreatorUTF16 = null;
234-
JSONReaderUTF8Creator readerCreatorASCII = null;
235-
JSONReaderUTF8Creator readerCreatorUTF8 = null;
236-
JSONReaderUTF16Creator readerCreatorUTF16 = null;
237-
if (JDKUtils.VECTOR_SUPPORT) {
238-
if (VECTOR_BIT_LENGTH >= 64) {
239-
try {
240-
Class<?> factoryClass = Class.forName("com.alibaba.fastjson2.JSONWriterUTF16Vector$Factory");
241-
incubatorVectorCreatorUTF16 = (Function<JSONWriter.Context, JSONWriter>) factoryClass.newInstance();
242-
} catch (Throwable e) {
243-
initErrorLast = e;
244-
}
245-
246-
if (readerVector) {
247-
try {
248-
Class<?> factoryClass = Class.forName("com.alibaba.fastjson2.JSONReaderASCIIVector$Factory");
249-
readerCreatorASCII = (JSONReaderUTF8Creator) factoryClass.newInstance();
250-
} catch (Throwable e) {
251-
initErrorLast = e;
252-
}
253-
254-
try {
255-
Class<?> factoryClass = Class.forName("com.alibaba.fastjson2.JSONReaderUTF8Vector$Factory");
256-
readerCreatorUTF8 = (JSONReaderUTF8Creator) factoryClass.newInstance();
257-
} catch (Throwable e) {
258-
initErrorLast = e;
259-
}
260-
}
261-
}
262-
263-
if (VECTOR_BIT_LENGTH >= 128 && readerVector) {
264-
try {
265-
Class<?> factoryClass = Class.forName("com.alibaba.fastjson2.JSONReaderUTF16Vector$Factory");
266-
readerCreatorUTF16 = (JSONReaderUTF16Creator) factoryClass.newInstance();
267-
} catch (Throwable e) {
268-
initErrorLast = e;
269-
}
270-
}
271-
}
272-
INCUBATOR_VECTOR_WRITER_CREATOR_UTF16 = incubatorVectorCreatorUTF16;
273-
INCUBATOR_VECTOR_READER_CREATOR_ASCII = readerCreatorASCII;
274-
INCUBATOR_VECTOR_READER_CREATOR_UTF8 = readerCreatorUTF8;
275-
INCUBATOR_VECTOR_READER_CREATOR_UTF16 = readerCreatorUTF16;
276220
}
277221

278222
private static boolean getPropertyBool(Properties properties, String name, boolean defaultValue) {

0 commit comments

Comments
 (0)