]> source.dussan.org Git - vaadin-framework.git/commit
Optimizes memory and CPU usage in JSONCodec (#13545)
authorFabian Lange <lange.fabian@gmail.com>
Thu, 3 Apr 2014 20:35:51 +0000 (22:35 +0200)
committerFabian Lange <lange.fabian@gmail.com>
Wed, 9 Apr 2014 09:47:21 +0000 (11:47 +0200)
commit52db8e5457e1afcb56a5047adbddf15c44754e8c
tree4af8ba00cb3ca2a1dd751e89a34aec7071bb4ae4
parent3edf6bd933804413094aca2cd678a0f58369d7d0
Optimizes memory and CPU usage in JSONCodec (#13545)

The null element and the empty JSONArray are frequently created and used
as temporary objects to be encoded by the json encoder. Because they are
never manipulated it is possible to reuse the same empty element again
and save a significant amount of temp objects.
This also helps jsonEquals, which then can return faster due to:
if (fieldValue == referenceValue) return true

jsonEquals does not need to check the referenceValue for JSONobject.NULL.
The invoking code makes sure this never happens.
Boolean and Integer values are very often and much more efficiently
compared directly instead of using toString.

Change-Id: I5fd736427019406469357cda1115d2683b7a5e2b
server/src/com/vaadin/server/JsonCodec.java
server/tests/src/com/vaadin/tests/server/TestClassesSerializable.java