How long should a workout take?

If your workout (with weights) is efficient you can get modest results with a 45-60 minute routine.