DA14580主机从机切换的时间问题

sdk3.0.6
需求:有两个设备同时都作为从机(分别叫SlaveA与SlaveB),SlaveA检测按键,当有按键触发时SlaveA切换成主机(MasterA)并搜索广播的设备(理论上会找到SlaveB),建立连接,搜索服务,并往相应的profile写数据,接收到应答后切换回从机(SlaveA)。
以上流程都实现了,测试基本没问题,但时间太慢了,有时候大致1s以内会响应(整个流程处理结束)有时候3s之后才会响应。
问题:
1、时间主要浪费在了哪个地方?
2、要使得功耗最低,速度最快的最优办法~

如下是我使用的方式:
广播间隔时间:500ms,
主机搜索参数:
msg->interval =10; // APP_SCAN_INTERVAL;// 10ms?此处不确定单位是不是ms
msg->window = 4; // APP_SCAN_WINDOW;//4ms?
连接间隔
50ms,超时500ms。
谢谢。