Разработав RMI с низкой задержкой (~ 20 мксек мин), он все еще в 1000 раз медленнее, чем прямой вызов.Если вы используете обычный Java RMI (~ 500 микросекунд в минуту), он может быть в 25 000 раз медленнее.
ПРИМЕЧАНИЕ. Это только очень приблизительная оценка, чтобы дать вам общее представление о разнице, которую вы можете увидеть.Есть много сложных факторов, которые могут кардинально изменить эти цифры.В зависимости от того, что делает метод, разница может быть намного ниже, особенно если вы выполняете RMI для того же процесса, если сеть относительно медленная, разница может быть намного больше.
Кроме того, даже при наличииочень большая относительная разница, возможно, это не будет иметь большого значения для всего вашего приложения.
Чтобы уточнить мой последний комментарий ...
Допустим, у вас естьGUI, который должен опрашивать некоторые данные каждую секунду, и для этого используется фоновый поток.Допустим, использование RMI занимает 50 мс, а альтернатива - прямой вызов метода для локальной копии распределенного кэша - 0,0005 мс.Казалось бы, огромная разница в 100 000 раз.Тем не менее, вызов RMI может начаться на 50 мс раньше, все равно опрашивать каждую секунду, разница для пользователя практически отсутствует.
Что может быть гораздо важнее, когда RMI по сравнению с использованием другого подхода намного проще (если это правильный инструмент для работы)
Альтернативой использованию RMI является использование JMS.Что лучше, зависит от вашей ситуации.