From 120add159a3625f5dd01c6d677be14ec2bb757c2 Mon Sep 17 00:00:00 2001 From: Pg Date: Fri, 20 Jun 2025 00:43:35 +0200 Subject: [PATCH] Improve file writing As ToSteam (used by XMLTransformer) writes char by char, using a buffered writer improves significantly the performance of the writing. --- api/revanced-patcher.api | 3 +++ src/main/kotlin/app/revanced/patcher/util/Document.kt | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/api/revanced-patcher.api b/api/revanced-patcher.api index 34ad9a23..2f173eb8 100644 --- a/api/revanced-patcher.api +++ b/api/revanced-patcher.api @@ -171,9 +171,12 @@ public final class app/revanced/patcher/patch/BytecodePatchContext : app/revance public final class app/revanced/patcher/patch/Option { public fun (Ljava/lang/String;Ljava/lang/Object;Ljava/util/Map;Ljava/lang/String;Ljava/lang/String;ZLkotlin/reflect/KType;Lkotlin/jvm/functions/Function2;)V public synthetic fun (Ljava/lang/String;Ljava/lang/Object;Ljava/util/Map;Ljava/lang/String;Ljava/lang/String;ZLkotlin/reflect/KType;Lkotlin/jvm/functions/Function2;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public fun (Ljava/lang/String;Ljava/lang/Object;Ljava/util/Map;Ljava/lang/String;ZLkotlin/reflect/KType;Lkotlin/jvm/functions/Function2;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/Object;Ljava/util/Map;Ljava/lang/String;ZLkotlin/reflect/KType;Lkotlin/jvm/functions/Function2;ILkotlin/jvm/internal/DefaultConstructorMarker;)V public final fun getDefault ()Ljava/lang/Object; public final fun getDescription ()Ljava/lang/String; public final fun getKey ()Ljava/lang/String; + public final fun getName ()Ljava/lang/String; public final fun getRequired ()Z public final fun getTitle ()Ljava/lang/String; public final fun getType ()Lkotlin/reflect/KType; diff --git a/src/main/kotlin/app/revanced/patcher/util/Document.kt b/src/main/kotlin/app/revanced/patcher/util/Document.kt index 545ea554..e69672a1 100644 --- a/src/main/kotlin/app/revanced/patcher/util/Document.kt +++ b/src/main/kotlin/app/revanced/patcher/util/Document.kt @@ -34,7 +34,7 @@ class Document internal constructor( readerCount.remove(it) } - it.outputStream().use { stream -> + it.outputStream().buffered().use { stream -> TransformerFactory.newInstance() .newTransformer() .transform(DOMSource(this), StreamResult(stream))