I am positive (based on my research and the feedback in the comments below) that these each are session based. As in, if 5 users save 50 records each, 5 triggers of 50 records each are run. My reasoning behind this thinking is:
- Triggers fire in bulk and have their own Order of Execution
- This Order of Execution includes multiple validation steps.
- If Salesforce bulked up these records it would cause massive problems with validation. Let me show you a scenario:
- You have 5 users. User A, B, C, D, and E.
- Users A, B, and C all have valid data.
- Users D and E have invalid data.
- In a bulk processing scenario, all 5 would get errors returned for invalid data because of the transaction management of Triggers.
- In a non-bulk processing scenario, User A, B, and C would process successfully. Users D and E would each receive separate errors on what is wrong in their record set.
I did a bit of research and I could not find any specific Salesforce documentation explaining this, but like I said, I am almost positive this is how it works (and in my opinion it makes sense to work like this because of transactions).