Hi Alan, On Mon, 8 May 2023 17:27:48 +0000, Alan Huang wrote: > The code of resizable hash table has been updated so that it doesn't > need to compute the hash twice since 2019. Here are some related > commits: > 2ea492b, > 2a7f20d, > ... Can you say (as recommended in patches to Linux kernel) ?: 2ea492bbab9d ("datatruct/hash: Don't recompute hashes in hashtab_add()") 2a7f20d234e7 ("datastruct/hash: Don't recompute hashes in hashtab_del()") (hashes of 7 chars should be sufficient for perfbook, but our eyes expect 12 chars ...) > So, the patch removes the outdated content. Indeed. However, -nq builds need additional tweaks appended below (on top). Can you do a respin with my Rb tag. Reviewed-by: Akira Yokosawa <akiyks@xxxxxxxxx> See qqz.sty's header comment for the format of consecutive QQz's. Thanks, Akira diff --git a/datastruct/datastruct.tex b/datastruct/datastruct.tex index 9aa04bb5db2e..0242ccc7ba4b 100644 --- a/datastruct/datastruct.tex +++ b/datastruct/datastruct.tex @@ -2017,10 +2017,10 @@ which could allow the compiler to inline the resulting fixed functions, eliminating not only the overhead of the call instruction, but the argument marshalling as well. -\QuickQuizE{ +\QuickQuiz{ How much do these specializations really save? Are they really worth it? -}\QuickQuizAnswerE{ +}\QuickQuizAnswer{ The answer to the first question is left as an exercise to the reader. Try specializing the resizable hash table and see how much @@ -2029,7 +2029,7 @@ argument marshalling as well. instead be answered with respect to a specific use case. Some use cases are extremely sensitive to performance and scalability, while others are less so. -}\QuickQuizEndE +}\QuickQuizEnd All that aside, one of the great benefits of modern hardware compared to that available when I first started learning to program back in