As someone who trains or has trained empty-handed, with firearms, with martial arts weapons, and somewhat with knives, I can wholeheartedly say a handgun. In Texas, concealed carry is legal with a license, and I take full advantage of it. On the other hand, a small fixed blade knife is easier to deploy in some cases, so it would make a handy secondary weapon if engaged in a full-on struggle with an attacker. As @dete so astutely put, there are factors to be considered for everyone's individual situation. When I lived in California, legal carry of a handgun was out of reach for an average citizen. In Texas, it's technically illegal for me to walk down the street with a golf club, but I can carry my handgun as long as it is concealed.