If you have the Optiplex 380 Mini Tower then the best drop in card is the ZOTAC GTX1050Ti 4GB Mini. The regular ZOTAC GTX1050 2GB Mini is closer to your price and with the 8GB RAM capacity of the MB a good match anyway.
I'm running an Opti 380MT with Q9550S, 8 GB DDR3 1333 2x4GB (@1066), and a Zotac GTX1050Ti Mini 4GB.
Here are some builds for that. Mine is the 6th one and is a typical budget build. http://www.userbenchmark.com/System/Dell-OptiPlex-380/1942
GTX 1050 came out in 2016 roughly 1700 MFLOPS
HD6670 came out in 2011 roughly 1/3 to 1/4 as powerful as a GTX1050. I can't actually find a decent FLOPS measurement for it. I used to have one in 2011, I just used it as a multimedia card. It could also play WoW at low/medium settings with a reduced resolution.
It is difficult to find direct comparisons to cards so far apart in terms of performance and age. But UserBenchmark (somewhat reliable data) gives it anything from 233% to 400% depending on the application.
GTX 1050Ti is about 20% faster than a GTX 1050.
If William P has a 1050Ti running, then compatibility is more or less assured.
GTX1050 is good for all modern titles at around medium settings for 1080p and high settings for less resolution.
ok guys i have ran into a problem. My current graphics card fan has stop working and now i get to get a new one quick. i havent bought a gtx 1050 yet because i havent gotten the money yet and now i force to buy a new one now.