Conclusions

According to the analysis of our measured experiment, it seems as though Object Serialization is more efficient in this case. The confidence intervals obtained show that the use of non-serialized communication increased the time taken by a statistically significant amount. The size measurements were not entirely conclusive, due to the anomaly observed, however, even with the assumption that the sizes are identical, the main objective of the project was successful - the serialization of Objects through the network was determined to not be a bottleneck.

In addition, it apparently may be more suited to the type of communication done by the server in most cases for the architecture. The current sample is a common implementation, however when a message is received by the server, it generally will update its data and send out that position data to all other clients connected. An ObjectOutputStream will maintain a reference to objects written to it, thus possibly being more efficient than if it created a new object for each repeat serialization call.

Lessons Learned

  • Plans may need to change for performance analysis projects, as well
    • Originally planned to also do UDP vs TCP
    • Fell through due to lack of time to implement
  • Statistical techniques are not hard to perform, difficult part was:
    • Setup for the techniques, including recording and manipulating data
    • Analysis of results
  • These statistical techniques can be applied to real-world problems to give a certain confidence in results!