For Sikhs recruited for policing in early twentieth century in Shanghai’s International Settlement, sea voyage from Calcutta to Hong Kong via Singapore, thence to Shanghai took at least 14-16 days. Given the weather gods were kind over South China Seas. Why Calcutta and not Bombay? There’s no definitive answer to that as some may have boarded a steamer in Bombay but Calcutta was a natural choice as here passenger steamers to China were more frequent and also because the distance in nautical miles to China was less when compared to Bombay.

From Punjab to Calcutta: Train (and maybe a bullock cart ride from the village to Lahore/Ludhiana/Amritsar)

Calcutta to Hong Kong via Singapore. Steamer. Singapore for refueling. 14 days.

Hong Kong to Shanghai : Steamer 2 days.

Now, this is just one sea route. Other possible routes were from Calcutta/Bombay to Malay, Singapore, Japan, Philippines, Ceylon and not necessarily directly to Shanghai. It could be from Penang, Singapore, Kobe, Yokohama, Manila, Colombo to Canton, TsingTao, etc.