Будьте в спящем режиме реализация. Мы платим отражательный штраф?

Навигация по Ionic 4 работает как Angular 6+.

routerLink="/notifications"

или в вашем случае routerLink = "[p.url]"

Здесь вы получите более подробную информацию.

5
задан Community 23 May 2017 в 11:46
поделиться

4 ответа

Будьте в спящем режиме инструменты, Ваши модели, чтобы быть в спящем режиме знающие.

Там варьируются уровни стоимости для использования Отражения. Постоянно поиск метода для конкретного класса является особенно дорогим. Выполнение метода через отражение с помощью кэшируемой копии не является этим намного медленнее. Если Вы думаете о задачах, что отражательный API должен завершиться для вызова метода, все это имеет смысл, который каждая часть является медленной и использует циклы CPU.

Определение местоположения метода

  • Посетите каждый метод конкретного класса
  • Протестируйте каждую видимость методов, сигнатура метода и т.д.
  • Генерируйте байт-код для найденного метода.

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

Вызов метода.

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

  • Если проверка метода экземпляра, в которой прошел экземпляр, не является пустой и является правильным типом.
  • Проверьте, что параметр аргументов включает правильную сумму и тип параметров.
  • Выполните метод в выгоде попытки. В выгоде бросают ITE и т.д.

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

Затраты во время выполнения

В общих методах кэширования и вызове, который не стоится, но немного медленнее. Сам отражательный API пытается к методам кэша и классам, но нахождение правильного метода и так далее является все еще медленной операцией.

8
ответ дан 18 December 2019 в 07:11
поделиться

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

9
ответ дан 18 December 2019 в 07:11
поделиться

Стоимость персистентности и извлечения много раз является стоимостью отражения. Получить доступ к записи от DB могло бы взять 1-10 мс, и создать объект с отражением могло бы взять 0.001 к 0,01 мс.

4
ответ дан 18 December 2019 в 07:11
поделиться

Не кэш NHibernate информация о классе собралась посредством отражения, таким образом, Вы только платите штрафу первый раз?

1
ответ дан 18 December 2019 в 07:11
поделиться
Другие вопросы по тегам:

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