"Auto-Parallelization - Automatic parallel map, grep, for, while loops via Rayon work-stealing"
Given any kind of "for" loop, how can it know that there is no synchronization required ? That no mutual exclusion is required ? No concurrent access of some kind ? Offloading some work to another process/thread is expensive, too
If the inner body of the loop is a pure-function, then that's easy (except for the performance part, which may require heuristics or something). But if the body is not pure .. ? I cannot see how this can work reliably with any random code
An earlier draft had a section discussing how IPv4x would work with NAT routers. Essentially, an IPv4x packet would be a UDP/IPv4 packet using a port number (84) that's been allocated to IPv4x.
Old routers would be a normal UDP packet inside a normal IPv4 and route it normally. New routers would detect UDP port 84 and treat it as an extended IPv4x packet.
I took all that out because I wasn't writing a proposal for something we should actually implement in the real world, but an alternate history "What if people who wanted IPv4 but with extra space got their way" and the story was already too long.
reply