Yes I know, if we don't use a.json and b.json Safari is able to set that one dynamic rule in a few msecs... Bravo!
The 60,000 other rules from files are static, and Safari have already loaded, processed and sorted them at start (extension install time). And this happens without any waiting time.
In fact the static rules are used correctly by Safari and do their job.
Why then when asked to load even 1 dynamic rule does it take a biblical time? Does it stupidly reload everything from the beginning?
As you know the use of DNR rules normally involves the use of static and dynamic rules simultaneously and dynamic rules can vary over time (otherwise why call them ‘dynamic’?) and all, I say ALL, existing compatible DNR browsers update them (add/remove via updateDynamicRules api) very quickly (5-7 msecs) except Safari (6-8 seconds). Which is absolutely not acceptable for serious work.
Safari's problem, I suppose, is to throw all the rules (static and dynamic) into the same pot without any ‘cooking’ strategy. Everything is fine as long as nothing has to be added or taken out of the pot. But if I want to add even ‘a clove of garlic’, what does the cook (Safari) do? He takes everything out of the pot again, divides it again by ingredients, adds the new ingredient (the garlic) and throws everything back into the pot... this cook doesn't seem so smart to me.
By the way... What do you suggest?