stamps faster than compiled sops? lies!

   8072   29   5
User Avatar
Member
6468 posts
Joined: Sept. 2011
Offline
tamte
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
Is it just this example that is slow, or are real setups that aren't simply making a box each iteration slower also?
User Avatar
Staff
5647 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
User Avatar
Member
4 posts
Joined: March 2015
Offline
jsmack
tamte
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
Is it just this example that is slow, or are real setups that aren't simply making a box each iteration slower also?
I 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.
Edited by Jedi Lion - April 21, 2017 01:58:37
User Avatar
Member
7206 posts
Joined: July 2007
Offline
Jedi Lion
jsmack
tamte
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
Is it just this example that is slow, or are real setups that aren't simply making a box each iteration slower also?
I 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.

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
User Avatar
Member
258 posts
Joined: July 2006
Online
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
Edited by tricecold - April 25, 2017 19:18:49

Attachments:
Capture.JPG (83.0 KB)

Head of FX @ MPC
CG Supervisor/ Sr. FX TD /
https://gumroad.com/timvfx [gumroad.com]
www.timucinozger.com
vinyvince
Member
216 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 !
Edited by vinyvince - March 18, 2022 05:26:27

Attachments:
loop.PNG (170.3 KB)

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]
vinyvince
Member
216 posts
Joined: Sept. 2012
Offline
Another case
Edited by vinyvince - March 18, 2022 05:26:58

Attachments:
loop2.PNG (162.5 KB)

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]
User Avatar
Member
185 posts
Joined: March 2011
Offline
vinyvince
Another case

Compile blocks aren't supposed to work with relative references (read the docs about that plz). Just use spare parameters and you're good.
vinyvince
Member
216 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

Attachments:
loop3.PNG (176.5 KB)

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]
  • Quick Links