Apparently, people can identify others in a tenth of a second, or less. They can remember hundreds of faces, and recognize thirty classmates as "familiar" after seeing them once.
I say "apparently", because such concepts are so far out of my experience, if my mom hadn't told me, I would have never suspected a thing. It seems impossible to contemplate; a state of advanced mental technology on par with "Star Trek" computers that understand conversational English, and androids walking down the street.
Last week I timed myself recognizing people, and found my average was two seconds. Twenty times slower. In the time a "normal" person can recognize twenty people, I identify one. This is an improvement, thanks to my new Advance Recognition Algorithm:
1: List the names of the people you will be expected to identify in the current situation
2: Attempt to determine if they're around:
2.1: List each person's identifying traits such as hair, backpack, clothing or glasses.
2.2: Search for each person using this cue
2.3: Remember the current appearance of each person identified and associate it with their name
3: Conduct whatever social business required recognizing all those people
Identifying people is an exercise in logic and probabilities. I do not think "There's Sarah!". I think "That person is probably Sarah," or "That person may be Sarah, but I can't tell." To find my brother in a store, I look for his bright orange hoodie and messy anime hair. I have an idea of how his face looks, but find it easier to search for his clothes. When I learn to recognize someone, their name becomes a pointer leading to a list of details stored as text. (A pointer, for non-programmers, is an address. Your home address is a pointer to your house.) The upside is I don't forget names. (The downside is I can't remember someone unless I can spell their name.)
Sometimes my pointers don't work. They point to the wrong thing, and I get two people's identifying details mixed up. Or they point to nothing at all, which means I have no way to recognize someone. Heaven forbid someone else should forget a name: "You know, she's got a thin little nose, and very round eyes…" This is like giving someone your home address (which does not point to your phone) so they can call your cell.
It does not occur to me that this is different, or wrong, because for me it is not. Neither is it caused by learning programming, which only gave me the vocabulary to describe my system. Though I suspect the "other way" is better, my pointers work well enough.