Hi, Eli, As you suggested, I re-write the code using 'FETCH_STRING_CHAR_ADVANCE'. I did some peformance test. My original wide character array solution is two time fast as current solution. But I understand now we avoid repeated memory allocation for wide character array. So the generic performance looks OK to me. I also implemented the byte comparing version. It's 4 times as fast. And I do need use it to compare file path in my package 'counsel-etags'. That's the major reason why I started this task The fille path couldn't contain any funny characters (emoji). so it'sperfectly fine to use byte comparing version. Regards, Chen On Tue, Apr 17, 2018 at 12:37 PM, Eli Zaretskii wrote: >> From: chen bin >> Date: Tue, 17 Apr 2018 11:32:23 +1000 >> >> I intentionally avoid cc `emacs-devel` in my previous mail because I >> feel `culture/race` is sensitive thing. > > Please don't. There's no sensitivity about this stuff on emacs-devel, > in my long experience with Emacs development. > >> I will study your mail and figure out a better solution. > > Thanks. Feel free to ask more questions, and sorry again for my > stupid typo mistake. > -- help me, help you.