mirror of
https://github.com/python/cpython.git
synced 2025-08-04 00:48:58 +00:00
Don't atoi() the memo key.
Use atoi(), atol(), atof() instead of load_atomic for seed-up.
This commit is contained in:
parent
e7b900d04b
commit
7853647dd1
1 changed files with 16 additions and 7 deletions
|
@ -388,12 +388,21 @@ class Unpickler:
|
|||
self.stack.append(None)
|
||||
dispatch[NONE] = load_none
|
||||
|
||||
def load_atomic(self):
|
||||
def load_int(self):
|
||||
self.stack.append(string.atoi(self.readline()[:-1]))
|
||||
dispatch[INT] = load_int
|
||||
|
||||
def load_long(self):
|
||||
self.stack.append(string.atol(self.readline()[:-1]))
|
||||
dispatch[LONG] = load_long
|
||||
|
||||
def load_float(self):
|
||||
self.stack.append(string.atof(self.readline()[:-1]))
|
||||
dispatch[FLOAT] = load_float
|
||||
|
||||
def load_string(self):
|
||||
self.stack.append(eval(self.readline()[:-1]))
|
||||
dispatch[INT] = load_atomic
|
||||
dispatch[LONG] = load_atomic
|
||||
dispatch[FLOAT] = load_atomic
|
||||
dispatch[STRING] = load_atomic
|
||||
dispatch[STRING] = load_string
|
||||
|
||||
def load_tuple(self):
|
||||
k = self.marker()
|
||||
|
@ -459,11 +468,11 @@ class Unpickler:
|
|||
dispatch[DUP] = load_dup
|
||||
|
||||
def load_get(self):
|
||||
self.stack.append(self.memo[string.atoi(self.readline()[:-1])])
|
||||
self.stack.append(self.memo[self.readline()[:-1]])
|
||||
dispatch[GET] = load_get
|
||||
|
||||
def load_put(self):
|
||||
self.memo[string.atoi(self.readline()[:-1])] = self.stack[-1]
|
||||
self.memo[self.readline()[:-1]] = self.stack[-1]
|
||||
dispatch[PUT] = load_put
|
||||
|
||||
def load_append(self):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue