CPU scheduling Algorithm SJF VS SRTF average waiting time?

Let's say we have two CPU scheduling algorithm as SJF and SRTF and we have a arbitrary pool/set of processes with different ARRIVAL TIME and CPU BURST, then what CPU scheduling algorithm will result in minimum average waiting time?

Note : We know, with processes having same arrival time will make SRTF to SJF and SJF guarantees minimum average waiting time, but here arrival time of processes is not same.

Moreover please consider this screenshot from Galvin - in this screenshot below the avg waiting time of SRTF is less than SJF, but my doubt is, is this valid for only this set of values or when arrival times are different than SRTF will ALWAYS have the less average waiting time over SJF?

Screenshot from Galvin Book 9th Edition Page 270