Замедляет ли инициация большого класса на странице? - PullRequest
8 голосов
/ 18 января 2012

Я нахожусь в процессе написания класса, который, вероятно, будет содержать около 3000 строк кода.

То, что я хотел бы знать, очень просто, будет инициирование этого класса в верхней части каждой страницы.замедлить время выполнения страницы, даже если будет использоваться только один / два метода объектов?Собирается ли это намного больше напрягать мой сервер, если к нему обращаются несколько тысяч раз в день?

Если это так, я должен смотреть на создание расширений для обработки каждого метода вместо того, чтобы иметь весь класс водин файл?

EDITED

Во-первых, просто чтобы исправить KingCrunch и Kenaniah, этот класс предназначен для моего API, что в итоге означает, что он содержит много функций для извлеченияданные, которые будут отображаться на веб-сайте и в нашем приложении для iPhone, а также в нашем приложении Facebook.Таким образом, 3000 строк - это чертовски мало, учитывая размер и возможности нашего сайта, не говоря уже о том, что более 700 из этих строк являются комментариями.Таким образом, я могу заверить вас, что нет конструктивного недостатка, хотя может быть структурный недостаток, поэтому я задаю этот вопрос ...

Функция конструкции просто устанавливает значения по умолчанию для определенных переменных, ничегоподробнее.

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

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

Ответы [ 3 ]

4 голосов
/ 18 января 2012

будет инициировать этот класс в верхней части каждой страницы, замедляя время выполнения страницы

Это добавит к среде выполнения? Да. Конечно. Ничто не бесплатно. Каждая проанализированная строка кода имеет небольшие накладные расходы (однако вы можете избавиться от большей части этих затрат с помощью кэша кода операции, такого как APC). Тем не менее, мы говорим о миллисекундах, возможно. Единственный способ убедиться в этом - профилировать это самостоятельно.

Будет ли это намного напрягать мой сервер, если к нему обращаются несколько тысяч раз в день?

Из личного опыта нет. Но опять же, профиль и измерить себя. Вы должны следить за основными показателями производительности на вашем сервере (загрузка процессора, средняя загрузка и т. Д.). Разверните изменения и наблюдайте за показателями.

1 голос
/ 18 января 2012

нет, на самом деле это быстрее, чем разбивать его на несколько файлов.

единственная проблема заключается в том, что часто это приводит к большому блоку кода, и модификации сложнее сделать.

РЕДАКТИРОВАТЬ: это будет быстрее, если все строки будут полезны. если у вас много старого кода, вы можете рассмотреть возможность очистки

1 голос
/ 18 января 2012

Нет, создание экземпляра класса, состоящего из множества LOC, не делает его медленным автоматически.

То есть, если вы что-то не делаете в конструкторе, но это зависит от того, что вы там делаете, а не от того, насколько велик класс.

...