Modern robotic systems are composed of many distributed processes sharing a common communications infrastructure. High-bandwidth sensor data is often collected on one computer and served to many consumers. It is vital that every device on the network agrees on how time is measured. If not, sensor data may be at best inconsistent and at worst useless. Typical clocks in consumer-grade PCs are highly inaccurate and temperature sensitive. Traditional approaches for clock synchronisation, such as the use of NTP, are inappropriate in the robotics context. TICSync is an efficient algorithm for learning the mapping between distributed clocks, which typically achieves better than millisecond accuracy within just a few seconds. TICSync also provides a probabilistic analysis with an upper-bound error estimate.