350 GHz don't mean anything on their own. Is it actually usable?
Not really . The fact that it's possible doesn't mean it's economically feasible for mass production. If I remember correctly it was a fairly simple processor.
Anyways as I said what need to be done is reduce the complexity of some algorithms - that will make the game run fine on any size embark.
Embark size affects the possible number of nodes in your graph .It's about 230,400 per embark square. a 16X16 embark has 59~ million possible nodes . more nodes = more number crunching and much more complicated path finding. other than that you'll have more veins ,more plants and more and more structures and creatures . This means more stuff in the data structures you have to go through.
More is not always a problem . If you approach it using a classic "divide and conquer approach" you can get some huge improvements . My simulator only does pathfinding on 32X32 maze. In
one of my examples I managed to reduce a 110 step long path's complexity from 2 million iterations that it does with a simple A* to 11520 iterations using the "same" A* (added some constraints) but just finding 13 +1 subpaths length 8~ . I believe the gains on a larger map would be much greater. I can upscale my simulator to upto 256X256 easily and I believe that with a similar complexity with a longer path.
This is how my path looks like(S= start, D=dest ,*= path, O are room access points):
##################################
#S++++++++++++++++++++#++++++++++#
#+*+++++++#+++++++++++#++++++++++#
#+*+++++++#+++++++++++#++++++++++#
#+*+++++++#+++++++++++#++++++++++#
#+*+++++++#+++++++++++#++++++++++#
#+*+++++++#+++++++++++#++++++++++#
#+*+++++++#+++++++++++#++++++++++#
#+*+++++++#+++++++++++#+++O++++++#
#+O*++++++#+++++++++++#+**+*+++++#
####*##################*####*#####
#++*++++++#+***O*****+#*#++*+++++#
#+*+++++++#*#########*#*#+*++++++#
#*++++++++#*#+++++++#*#*#+*++++++#
#*++++++++#*#+++++++#*#*#+*++++++#
#*++++++++#*#+####++#*#*#+*++++++#
#*++++++++#O#++#+##+#*#*#O+++++++#
#O++++++++#*#+##+#++#*#*#*+++++++#
#*++++++++#*#+##+##+#*#*#*+++++++#
#*++++++++#*#++++#++#*#O#*+++++++#
#+*+++++++#*#######+#*#*#+*++++++#
#++*++++++#+****D+++#+*+#++*+++++#
####*#######################*#####
#++*++++++#+++++++++++#++++*+++++#
#O*+++++++#++++++O++++#+++O++++++#
#+*+++++++#+++++*+*+++#++*+++++++#
#++*++++++#++++*+++*++#+O++++++++#
#+++*+++++#+++*+++++*+#+*++++++++#
#++++*++++#++*+++++++*#*+++++++++#
#+++++*+++#+*+++++++++*++++++++++#
#++++++**O#*++++++++++#++++++++++#
#+++++++++*+++++++++++#++++++++++#
#+++++++++#+++++++++++#++++++++++#
##################################
the A* path looks like this and the runtime is significantly longer.
##################################
#S++++++++++++++++++++#++++++++++#
#+*+++++++#+++++++++++#++++++++++#
#++*++++++#+++++++++++#++++++++++#
#+++*+++++#+++++++++++#++++++++++#
#++++*++++#+++++++++++#++++++++++#
#+++++*+++#+++++++++++#++++++++++#
#++++++*++#+++++++++++#++++++++++#
#+++++*+++#+++++++++++#++++++++++#
#++++*++++#+++++++++++#+****+++++#
####*##################*####*#####
#++++*++++#+*********+#*#++*+++++#
#+++++*+++#*#########*#*#+*++++++#
#++++++*++#*#+++++++#*#*#*+++++++#
#+++++++*+#*#+++++++#*#*#*+++++++#
#++++++++*#*#+####++#*#*#*+++++++#
#++++++++*#*#++#+##+#*#*#*+++++++#
#++++++++*#*#+##+#++#*#*#*+++++++#
#+++++++*+#*#+##+##+#*#*#*+++++++#
#++++++*++#*#++++#++#*#*#*+++++++#
#+++++*+++#*#######+#*#*#+*++++++#
#++++*++++#+****D+++#+*+#++*+++++#
####*#######################*#####
#++++*++++#+++++++++++#++++*+++++#
#+++++*+++#++++++*++++#+++*++++++#
#++++++*++#+++++*+*+++#++*+++++++#
#+++++++*+#++++*+++*++#+*++++++++#
#++++++++*#+++*+++++*+#*+++++++++#
#++++++++*#++*+++++++*#*+++++++++#
#++++++++*#+*+++++++++*++++++++++#
#++++++++*#*++++++++++#++++++++++#
#+++++++++*+++++++++++#++++++++++#
#+++++++++#+++++++++++#++++++++++#
##################################
Saving paths between rooms also gives good performance but even without that path caching scheme the run times are similar. The path caching algorithms ( I got a placed waypoint example in there ) also need a path smoother( I got a function that does that fairly fast) to get an optimal path .The non cacher you see above doesn't really need smoothing . It's only off by about 4 nodes from the optimal path and I didn't finish optimizing room shapes and adding the update scheme ( a critical part for this implementation).
So can DF run smoothly in a 16X16 embark? currently no, theoretically yes. Processing power is not the only factor at the moment . You have to take power consumption into account too because mobile computing is very common these days and so are computers with less computing power and memory.