3 ms·
Your description of both models is way off. Actors are always cheaper and faster than CSP processes with channels or "transport objects" as you call them. In a
by zzzcpan 8y ago
Your description of both models is way off.
Actors are always cheaper and faster than CSP processes with channels or "transport objects" as you call them. In a way actors can be described as cancellable asynchronously programmable channels in CSP. Asynchrony is key for implementations to achieve high performance and cancellation together with asynchrony are keys to model unbounded nondeterminism of the real world. Synchronous semantics greatly limit achievable performance and lack of cancellation limits usefulness. Hence no language exists where CSP actually works acceptably well (even Go struggles with it since the beginning, but they still refuse to admit that it was an awful choice).
- carlehewitt 8y agoYes, Actors are faster than CSP processes with channels because there is no required overhead in communications passing through channels. In fact, if a channel is desired it can be efficiently implemented as an Actor with put and get messages.
- carlehewitt 8y agoStrictly speaking an Actor is not a CSP process, because an Actor does not have its own stack and does not have its own program counter that moves sequentially through a program.