One interesting thought about the compactness they discovered from Donald Knuth's indexing technique inspired from database work makes me think about the storage constraints and pressures the industry was in during his active period. Those pressures very likely drove him to devise a solution to best satisfy the needs of his time, but as it turns out when attempting to optimize along a dimension that's been perennial you may very well find it best to look at earlier solutions.
I haven't found the Sphinx page presented here, but the one for his talk at SF Holiday Meetup is here: dl.dropboxusercontent.com/u/3967849/sfmu2/_build/html/index.html
Yes. It is entirely permissible to implement a hash method which always returns 42. Or one which uses only some fields of an object. Git is safe, because it has only a handful of fixed object types and those are controlled by the git developers. A Python program OTOH contains lots of classes implemented by the programmer and if the programmer bothers to implement a hash function at all it is far from certain that they implement one which is as good as SHA-1 over byte streams. So removing that equality test would indeed be very unsafe. (also 64 bits isn't that much, You would expect a collision for a hash of 4 billion entries, which is not impossible. 160 Bits (SHA-1) is *a lot* more.)
He speaks like python hash tables are the best of the field. They are not. They use now the same compaction trick as PHP, which saves space for big tables (but is not state of the art due to its added indirection), trash the key cache by storing the computed hash same as Perl (several benchmarks show recomputation or simplier checks are faster for smaller keys), and are generally still 5 years behind state of the art hash tables. They still use seperate chaining without even storing the chains as array (much faster), or move to front (state of the art with this old method). State of the art would be robin-hood or hopscotch hashing of course. Less hype and more technical content please.
Assert Dec 2018 = today() 45,000 views, 600 likes, 20 comments #rurban made his comment a year ago Raymond spoke at PyConn in May 2017 TheXmaximX Max and MMABejing made comments within last 3 months *** Q: Do We Have A Development Team ? *** What is the "temperature" of the TH-cam comments section for thisVideo?
ah the time honored tradition (inherited from our ancestors) of the "technical one-up-ance". personally, if it isn't going to cause some harm due to misinformation, i just cede that the other is smarter. "go-in-dumb". bc u kno, screw conformance.
Raymond Hettinger - the brilliant man that always gets interrupted in tech talks
by lunch
te best python lecturer imo
Absolutely #TheBest Bilbo
Thank you for another very informative talk Raymond! A level of indirection and such reduction in memory and improvement in hash performance!
"All problems in computer science can be solved by another level of indirection."
- David Wheeler.
I find always something interesting to learn in Hettinger speech
Best lecture... 3.6 dictionary ... Thanks a lot Raymond Hettinger.
One interesting thought about the compactness they discovered from Donald Knuth's indexing technique inspired from database work makes me think about the storage constraints and pressures the industry was in during his active period. Those pressures very likely drove him to devise a solution to best satisfy the needs of his time, but as it turns out when attempting to optimize along a dimension that's been perennial you may very well find it best to look at earlier solutions.
Wonderful lecture, lousy display format. Too much screen space for pycon logos and the slides are too small
Maybe 4:3 presentation with the video and logos on the right margin would be better
If you run the script about instance dictionaries at begining in Python 3.11, it will print [280, 280, 280], it is same as Python 2.7, what happened?
Amazing talk, very informative..
So good!
The links to the slides don't seem to have the slides...
I haven't found the Sphinx page presented here, but the one for his talk at SF Holiday Meetup is here: dl.dropboxusercontent.com/u/3967849/sfmu2/_build/html/index.html
404
amazing presenter, amazing talk!
23:10 - Can one not implement .hash() poorly for some class? Of course it would be unsafe.
Yes. It is entirely permissible to implement a hash method which always returns 42. Or one which uses only some fields of an object. Git is safe, because it has only a handful of fixed object types and those are controlled by the git developers. A Python program OTOH contains lots of classes implemented by the programmer and if the programmer bothers to implement a hash function at all it is far from certain that they implement one which is as good as SHA-1 over byte streams. So removing that equality test would indeed be very unsafe.
(also 64 bits isn't that much, You would expect a collision for a hash of 4 billion entries, which is not impossible. 160 Bits (SHA-1) is *a lot* more.)
lunch needs to be eliminated from pycon, so Raymond for once can speak longer.......
Nah. This guy is kinda longwinded, so if they him, he will talk longer for less content.
Longwinded? @@ikickss you lack #Discernment
"dr sheldon cooper from the big bang theory" - nice reference to the "the ice planet hoth from star wars" critique of that tedious show
Hash lookup should be a CPU instruction haha. Lisp machines and small talk machines could do this....
[25:58..26:02] shades of blockstore scanning for next free block and policy which followed
python/django/mysql新教程:
python基础:th-cam.com/video/g6RnSRDjd5M/w-d-xo.html
33:49 lol wht?
Our Messiah
评论👍支持
damn fantasy tales style is all over nowadays. so pure. just tell the subject please, no farytales.
kuh
He speaks like python hash tables are the best of the field. They are not. They use now the same compaction trick as PHP, which saves space for big tables (but is not state of the art due to its added indirection), trash the key cache by storing the computed hash same as Perl (several benchmarks show recomputation or simplier checks are faster for smaller keys), and are generally still 5 years behind state of the art hash tables.
They still use seperate chaining without even storing the chains as array (much faster), or move to front (state of the art with this old method).
State of the art would be robin-hood or hopscotch hashing of course.
Less hype and more technical content please.
Wow, you seem to be smarter than he (no)
@@quantum-t he was factual in his comment, unlike you. good job
Assert Dec 2018 = today()
45,000 views, 600 likes, 20 comments
#rurban made his comment a year ago
Raymond spoke at PyConn in May 2017
TheXmaximX Max and MMABejing made comments within last 3 months
*** Q: Do We Have A Development Team ? ***
What is the "temperature" of the TH-cam comments section for thisVideo?
ah the time honored tradition (inherited from our ancestors) of the "technical one-up-ance". personally, if it isn't going to cause some harm due to misinformation, i just cede that the other is smarter. "go-in-dumb". bc u kno, screw conformance.
Which languages implement state of the art hash tables? It'd be interesting to know how performant V8's hash tables are compared with Python's.
te best python lecturer imo