面对远程调用和本地调用之间的性能差距问题,一个可行的思路是使用工具来分析对象之间的交互模式。通过分析可以把经常交互的对象部署在相同的地址空间,把相对来说交互较少的对象部署在其他地方。由于从外部看来系统中所有对象(本地,远程)之间的交互使用的是相同的机制,所以这种调整是可行的。当然,首先要保证应用是正确的,其次才是调整性能。
The second prong of the reply is to admit to the need for
tools that will allow one to see what the pattern of communication
is between the objects that make up an application.
Once such tools are available, it will be a matter of
tuning to bring objects that are in constant contact to the
same address space, while moving those that are in relatively
infrequent contact to wherever is most convenient.
Since the vision allows all objects to communicate using
the same underlying mechanism, such tuning will be possible
by simply altering the implementation details (such
as object location) of the relevant objects. However, it is
important to get the application correct first, and after that
one can worry about efficiency.
The second prong of the reply is to admit to the need for
tools that will allow one to see what the pattern of communication
is between the objects that make up an application.
Once such tools are available, it will be a matter of
tuning to bring objects that are in constant contact to the
same address space, while moving those that are in relatively
infrequent contact to wherever is most convenient.
Since the vision allows all objects to communicate using
the same underlying mechanism, such tuning will be possible
by simply altering the implementation details (such
as object location) of the relevant objects. However, it is
important to get the application correct first, and after that
one can worry about efficiency.