tamteIs it just this example that is slow, or are real setups that aren't simply making a box each iteration slower also?
does anyone else see non-compiled for each to be much slower than Copy Stamp?
since it's not always possible to compile I think it's quite a big deal
stamps faster than compiled sops? lies!
10581 29 5- jsmack
- Member
- 8042 posts
- Joined: Sept. 2011
- Offline
- jlait
- Staff
- 6413 posts
- Joined: July 2005
- Offline
jsmack
Is it just this example that is slow, or are real setups that aren't simply making a box each iteration slower also?
Someone did mention this in this thread, but it is worth repeating:
not_compiled: 0.235s
compiled_single: 0.102s
copystamp: 0.102s
compiled_multithreaded: 0.068s
compiled_multithreaded_blocked: 0.058s
copytopoints: 0.007s
- anon_user_37409885
- Member
- 4189 posts
- Joined: June 2012
- Offline
edward
OR perhaps tbbmalloc_proxy:DYLD_INSERT_LIBRARIES=$HFS/../Libraries/libtbbmalloc_proxy.dylib houdini
Didn't see any difference with either unfortunately. To be sure, in .bashrc had:
function houdini16() { echo "Using JEMALLOC" DYLD_INSERT_LIBRARIES=$HFS/../Libraries/libjemalloc.1.dylib command houdini "$@" } export -f houdini16
then tried
function houdini16() { echo "Using tbbmalloc_proxy" DYLD_INSERT_LIBRARIES=$HFS/../Libraries/libtbbmalloc_proxy.dylib houdini } export -f houdini16
- Jedi Lion
- Member
- 4 posts
- Joined: March 2015
- Offline
jsmackI spent the weekend moving a copy stamp from a city builder into a compiled forloop with multithreading on an 88core machine. Cook time went from ~15 min to 30 seconds for ~13,000 buildings with a combined total of 31 mil points.tamteIs it just this example that is slow, or are real setups that aren't simply making a box each iteration slower also?
does anyone else see non-compiled for each to be much slower than Copy Stamp?
since it's not always possible to compile I think it's quite a big deal
Edited by Jedi Lion - April 21, 2017 01:58:37
- tamte
- Member
- 8820 posts
- Joined: July 2007
- Offline
Jedi LionjsmackI spent the weekend moving a copy stamp from a city builder into a compiled forloop on an 88core machine. Cook time went from ~15 min to 30 seconds for ~13,000 buildings with a combined total of 31 mil points.tamteIs it just this example that is slow, or are real setups that aren't simply making a box each iteration slower also?
does anyone else see non-compiled for each to be much slower than Copy Stamp?
since it's not always possible to compile I think it's quite a big deal
seems like a good test case,
could you try running your forloop non-compiled and see if it at least compares to stamping, in all my test so far it's slower (only compiled singlethreaded gets closer and multithreaded obviously faster)
Tomas Slancik
FX Supervisor
Method Studios, NY
FX Supervisor
Method Studios, NY
- tricecold
- Member
- 260 posts
- Joined: July 2006
- Offline
woa, this makes wonders on my 5yo sandy bridge
compiled: 8.314 sec over 240frames
copy : 18.76 over 240frames
4.5ghz 32gb 4+4 cores
compiled: 8.314 sec over 240frames
copy : 18.76 over 240frames
4.5ghz 32gb 4+4 cores
Edited by tricecold - April 25, 2017 19:18:49
Head of CG @ MPC
CG Supervisor/ Sr. FX TD /
https://gumroad.com/timvfx [gumroad.com]
www.timucinozger.com
CG Supervisor/ Sr. FX TD /
https://gumroad.com/timvfx [gumroad.com]
www.timucinozger.com
- vinyvince
- Member
- 275 posts
- Joined: Sept. 2012
- Offline
Back to the subject guys!
I have a big HDA made of 4500 nodes for Unreal which i have to optimized.
Here's a simple loop example im trying to convert, and one node, the most simple has this kind of expression, other are spare input linked like picture 2. The ref node they are calling are predetermined, i mean they will not change for the moment we enter the loop and we exit
How to deal with that? Please tell me there is a way !
I have a big HDA made of 4500 nodes for Unreal which i have to optimized.
Here's a simple loop example im trying to convert, and one node, the most simple has this kind of expression, other are spare input linked like picture 2. The ref node they are calling are predetermined, i mean they will not change for the moment we enter the loop and we exit
How to deal with that? Please tell me there is a way !
Edited by vinyvince - March 18, 2022 05:26:27
Vincent Thomas (VFX and Art since 1998)
Senior Env and Lighting artist & Houdini generalist & Creative Concepts
http://fr.linkedin.com/in/vincentthomas [fr.linkedin.com]
Senior Env and Lighting artist & Houdini generalist & Creative Concepts
http://fr.linkedin.com/in/vincentthomas [fr.linkedin.com]
- vinyvince
- Member
- 275 posts
- Joined: Sept. 2012
- Offline
Another case
Edited by vinyvince - March 18, 2022 05:26:58
Vincent Thomas (VFX and Art since 1998)
Senior Env and Lighting artist & Houdini generalist & Creative Concepts
http://fr.linkedin.com/in/vincentthomas [fr.linkedin.com]
Senior Env and Lighting artist & Houdini generalist & Creative Concepts
http://fr.linkedin.com/in/vincentthomas [fr.linkedin.com]
- guilhermecasagrandi
- Member
- 274 posts
- Joined: March 2011
- Online
- vinyvince
- Member
- 275 posts
- Joined: Sept. 2012
- Offline
Using spare input for first case works, second case need a little more stuff here's how i made it works
Edited by vinyvince - March 18, 2022 09:48:09
Vincent Thomas (VFX and Art since 1998)
Senior Env and Lighting artist & Houdini generalist & Creative Concepts
http://fr.linkedin.com/in/vincentthomas [fr.linkedin.com]
Senior Env and Lighting artist & Houdini generalist & Creative Concepts
http://fr.linkedin.com/in/vincentthomas [fr.linkedin.com]
-
- Quick Links