HOMEWORK 9: Tiktok Trends NAME: Jinshan Zhou COLLABORATORS AND OTHER RESOURCES: List the names of everyone you talked to about this assignment (classmates, TAs, ALAC tutors, upperclassmen, students/instructor via LMS, etc.), and all of the resources (books, online reference material, etc.) you consulted in completing this assignment. A lot, like using Top K for better sorting. Difference IO cases (not useful). StringCache (not useful). shared_ptr (not really help) and may websites, cases that I don't remember anymore. Remember: Your implementation for this assignment must be done on your own, as described in "Academic Integrity for Homework" handout. ESTIMATE OF # OF HOURS SPENT ON THIS ASSIGNMENT: over 20 hr, 8 hr for complete more than 10 hr just for optimization. MISC. COMMENTS TO GRADER: The program is a bit messy. Since, I tried too many techniques. Some are broken changes, so I have to add patch to it. Myself is also a bit lose to my code. ## Reflection and Self Assessment Discuss the issues you encountered during development and testing. What problems did you have? What did you have to research and learn on your own? What kinds of errors did you get? How did you fix them? What parts of the assignment did you find challenging? Is there anything that finally "clicked" for you in the process of working on this assignment? How well did the development and testing process go for you? This was definitely the most challenging assignment I've ever seen, and the hard part was identifying performance issues and optimizing them. It was not easy, I used various tools like perf and found that the JSON part had the biggest overhead. Optimizing it showed immediate results, but then I hit a bottleneck, so I started using various schemes, and most of them didn't work. Then I had to push back and design the business process from scratch and finally got inspired by my professor to use unordered set to get the best performance (last 0.1 seconds).