Commit Graph

48 Commits

Author SHA1 Message Date
Tony Garnock-Jones 5d2613873c Switch to monotonic System.nanoTime() 2024-04-30 21:25:34 +02:00
Tony Garnock-Jones 1d744181ec Reduce API surface of Actor by avoiding subclassing 2024-04-24 22:14:23 +02:00
Tony Garnock-Jones 0835077035 Remove vestigial type parameter 2024-04-24 22:14:07 +02:00
Tony Garnock-Jones 27ab682bca Repair ancient spelling error 2024-02-28 22:28:17 +01:00
Tony Garnock-Jones 6d94e728af Repair Actor.every 2023-10-29 00:25:17 +02:00
Tony Garnock-Jones 7526caa179 Mark overrides 2023-10-28 23:43:34 +02:00
Tony Garnock-Jones e483a57df9 Avoid allocating a wrapper for a runnable every time an actor is scheduled 2023-10-28 23:16:12 +02:00
Tony Garnock-Jones 90147b4970 Reuse a runnable 2023-10-28 21:00:53 +02:00
Tony Garnock-Jones 9c7b71fa51 Rearrange daemonization 2023-10-28 20:01:39 +02:00
Tony Garnock-Jones 882b47602d Split out _runWorkItems 2023-10-28 19:07:38 +02:00
Tony Garnock-Jones d91bb6dc02 Address idea warnings 2023-10-28 18:57:39 +02:00
Tony Garnock-Jones 9e971de6b0 Async mode helps a little 2023-10-28 18:41:10 +02:00
Tony Garnock-Jones 94646a92de Remove a few small Runnable allocations 2023-10-28 18:22:53 +02:00
Tony Garnock-Jones d1acf60d1b Avoid double-scheduling for a nice win 2023-10-28 17:12:07 +02:00
Tony Garnock-Jones 072119d6c0 Why not 2023-10-28 16:32:23 +02:00
Tony Garnock-Jones 6904ef76df Rearrange to put the common case at the top 2023-10-28 16:27:51 +02:00
Tony Garnock-Jones 636da3f28f Is there *really* a need to allocate fresh Turns every time? I think not 2023-10-28 16:18:42 +02:00
Tony Garnock-Jones 732bb0066d Oops, forgot to remove the allocation 2023-10-28 16:16:16 +02:00
Tony Garnock-Jones 7d9174c363 More data-structure inlining 2023-10-28 16:09:06 +02:00
Tony Garnock-Jones fd8b445482 Try to eke out a little more speed 2023-10-28 16:03:46 +02:00
Tony Garnock-Jones 5401d2d8e9 Reduce allocation slightly further 2023-10-28 15:45:27 +02:00
Tony Garnock-Jones f55fd2c668 Good performance boost by avoiding hashmaps in the single-target case 2023-10-28 15:37:10 +02:00
Tony Garnock-Jones de6b5dfe18 See, this is why shadowing should be permitted 2023-10-28 14:11:58 +02:00
Tony Garnock-Jones e7d7942e9b Exclusion no longer required 2023-10-28 14:09:06 +02:00
Tony Garnock-Jones 85c106b6ca Guard concurrent access to _outbound 2023-10-28 13:52:27 +02:00
Tony Garnock-Jones cb3fd44529 Start timing after all peer-setting has been done 2023-10-28 13:49:49 +02:00
Tony Garnock-Jones 637f1da5f4 Implement ring benchmark; repair some errors 2023-10-28 13:23:29 +02:00
Tony Garnock-Jones c7718b3ddd Make turns atomic, rather than reply-turn-per-event 2021-05-31 12:05:00 +02:00
Tony Garnock-Jones d6c8a80995 Bump language level to JDK 16 to get records; update example1 2021-05-12 15:47:59 +02:00
Tony Garnock-Jones af611e1b2b First broad step toward novy 2021-05-12 15:47:59 +02:00
Tony Garnock-Jones 2ad5ac75ee Remove ambient authority (static current Actor) 2021-05-12 15:47:59 +02:00
Tony Garnock-Jones 864f371034 Cut out a couple of middlemen 2020-12-09 21:04:20 +01:00
Tony Garnock-Jones 935b7ea5c3 Fix warnings 2020-12-09 20:54:53 +01:00
Tony Garnock-Jones 49f2b81dc6 Cosmetic 2020-12-09 20:37:38 +01:00
Tony Garnock-Jones 8d0590dbec Move erlang code 2020-12-09 20:30:42 +01:00
Tony Garnock-Jones a9c8ded1db Avoid proxying for a significant speed boost 2020-12-09 20:27:12 +01:00
Tony Garnock-Jones 76c1ad3268 Direct reference to peers in Forwarder actors 2020-12-09 20:22:52 +01:00
Tony Garnock-Jones 26e29ac1ce Improved printing; Erlang rough equivalent 2020-12-09 19:47:33 +01:00
Tony Garnock-Jones 4d922e3049 Commented-out random-neighbour-picking code 2020-12-09 16:13:22 +01:00
Tony Garnock-Jones c2c80215d4 Preserve message ordering (!!) 2020-12-09 16:12:58 +01:00
Tony Garnock-Jones 46a129d40f Better printing 2020-12-09 09:59:50 +01:00
Tony Garnock-Jones a319245fa5 ThrowingSupplier 2020-12-07 23:52:19 +01:00
Tony Garnock-Jones d169c1277b Actually report Hz 2020-12-07 23:51:31 +01:00
Tony Garnock-Jones 9965027eb6 Remove IMonitorHandler 2020-12-06 00:09:06 +01:00
Tony Garnock-Jones f8a7d95e55 Links and monitors 2020-12-05 23:50:41 +01:00
Tony Garnock-Jones bb3d822988 Use a work stealing pool 2020-12-05 00:01:28 +01:00
Tony Garnock-Jones a333659741 Progress 2020-12-04 23:25:40 +01:00
Tony Garnock-Jones 956a509418 Initial commit 2020-12-04 19:57:47 +01:00