Smack/smack-core/src/main/java/org/jivesoftware/smack/util
Florian Schmaus 6322f4f826 [core] Add global option to flatten when appending in XmlStringBuilder
For certain use cases, this provides a performance improvement,
probably due better cache locality. However, it comes with the cost of
additional memory consumption.

This was initially suggested by Boris Grozev, who also reported a
significant performance problem of
XmlStringBuilder/LazyStringBuilder. However, the main cause of the
performance probelm was the missing caching of LazyStringBuilder. The
length of the lazy string is now cached by LazyStringBuidler since
70e48300a6 ("[core] Cache length in LazyStringBuilder"), which
accounts for large performance improvement. A significantly smaller
improvement is achieved by this commit and setting
XmlStringBuilder.FLAT_APPEND to 'true'.

Suggested-by: Boris Grozev <boris@jitsi.org>
2023-11-26 21:34:13 +01:00
..
dns Migrate markdown documentation to javadoc 2023-02-03 09:50:35 +01:00
rce Add smack-websocket-java11 2021-02-14 20:34:40 +01:00
stringencoder Bump ErrorProne to 2.5.1 and refactor Providers a bit 2021-01-29 09:26:15 +01:00
ArrayBlockingQueueWithShutdown.java [tcp] Do not send SM ack after we send a </stream:stream> 2020-09-18 14:36:26 +02:00
Async.java Enable werror for javadoc and fix javadoc issues 2019-08-30 12:08:30 +02:00
BooleansUtils.java Improve message of StressTestFailedException.NotAllMessagesReceivedException 2019-02-17 21:47:16 +01:00
ByteUtils.java Enable werror for javadoc and fix javadoc issues 2019-08-30 12:08:30 +02:00
CallbackRecipient.java Add "whitespace after comma" checkstyle rule 2019-05-17 21:56:46 +02:00
CleaningWeakReferenceMap.java fix: Cleans the multiUserChats map. 2018-05-21 14:54:23 -05:00
CloseableUtil.java Add CloseableUtil.maybeClose(Closeable) 2019-05-18 13:25:31 +02:00
CollectionUtil.java [sinttest] Allow the selection of individual test *methods* 2021-12-13 21:08:45 +01:00
Consumer.java Add util.Consumer and use it in StateDescriptorGraph 2019-09-23 16:12:48 +02:00
DNSUtil.java Introduce Smack's Modular Connection Architecture 2020-04-04 13:03:31 +02:00
DefaultCharSequence.java [ibb] Use UInt16 for 'seq' and fix its handling 2020-12-05 23:04:17 +01:00
DoOnce.java [core] Add DoOnce utility 2021-11-01 19:27:09 +01:00
EqualsUtil.java core: add shortcut via hash in EqualsUtil 2020-04-13 20:40:10 +02:00
EventManger.java Enable werror for javadoc and fix javadoc issues 2019-08-30 12:08:30 +02:00
ExceptionCallback.java Fix minor codestyle issues 2017-12-17 11:19:41 +01:00
ExceptionUtil.java Make ExceptionUtil.getStackTrace(Throwable) null safe 2019-07-04 15:47:46 +02:00
ExtendedAppendable.java Introduce AbstractStats 2020-05-18 09:15:14 +02:00
FileUtils.java [core] Make Smack.getNoticeStream() more robust 2021-03-25 14:58:44 +01:00
Function.java Introduce Smack's Modular Connection Architecture 2020-04-04 13:03:31 +02:00
HashCode.java Introduce EqualsUtil and HashCode.(Builder|Cache) 2019-06-12 14:51:17 +02:00
InternetAddress.java [core] Add InternetAddress.fromIgnoringZoneId(String) 2023-02-12 16:06:53 +01:00
LazyStringBuilder.java [core] Cache length in LazyStringBuilder 2023-11-26 21:24:17 +01:00
MAC.java Add SCRAM-SHA1 support 2014-10-21 15:03:48 +02:00
MD5.java Don't reinvent methods in HashManager 2017-08-16 14:55:25 +02:00
MultiMap.java Bump ErrorProne to 2.5.1 and refactor Providers a bit 2021-01-29 09:26:15 +01:00
NumberUtil.java [core] Improve NumberUtil's exception message and fix javadoc 2020-05-24 13:08:03 +02:00
Objects.java Enable werror for javadoc and fix javadoc issues 2019-08-30 12:08:30 +02:00
ObservableReader.java Enable trailing whitespace checkstyle check 2018-05-09 23:26:39 +02:00
ObservableWriter.java Enable trailing whitespace checkstyle check 2018-05-09 23:26:39 +02:00
OutputStreamUtil.java proxy: modernize code by using (ByteArrayOutput|DataInput)Stream 2020-02-23 19:12:54 +01:00
PacketParserUtils.java Merge branch '4.4' 2023-03-17 18:20:20 +01:00
PacketUtil.java Make ExtensionElement marker interface wrt. QNAME field 2021-04-18 21:07:19 +02:00
Pair.java Add Pair utility class 2020-09-23 19:46:01 +02:00
ParserUtils.java Merge branch '4.4' 2023-03-17 18:20:20 +01:00
Predicate.java Introduce XMPPConnection.add(Message|Presence)Interceptor 2019-10-25 21:41:55 +02:00
RandomUtil.java [core] Add RandomUtil.fillWithSecureRandom(byte[]) 2021-03-14 12:48:01 +01:00
ReaderListener.java Enable trailing whitespace checkstyle check 2018-05-09 23:26:39 +02:00
SHA1.java Don't reinvent methods in HashManager 2017-08-16 14:55:25 +02:00
SecurityUtil.java OpenPGP: Bump Pgpainless to 0.0.1-alpha7 2019-07-30 09:37:19 +02:00
SslContextFactory.java [core] Rework TLS logic 2020-05-25 15:41:57 +02:00
StringUtils.java [xdata] Safe the raw character data of form field values 2021-07-19 15:38:42 +02:00
SuccessCallback.java Merge branch '4.2' into master-paul-merged 2017-12-17 11:16:02 +01:00
Supplier.java Remove SynchronizationPoint 2020-05-31 19:48:47 +02:00
SystemUtil.java Throw exception if smack-java7 is loaded on Android 2015-04-25 22:53:46 +02:00
TLSUtils.java [core] Rework TLS logic 2020-05-25 15:41:57 +02:00
ToStringUtil.java Introduce StanzaBuilder 2019-10-25 21:41:55 +02:00
UTF8.java SmackReactor/NIO, Java8/Android19, Pretty print XML, FSM connections 2019-02-05 13:18:03 +01:00
WriterListener.java Enable trailing whitespace checkstyle check 2018-05-09 23:26:39 +02:00
XmlStringBuilder.java [core] Add global option to flatten when appending in XmlStringBuilder 2023-11-26 21:34:13 +01:00
XmlUtil.java [xdata] Use extra registry for fields in clark notation 2021-03-02 11:43:23 +01:00
XmppElementUtil.java Make ExtensionElement marker interface wrt. QNAME field 2021-04-18 21:07:19 +02:00
package-info.java Add JavadocPackage checkstyle 2015-04-04 17:16:47 +02:00