From ae6a114965bfd20038ae3c1242130511d8774385 Mon Sep 17 00:00:00 2001 From: Philippe Marschall Date: Sun, 21 Aug 2022 12:30:24 +0200 Subject: [PATCH 1/2] Avoid copies in GRPharoZnCodecStream Fixes #143 --- .../instance/greaseNext.putAll.startingAt..st | 2 +- .../GRPharoZnCodecStream.class/instance/nextPutAll..st | 2 +- .../instance/greaseNext.putAll.startingAt..st | 2 +- .../GRPharoZnUtf8CodecStream.class/instance/nextPutAll..st | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/repository/Grease-Pharo100-Core.package/GRPharoZnCodecStream.class/instance/greaseNext.putAll.startingAt..st b/repository/Grease-Pharo100-Core.package/GRPharoZnCodecStream.class/instance/greaseNext.putAll.startingAt..st index 73411a20..eed7aded 100644 --- a/repository/Grease-Pharo100-Core.package/GRPharoZnCodecStream.class/instance/greaseNext.putAll.startingAt..st +++ b/repository/Grease-Pharo100-Core.package/GRPharoZnCodecStream.class/instance/greaseNext.putAll.startingAt..st @@ -1,3 +1,3 @@ accessing greaseNext: anInteger putAll: aCollection startingAt: startIndex - self nextPutAll: (aCollection copyFrom: startIndex to: startIndex + anInteger - 1) \ No newline at end of file + encoder next: anInteger putAll: aCollection startingAt: startIndex toStream: stream \ No newline at end of file diff --git a/repository/Grease-Pharo100-Core.package/GRPharoZnCodecStream.class/instance/nextPutAll..st b/repository/Grease-Pharo100-Core.package/GRPharoZnCodecStream.class/instance/nextPutAll..st index f8f3e8e4..f108177b 100644 --- a/repository/Grease-Pharo100-Core.package/GRPharoZnCodecStream.class/instance/nextPutAll..st +++ b/repository/Grease-Pharo100-Core.package/GRPharoZnCodecStream.class/instance/nextPutAll..st @@ -1,3 +1,3 @@ streaming nextPutAll: aString - aString asString do:[ :each | self nextPut: each ] \ No newline at end of file + encoder next: aString size putAll: aString startingAt: 1 toStream: stream \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoZnUtf8CodecStream.class/instance/greaseNext.putAll.startingAt..st b/repository/Grease-Pharo90-Core.package/GRPharoZnUtf8CodecStream.class/instance/greaseNext.putAll.startingAt..st index 73411a20..eed7aded 100644 --- a/repository/Grease-Pharo90-Core.package/GRPharoZnUtf8CodecStream.class/instance/greaseNext.putAll.startingAt..st +++ b/repository/Grease-Pharo90-Core.package/GRPharoZnUtf8CodecStream.class/instance/greaseNext.putAll.startingAt..st @@ -1,3 +1,3 @@ accessing greaseNext: anInteger putAll: aCollection startingAt: startIndex - self nextPutAll: (aCollection copyFrom: startIndex to: startIndex + anInteger - 1) \ No newline at end of file + encoder next: anInteger putAll: aCollection startingAt: startIndex toStream: stream \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoZnUtf8CodecStream.class/instance/nextPutAll..st b/repository/Grease-Pharo90-Core.package/GRPharoZnUtf8CodecStream.class/instance/nextPutAll..st index f8f3e8e4..f108177b 100644 --- a/repository/Grease-Pharo90-Core.package/GRPharoZnUtf8CodecStream.class/instance/nextPutAll..st +++ b/repository/Grease-Pharo90-Core.package/GRPharoZnUtf8CodecStream.class/instance/nextPutAll..st @@ -1,3 +1,3 @@ streaming nextPutAll: aString - aString asString do:[ :each | self nextPut: each ] \ No newline at end of file + encoder next: aString size putAll: aString startingAt: 1 toStream: stream \ No newline at end of file From c75b7d41eb20d964bcf26e91468ab8bde4eee4f6 Mon Sep 17 00:00:00 2001 From: Philippe Marschall Date: Mon, 29 Aug 2022 12:17:28 +0200 Subject: [PATCH 2/2] Add lost #asString --- .../GRPharoZnCodecStream.class/instance/nextPutAll..st | 4 +++- .../GRPharoZnUtf8CodecStream.class/instance/nextPutAll..st | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/repository/Grease-Pharo100-Core.package/GRPharoZnCodecStream.class/instance/nextPutAll..st b/repository/Grease-Pharo100-Core.package/GRPharoZnCodecStream.class/instance/nextPutAll..st index f108177b..f7494a83 100644 --- a/repository/Grease-Pharo100-Core.package/GRPharoZnCodecStream.class/instance/nextPutAll..st +++ b/repository/Grease-Pharo100-Core.package/GRPharoZnCodecStream.class/instance/nextPutAll..st @@ -1,3 +1,5 @@ streaming nextPutAll: aString - encoder next: aString size putAll: aString startingAt: 1 toStream: stream \ No newline at end of file + | string | + string := aString asString. + encoder next: string size putAll: string startingAt: 1 toStream: stream \ No newline at end of file diff --git a/repository/Grease-Pharo90-Core.package/GRPharoZnUtf8CodecStream.class/instance/nextPutAll..st b/repository/Grease-Pharo90-Core.package/GRPharoZnUtf8CodecStream.class/instance/nextPutAll..st index f108177b..f7494a83 100644 --- a/repository/Grease-Pharo90-Core.package/GRPharoZnUtf8CodecStream.class/instance/nextPutAll..st +++ b/repository/Grease-Pharo90-Core.package/GRPharoZnUtf8CodecStream.class/instance/nextPutAll..st @@ -1,3 +1,5 @@ streaming nextPutAll: aString - encoder next: aString size putAll: aString startingAt: 1 toStream: stream \ No newline at end of file + | string | + string := aString asString. + encoder next: string size putAll: string startingAt: 1 toStream: stream \ No newline at end of file