Я думаю, что Вы по оценке влияния упаковки/распаковывания. Метод синтаксического анализа будет иметь намного большие издержки (строковый парсинг), затмевая упаковку наверху. Также весь, если операторы окажут большее влияние. Отражение оказывает самое большое влияние всех.
я был бы не хотеть видеть этот вид кода в производстве, поскольку существует более чистый способ сделать его. Основной проблемой, которую я имею с ним, является большое количество того, если операторы, необходимо будет покрыть все случаи и то, что кто-то мог передать любой старый тип ему.
то, Что я сделал бы, записать функцию синтаксического анализа для каждого типа, который я хочу проанализировать (т.е. ParseInt ()). Это более ясно, и это четко определено, что функция попытается сделать. Также с короткими статическими методами, компилятор, более вероятно, встроит их, сохраняя вызов функции.
я думаю, что это - неработающее приложение дженериков, какой-либо конкретной причины того, чтобы сделать его этот путь?
import Queue
class IndexableQueue(Queue):
def __getitem__(self, index):
with self.mutex:
return self.queue[index]
Разумеется, очень важно освободить мьютекс независимо от того, успешно ли индексация или вызывает ошибку IndexError, и я используя для этого оператор с оператором
. В более старых версиях Python try
/ finally
будет использоваться с тем же эффектом.