From 2179e4f4c5c40d852044fddbcae80996c2feb092 Mon Sep 17 00:00:00 2001 From: Lily Liu Date: Sat, 8 Jul 2023 12:42:08 -0700 Subject: [PATCH] avoid python list copy in sequence initialization (#401) --- vllm/sequence.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/vllm/sequence.py b/vllm/sequence.py index ba8ac398164b..87c80c5dcdfb 100644 --- a/vllm/sequence.py +++ b/vllm/sequence.py @@ -127,7 +127,8 @@ class Sequence: self.logical_token_blocks.append(block) def _append_tokens_to_blocks(self, token_ids: List[int]) -> None: - while token_ids: + cursor = 0 + while cursor < len(token_ids): if not self.logical_token_blocks: self._append_logical_block() @@ -137,8 +138,9 @@ class Sequence: last_block = self.logical_token_blocks[-1] num_empty_slots = last_block.get_num_empty_slots() - last_block.append_tokens(token_ids[:num_empty_slots]) - token_ids = token_ids[num_empty_slots:] + last_block.append_tokens(token_ids[cursor:cursor + + num_empty_slots]) + cursor += num_empty_slots def append_token_id( self,