The suite measures the time it takes to complete a method invocation depending on the type and direction of the argument. The purpose of the suite is to assess the behavior of the marshaling mechanism.
typedef <type> tPingArg;
interface Ping { void Pong (in tPingArg xArg); }
tPingArg xPingArg;
ulonglong ActionPing (void *pArgs)
{
pPing->Pong (xPingArg);
return (0);
}
void PingServant::Pong (tPingArg xArg) { }
private <type> pingArg;
public final void execute (long [] times) {
pingServer.Pong (pingArg);
}
public final void Pong (<type> xArg) { }
typedef <type> tPingArg;
interface Ping { void Pong (out tPingArg xArg); }
tPingArg xPingArg;
ulonglong ActionPing (void *pArgs)
{
pPing->Pong (xPingArg);
return (0);
}
void PingServant::Pong (tPingArg_out xArg) { }
private <type> pingArg;
public final void execute (long [] times) {
pingServer.Pong (pingArg);
}
public final void Pong (<type> xArg) { }
typedef <type> tPingArg;
interface Ping { void Pong (inout tPingArg xArg); }
tPingArg xPingArg;
ulonglong ActionPing (void *pArgs)
{
pPing->Pong (xPingArg);
return (0);
}
void PingServant::Pong (tPingArg &xArg) { }
private <type> pingArg;
public final void execute (long [] times) {
pingServer.Pong (pingArg);
}
public final void Pong (<type> xArg) { }
typedef <type> tPingArg;
interface Ping { tPingArg Pong (); }
ulonglong ActionPing (void *pArgs)
{
pPing->Pong ();
return (0);
}
tPingArg xPingArg;
tPingArg PingServant::Pong ()
{
return (xPingArg);
}
public final void execute (long [] times) {
pingServer.Pong ();
}
private <type> pingArg;
public final <type> Pong () {
return (pingArg);
}
The roundtrip time should be constant for all the types and directions of the argument, except for the char and wchar types, where the roundtrip time may be affected by the codeset conversion, and the long long, unsigned long long and long double types, where the roundtrip time may be affected by the handling of non native types. The quartile range of the values should be small.
The memory usage, network usage and processor usage should be constant, except for the char and wchar types, where the usage may be affected by the codeset conversion, and the long long, unsigned long long and long double types, where the usage may be affected by the handling of non native types.
The graph depicts the dependency of the time it takes to complete the invocation on the type and direction of the argument. On the X axis is the type of the argument, on the Y axis is the time it took to complete the invocation.
The graph depicts the dependency of the time it takes to complete the invocation on the type and direction of the argument. On the X axis is the type of the argument, on the Y axis is the time it took to complete the invocation.
The graph depicts the dependency of the time it takes to complete the invocation on the type and direction of the argument. On the X axis is the type of the argument, on the Y axis is the time it took to complete the invocation.
The graph depicts the dependency of the time it takes to complete the invocation on the type and direction of the argument. On the X axis is the type of the argument, on the Y axis is the time it took to complete the invocation.
The graph depicts the dependency of the time it takes to complete the invocation on the type and direction of the argument. On the X axis is the type of the argument, on the Y axis is the time it took to complete the invocation.
The graph depicts the dependency of the time it takes to complete the invocation on the type and direction of the argument. On the X axis is the type of the argument, on the Y axis is the time it took to complete the invocation.
The graph depicts the dependency of the time it takes to complete the invocation on the type and direction of the argument. On the X axis is the type of the argument, on the Y axis is the time it took to complete the invocation.
The graph depicts the dependency of the time it takes to complete the invocation on the type and direction of the argument. On the X axis is the type of the argument, on the Y axis is the time it took to complete the invocation.
The graph depicts the dependency of the time it takes to complete the invocation on the type and direction of the argument. On the X axis is the type of the argument, on the Y axis is the time it took to complete the invocation.
The graph depicts the dependency of the time it takes to complete the invocation on the type and direction of the argument. On the X axis is the type of the argument, on the Y axis is the time it took to complete the invocation.
The graph depicts the dependency of the time it takes to complete the invocation on the type and direction of the argument. On the X axis is the type of the argument, on the Y axis is the time it took to complete the invocation.
The graph depicts the dependency of the time it takes to complete the invocation on the type and direction of the argument. On the X axis is the type of the argument, on the Y axis is the time it took to complete the invocation.
The graph depicts the dependency of the time it takes to complete the invocation on the type and direction of the argument. On the X axis is the type of the argument, on the Y axis is the time it took to complete the invocation.
The graph depicts the dependency of the time it takes to complete the invocation on the type and direction of the argument. On the X axis is the type of the argument, on the Y axis is the time it took to complete the invocation.
The graph depicts the dependency of the time it takes to complete the invocation on the type and direction of the argument. On the X axis is the type of the argument, on the Y axis is the time it took to complete the invocation.
The graph depicts the dependency of the time it takes to complete the invocation on the type and direction of the argument. On the X axis is the type of the argument, on the Y axis is the time it took to complete the invocation.