An interim update. Test data on Dropbox: for Manifold 8 (.7z, 7.6 MB), for Manifold 9 (.mxb, 9 MB). Both files contain the same source geometry, in two drawings. Both drawings are projected (NZTM/NZGD2000). In Manifold 8 they have the default location precision of 1e-6. The 3 areas in [mainland] show the main 3 islands of New Zealand. The 16204 areas in [island] include both (a) offshore islands (some large, some tiny) and (b) islands within waterbodies and rivers on the mainland. (Why are (a) and (b) published as a single data class? You may well ask.) The purpose of the current exercise is to split the islands into offshore islands and mainland islands. I have tried to keep operations in 8 and 9 as close to identical as possible. Here are the operations in 8: open project "20180923 Mainland and islands R32 m8.map" open map [All objects in mainland] Normalize metric [All objects in island] Normalize metric # unnecessary duplicate [island] -> [Island 2] add [Island 2] to map [All objects in Island 2] Normalize metric [All objects in Island 2] Clip with (intersect) [All objects in mainland] duplicate [island] -> [Island 3] add [Island 3] to map [All objects in Island 3] Normalize metric [All objects in Island 3] Clip with (intersect) [All objects in mainland] Timings in 8: Clip with (Intersect): 109.308 sec (1mn 49s) Clip with (Subtract): 107.765 sec (1mn 48s) In 9 I have used matching tolerance (1e-6). Earlier incomplete tests used 0 (automatic tolerance). I can retest fully at 0, time permitting, but the impression was much the same as with 1e-6. Here are the operations in 9: open project "20180923 Mainland and islands R32 m9.map" open map [mainland] Contents > Template Geom Template Normalize Geom: Geom Tolerance: 1e-6 +Allow parallel execution Update field [island] (same) Project pane [island], [island Table] Copy Paste -> [island 2], [island Table 2] Paste -> [island 3], [island Table 3] add [island 2] to map add [island 3] to map open map [island 2] Contents > Template Geom Template Normalize Geom: Geom Tolerance: 1e-6 +Allow parallel execution Update field [island 3] (same) [island 2] Contents > Template Geom Template Clip Clip with: mainland Tolerance: 1e-6 +Keep inner part +Allow parallel execution Add component ... That's as far as I've got in 9. After processing for 1h 15mn, we are up to object 2256 (of 16204), still on the first operation. CPU usage is a solid 100%. I am not sure that I'll let it finish. (That's the reason for interim update.) In both cases Manifold 8/9 has been the only application running except Notepad++ (for keeping notes), Firefox (just now, for getting Dropbox links and writing this post), and in the case of Manifold 9, I have kept one instance of Manifold 8 open (just for pasting occasional screenshots made via PrtScn). [Screenshot added, after another 15mn processing.] [9.0.168.2. Windows 10 64-bit, 32 GB RAM, 3x SSD, TEMP on SSD2.] Attachments: screenshot.png
|