Может создание статичного метода, улучшают производительность, и при каких обстоятельствах?

Более декларативным способом, в зависимости от критериев, соответствующих объектам для удаления Вас, мог использовать:

[theArray filterUsingPredicate:aPredicate]

@Nathan должен быть очень эффективен

9
задан Drew Noakes 15 October 2009 в 16:40
поделиться

3 ответа

Есть одно возможное повышение производительности, которое я могу thnk of (для невиртуального метода): статическому методу не нужно сначала проверять ссылку на недействительность (чтобы создать исключение NullReferenceException , где это необходимо).

Я не думаю в настоящее время это дает какое-то преимущество, но оно возможно. Я не уверен, что это применимо в вашем конкретном примере - и трудно понять, как это будет применяться в любом случае, когда вы действительно хотите использовать значение .

6
ответ дан 4 December 2019 в 23:40
поделиться

В вашем случае (я предполагаю, что образец кода будет в классе Thing) статический и нестатический не будут иметь никакой разницы в скорости вообще. Это из ВАШЕЙ ссылки:

  • 0,2 0,2 ​​встроенный статический вызов
  • 0,2 0,2 ​​встроенный этот вызов inst

Так что вообще нет смысла делать его статическим для повышения скорости.

Также примите во внимание, что значения, указанные на вашей связанной странице, взяты из .Net 1.1 и устарели.

0
ответ дан 4 December 2019 в 23:40
поделиться

Я не уверен в статике производительности статических методов и методов экземпляра.

Но я считаю, что следует принимать решение, делать ли это статическим методом или методом экземпляра на основе объектного дизайна. Если при вызове вашего метода состояние объекта не изменяется, вы должны сделать этот метод статическим методом (методом для типа, а не для конкретного экземпляра типа).

0
ответ дан 4 December 2019 в 23:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: