Why reading is slower than writing

I have begun to learn openCL and I wonder why enqueueReadBuffer operation takes more time than equeueWriteBuffer one although buffer size and data size are identical for both?

As the name implies, all the ‘enqueue*’ operations merely place the request to perform the operation into a queue. Unless you pass blocking=true, the actual data transfer isn’t performed.

And if you only perform a blocking read, and no flush or finish the ‘read invocation’ will include all processing time as well.