¿Cómo puedo hacer peticiones simultáneas más rápido con Retrofit / OkHttp?

Necesito hacer 50 solicitudes HTTP GET tan rápido como sea posible con Retrofit en Android. Estoy utilizando Retrofit con OkHttp. Actualmente, Retrofit está haciendo un trabajo pobre frente a Java ThreadPoolExecutor y HttpUrlConnection : unos 50sec para Retrofit y 30sec para HttpUrlConnection normal para las 50 peticiones, si establezco el tamaño de pool 20 para ThreadPoolExecutor y para Retrofit / OkHttp establezco okHttpClient.dispatcher().setMaxRequests(20); .

Si miro logcat puedo ver que Retrofit está haciendo un máximo de 5 peticiones simultáneas no importa lo que establezca en setMaxRequests() mientras que con ThreadPoolExecutor hay tantas solicitudes concurrentes como hay hilos de trabajo disponibles.

¿Hay algo que pueda hacer para hacer Retrofit más rápido? No quiero cambiar a HttpUrlConnection porque Retrofit es tan elegante y fácil de usar.

Editar 1

Intenté proporcionar ThreadPoolExecutor personalizado a OkHttp pero ninguna mejora del tiempo de esto:

 OkHttpClient.Builder builder = new OkHttpClient.Builder(); ExecutorService exec = new ThreadPoolExecutor(20, 20, 1, TimeUnit.HOURS, new LinkedBlockingQueue<>()); Dispatcher d = new Dispatcher(exec); builder.dispatcher(d); OkHttpClient okHttpClient = builder.build(); okHttpClient.dispatcher().setMaxRequests(20); 

Editar 2

Hago todas las peticiones al mismo punto final, si esto importa

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.