If you just need to enforce a bandwidth limit (which is one of the most common applications of QoS in the real world) you can specify a Limit action in an ordered APCL/URLF policy layer, or in an APCL/URLF-capable inline layer as part of the APCL blade. Much cleaner than using the QoS blade for the same purpose.
In my experience the QoS blade is not heavily used in the real world, which stems from the longstanding incompatibility of QoS with CoreXL/SecureXL between versions R70 and R77 vanilla. This limitation was lifted in version R77.10, which introduced the QXL path referenced by Heiko Ankenbrand. I'd estimate the relative overhead associated with the QXL path is somewhere between the Medium Path (PXL) and Firewall Path (F2F). I had a customer with an already very busy firewall recently try to turn on QoS in R80.10, and they had to turn it back off almost immediately due to the serious performance impact it incurred.
--
Second Edition of my "Max Power" Firewall Book
Now Available at http://www.maxpowerfirewalls.com
Gateway Performance Optimization R81.20 Course
now available at maxpowerfirewalls.com