Startup has opening -> Can't fill it with people in their network -> Can't fill it with people who come to them -> Resorts to Angel List posting -> Angel list posting stays online longer because they have trouble filling it -> high turnover means the job ad stays up forever or keeps getting reposted.
Great jobs tend to skew toward the left side of that funnel = sampling bias.
Pretty much. Another major assumption here is that Angel List postings are legitimate - even though some companies post "job openings" online to vacuum up resumes for a database.
Namedtuple CPU-speed performance for some common operations is TERRIBLE compared to dictionaries, at least on 2.7. Orders of magnitude difference. So bad that it really matters. It's shocking how bad the implementors got this.
namedtuple is just a thin wrapper around tuple. It literally constructs a class definition that sub-classes tuple as a string and then executes it. You can see the string template that it uses here[1]. If you're interested in something like namedtuple there are other[2] things[3] you can use depending on your use-case.
>>> nt = namedtuple('nt', 'a b')
>>> nt10k = [nt(1, 2) for i in range(10000)]
>>> dict10k = [{'a':1, 'b':2} for i in range(10000)]
>>> timeit pickle.dumps(nt10k)
10 loops, best of 3: 26.3 ms per loop
>>> timeit pickle.dumps(dict10k)
100 loops, best of 3: 2.49 ms per loop
If you look at the the StackOverflow in my sibling comment to yours, running 'obj.attrname' on a namedtuple takes longer because it needs to translate 'attrname' to an integer index and then run (e.g.) 'obj[0]'. Outside of that, I'm not sure.
Startup has opening -> Can't fill it with people in their network -> Can't fill it with people who come to them -> Resorts to Angel List posting -> Angel list posting stays online longer because they have trouble filling it -> high turnover means the job ad stays up forever or keeps getting reposted.
Great jobs tend to skew toward the left side of that funnel = sampling bias.