Some of this could be a persistence of vision issue.
Consider that the human eye sensors charge up from the light signal and it takes time for that to fade.
(anywhere from 10-20ms)
So even if you have a very fast display, depending on how you use it, you may not be able
to actually "see" the speed of the pixels changing because of persistence of vision.
If you are seeing visible "slugishness" when seconds are being displayed (updates only once per second)
perhaps something else is going on.
Maybe you are seeing some flicker during the updates?
The key to eliminating that is to make sure you don't clear the display (EVER).
The CLEAR command is VERY slow.
You can actually home the cursor (using setcursor(0,0) NOT home() as HOME is also slow)
and repaint the full display faster than a CLEAR command.
The issue with CLEAR is that it causes the display to blank for quite some time (many milliseconds)
that is visible.
The other thing that can really help is to only update the portion of the display that has changed
vs blindly updating the full display.
I'm not sure what library you are using (LiquidCrystalFast??) and its optimization, but the standard
LiquidCrystal library is quite slow!
If you want speed, use this LiquidCrystal library replacement: https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/Home
It includes a benchmark that I wrote (LCDiSpeed in the examples) that can measure speed of
updating the lcd.
You can see the results for FM's library and the stock LiquidCrystal Library.
It would be interesting to run it on your "LiquidCrystalFast" library to see
how its speed compares to the stock LiquidCrystal library and FM's library.