there is something terribly wrong with php implementation then.
I have written my C++ (along with Java)
and there
[admin@RB1000] /ip firewall address-list> print count-only
13
6 addititions and along with 6 removes
does this in less than 1 second:
$ time ./TestAPI rb1000 list.tst
Attempting connect to bs
Connected to bs
Going to read file list.tst
list.tst size is: 12
test command dump start:
________________________
Command out:
|/ip/firewall/address-list/add
|=address=1.1.1.1
|=list=tst
Command out:
|/ip/firewall/address-list/remove
|=.id=<var>
Command out:
|/ip/firewall/address-list/add
|=address=1.1.1.1
|=list=tst
Command out:
|/ip/firewall/address-list/remove
|=.id=<var>
Command out:
|/ip/firewall/address-list/add
|=address=1.1.1.1
|=list=tst
Command out:
|/ip/firewall/address-list/remove
|=.id=<var>
mand out: |/ip/firewall/address-list/add
|/ip/firewall/address-list/remove
|=.id=<var>
Command out:
|/ip/firewall/address-list/add
|=address=1.1.1.1
|=list=tst
Command out:
|/ip/firewall/address-list/remove
|=.id=<var>
Command out:
|/ip/firewall/address-list/add
|=address=1.1.1.1
|=list=tst
Command out:
|/ip/firewall/address-list/remove
|=.id=<var>
________________________
test command dump end.
DEBUG: getVal 0
DEBUG: getVal 1
DEBUG: getVal 0
DEBUG: getVal 1
DEBUG: getVal 0
DEBUG: getVal 1
DEBUG: getVal 0
DEBUG: getVal 1
DEBUG: getVal 0
DEBUG: getVal 1
DEBUG: getVal 0
All list.tst tests passed
real 0m0.521s
user 0m0.000s
sys 0m0.000s
that includes -> reading from file, parse the commands, execute the comands and update value of <var> after each execute.
however it is RB1000 and it is idling for most time of the day.