byte-accuracy red, green, blue channels) = 27 bytes. More likely 28 bytes as colours are probably stored as 32-bit integers, allowing for an unused alpha channel.
28 * 800,000 equals roughly 22 megabytes, which is way down from 9 gigabytes. That's a 400 fold memory overhead, which is pretty hefty.
Grasshopper stores points as instances of classes, so on 64-bit systems it actually takes 64+64+3*8 = 152 bytes per point*, which adds up to 122MB, still way less than 9GB. It would be interesting to know where all the memory goes...
* Grasshopper points also store reference data, in case they come from the Rhino document. This data will not exist, but even so it will require 64-bits of storage.…
Added by David Rutten at 4:13pm on December 11, 2014
Join Somewhere Something in Downtown Los Angeles for Summer 2016 workshop series.
Physical Computing with Firefly / August 27
GIS in Grasshopper / August 28
Grasshopper Plugins / September10+11
pen Brep"; I didn't know it worked on flat surfaces. And I think it's only fair to include in your benchmark the considerable time 'SUnion' takes in this example: 21.9 seconds for 121 rings and likely much more with 400 or 1,000+ rings.
Then I noticed the pattern doesn't match. Checked the circles and they are the same. The distance between them, however, is different: 7 instead of 6. When I change that value to 6, the Python fails badly. All the holes and gaps are gone, which destroys the pattern:
I can't do the "two phase" approach on an 11 X 11 grid, but I can do 6 X 6 and 2 X 2 to get a 12 X 12 grid (40 'SUnion' operations) in 28 seconds total. That beats your benchmark of ~37 seconds for an 11 X 11 grid, if you include the 'SUnion' in your code.
…
1+2+3+4+5+6 = 21
1+2+3+4+5+6+7 = 28
1+2+3+4+5+6+7+8 = 36
1+2+3+4+5+6+7+8+9 = 45
Is there a tool, that can do me that job?
How do I get this List {1,3,6,10,15,21,28,36,45}?…
Added by Ahmed Hossam at 2:19pm on September 22, 2013