Skip to content

Instantly share code, notes, and snippets.

View wjakob's full-sized avatar

Wenzel Jakob wjakob

View GitHub Profile
@wjakob
wjakob / latency.markdown
Created September 5, 2017 19:15 — forked from hellerbarde/latency.markdown
Latency numbers every programmer should know

Latency numbers every programmer should know

L1 cache reference ......................... 0.5 ns
Branch mispredict ............................ 5 ns
L2 cache reference ........................... 7 ns
Mutex lock/unlock ........................... 25 ns
Main memory reference ...................... 100 ns             
Compress 1K bytes with Zippy ............. 3,000 ns  =   3 µs
Send 2K bytes over 1 Gbps network ....... 20,000 ns  =  20 µs
SSD random read ........................ 150,000 ns  = 150 µs

Read 1 MB sequentially from memory ..... 250,000 ns = 250 µs

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDWrjImipv5NqfE/8RYh8YxgM+dz3bedPU53ALf+zmww3r7i0pDVJdbwxMEbFn8ZyuYuaPHpLdS0PAh772AovfuBF53EYcUPqayBlHvNrDCpRw8OAHF90nTdAcENKtkNM4+aNossSeGwzx8CsgJE5DDsfBepL0R0x5tspDSHQ5Mg1zjBaXRKlBn0OAaJ4pU4m6iqlij+rWe1AqB5MfuDw2Zh5OoEBMQ0FYvAGy3T+YHCB+DsUUSuA07j69KJ3HOQGpmvlI6f3uiBNte2ESZqXkbelQP+jX9xaPwQ/G4BR+kS+dijs1DIjtYCDniu9Vz0YZ0Ig9pfqw3hmV6N4dTtMb7 wjakob@icdhcp-1-207.epfl.ch
import sys
sys.path.append('/Users/wenzel/mitsuba/Mitsuba.app/python/3.3')
import mitsuba
from mitsuba.core import FileStream
from mitsuba.render import TriMesh
def bmesh_to_trimesh(name, mesh, materialID):
faces = mesh.tessfaces[0].as_pointer()
vertices = mesh.vertices[0].as_pointer()