Lines Matching refs:key
141 def __init__(self, key, hash, value): argument
142 self.key = key
147 return "k={},h={},v=[{}]".format(self.key, self.hash, self.value)
208 def insert(self, key, hash, value): argument
222 if self.table[index][i].hash == hash and self.table[index][i].key == key:
224 self.table[index][i] = HashEntry(key, hash, value)
230 self.table[index][i] = HashEntry(key, hash, value)
234 self.table[index].append(HashEntry(key, hash, value))
269 def delete(self, key, hash): argument
279 and self.table[index][i].key == key
296 def lookup(self, key, hash): argument
304 and self.table[index][i].key == key
505 def evict(self, key, max_size): argument
506 self.evicted_keys[key] = 0
508 def delete(self, key): argument
509 self.evicted_keys.pop(key, None)
517 def generate_reward(self, key): argument
518 if key in self.evicted_keys:
682 def _lookup(self, trace_record, key, hash): argument
689 def _evict(self, trace_record, key, hash, value_size): argument
696 def _insert(self, trace_record, key, hash, value_size): argument
702 def _should_admit(self, trace_record, key, hash, value_size): argument
769 key=row_key,
795 key=self.block_key(trace_record),
810 key=row_key,
818 def _access_kv(self, trace_record, key, hash, value_size, no_insert): argument
821 if self._lookup(trace_record, key, hash):
830 self._evict(trace_record, key, hash, value_size)
831 if self._should_admit(trace_record, key, hash, value_size):
832 self._insert(trace_record, key, hash, value_size)
851 def insert(self, trace_record, key, value_size): argument
857 def remove(self, insertion_time, last_access_time, key, value_size, num_hits): argument
907 def _lookup(self, trace_record, key, hash): argument
908 value = self.table.lookup(key, hash)
919 key,
935 def _evict(self, trace_record, key, hash, value_size): argument
939 policy_index = self._select_policy(trace_record, key)
941 self.policies[policy_index].delete(key)
954 assert self.table.delete(hash_entry.key, hash_entry.hash) is not None
957 key=hash_entry.key, max_size=self.table.elements
966 key,
973 def _insert(self, trace_record, key, hash, value_size): argument
989 self.cost_classes[cost_class].insert(trace_record, key, value_size)
990 self.table.insert(key, hash, entry)
992 def _should_admit(self, trace_record, key, hash, value_size): argument
995 def _select_policy(self, trace_record, key): argument
1027 def _select_policy(self, trace_record, key): argument
1033 selected_policy = max(range(len(self.policies)), key=lambda x: samples[x])
1034 reward = self.policies[selected_policy].generate_reward(key)
1075 def _select_policy(self, trace_record, key): argument
1091 reward = self.policies[selected_policy].generate_reward(key)
1114 def __init__(self, key, next_access_seq_no, value_size): argument
1115 self.key = key
1127 self.key, self.next_access_seq_no, self.value_size, self.is_removed
1145 removed_entry = self.table.pop(entry.key, None)
1150 self.table[entry.key] = entry
1158 del self.table[entry.key]
1204 def _lookup(self, trace_record, key, hash): argument
1205 if key not in self.table:
1211 key, trace_record.next_access_seq_no, self.table[key].value_size
1218 def _evict(self, trace_record, key, hash, value_size): argument
1224 def _insert(self, trace_record, key, hash, value_size): argument
1227 OPTCacheEntry(key, trace_record.next_access_seq_no, value_size)
1232 def _should_admit(self, trace_record, key, hash, value_size): argument
1244 def __init__(self, key, value_size, priority): argument
1245 self.key = key
1257 self.key, self.next_access_seq_no, self.value_size, self.is_removed
1283 def _lookup(self, trace_record, key, hash): argument
1284 if key not in self.table:
1287 entry = self.table[key]
1290 GDSizeEntry(key, entry.value_size, self.L + entry.value_size)
1296 def _evict(self, trace_record, key, hash, value_size): argument
1303 def _insert(self, trace_record, key, hash, value_size): argument
1305 self.table.pqinsert(GDSizeEntry(key, value_size, self.L + value_size))
1309 def _should_admit(self, trace_record, key, hash, value_size): argument
1375 def _replace(self, key, value_size): argument
1377 if self.t1 and ((key in self.b2) or (len(self.t1) > self.p)):
1390 def _lookup(self, trace_record, key, hash): argument
1393 if key in self.t1:
1394 self.t1.remove(key)
1395 self.t2.appendleft(key)
1398 if key in self.t2:
1399 self.t2.remove(key)
1400 self.t2.appendleft(key)
1404 def _evict(self, trace_record, key, hash, value_size): argument
1407 if key in self.b1:
1409 self._replace(key, value_size)
1410 self.b1.remove(key)
1411 self.t2.appendleft(key)
1416 if key in self.b2:
1418 self._replace(key, value_size)
1419 self.b2.remove(key)
1420 self.t2.appendleft(key)
1424 self._replace(key, value_size)
1433 self.t1.appendleft(key)
1436 def _insert(self, trace_record, key, hash, value_size): argument
1437 self.table[key] = CacheEntry(
1447 def _should_admit(self, trace_record, key, hash, value_size): argument
1471 def _lookup(self, trace_record, key, hash): argument
1472 if key not in self.table:
1475 self.lru.remove(key)
1476 self.lru.appendleft(key)
1479 def _evict(self, trace_record, key, hash, value_size): argument
1485 def _insert(self, trace_record, key, hash, value_size): argument
1486 self.table[key] = CacheEntry(
1495 self.lru.appendleft(key)
1497 def _should_admit(self, trace_record, key, hash, value_size): argument
1510 def _lookup(self, trace_record, key, hash): argument
1513 def _evict(self, trace_record, key, hash, value_size): argument
1516 def _insert(self, trace_record, key, hash, value_size): argument
1519 def _should_admit(self, trace_record, key, hash, value_size): argument