Skip to content

Commit 85e5e1d

Browse files
committed
♻️ Allocate string literals with specific capacity
We know exactly how much memory we're going to need, so we can allocate this up-front, and save a few malloc/memcpy calls on larger literals.
1 parent 3ea7a29 commit 85e5e1d

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

lib/net/imap.rb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3452,7 +3452,8 @@ def get_response_line(buff)
34523452
end
34533453

34543454
def get_response_literal(buff, literal_size)
3455-
literal = @sock.read(literal_size) or return
3455+
literal = String.new(capacity: literal_size)
3456+
@sock.read(literal_size, literal) or return
34563457
buff << literal
34573458
end
34583459

0 commit comments

Comments
 (0)