Welcome fishon. Your numbers are fine. Many spearos hunt for 45 to 60 seconds.
If you want to extend your bottom times, you might want to learn a relaxation technique to use during the breathe-up and while you're waiting on the bottom.
What's your entry like? Thrashing and punding all the way, or 1 leg up, graceful, slow and quiet. You shouldn't be working hard to get down. When you get to the bottom, concentrate on all the parts of your body, one by one, and feel them let go and relax. Forget about fishing for a minute (literally). Use that time to relax....the fish will start to show up after.
If you're in a searching dive, make sure you're streamlined as possible and move SLOWLY. Even moving your head to the side or changing the position of the gun should be done as if you are in molasses....and focus on finding the tight spots in your body and letting them turn to mush......your bottom times will increase if you do these things.
Bottom times of 2 to 3 minutes are not unreasonable, even in cold water, but be damn careful.
The same stuff applies to recreational freediving.
My PB in static is 6:20, my best dive was 50.4 metres. While spearing I'm usually down for 1:45 to 2:15, and weighted heavy.
Cheers,
Erik Y.