summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Optimize PUB and HPUB parsingRobby Zambito2026-01-05
| | | | | | | This will try to take better advantage of the buffered reading. Instead of pushing one byte at a time to the array list for each section, find the end index for each section, then alloc the arraylist and copy the data into it all at once.
* Update tests to work againRobby Zambito2026-01-05
|
* Simplified queue accessRobby Zambito2026-01-05
| | | | | | Also correctly move resetting the task to the end instead of defer. We don't want to reset the task in the case of an error, so shouldn't use defer.
* Display help when there is no subcommandRobby Zambito2026-01-05
|
* Add Payload typeRobby Zambito2026-01-05
| | | | | stores short message buffers in a colocated array, overflowing to an allocated slice when needed.
* Using separate queue for high throughput messagesRobby Zambito2026-01-04
|
* Probe for optimal network buffer size.Robby Zambito2026-01-04
| | | | | | | | | We want to match the underlying system socket buffer. Filling this buffer minimizes the number of syscalls we do. Larger would be a waste. Also changed parser to use enums that more closely match the NATS message types.
* holy moly goes way fast!!!Robby Zambito2026-01-03
| | | | like 150 mbps now
* Kill dead code and use higher bufferRobby Zambito2026-01-03
|
* cleanup importsRobby Zambito2026-01-03
|
* Organize thingsRobby Zambito2026-01-03
| | | | Making it easier to use the server as a library
* Fix parse errors, ownership errors.Robby Zambito2026-01-03
|
* Restructuring parserRobby Zambito2026-01-03
| | | | Adding tests fore everything
* Fix double freeRobby Zambito2026-01-03
| | | | was freeing the wrong element before.
* Subject validationRobby Zambito2026-01-02
|
* Remove unnecessary explicit enumRobby Zambito2026-01-02
| | | | This can be computed (as it is now)
* Fix possible race conditionRobby Zambito2026-01-02
| | | | | | | since the queue was being set in an async task and we were then calling send asserting that the queue was set, we could have triggered a panic. didn't run into it but seemed likely to cause issues in the future. also compute the buffer size for operators at comptime.
* Move handshake from client to serverRobby Zambito2026-01-02
|
* Only check for ctrl+c every 10 msRobby Zambito2026-01-02
|
* Add branch hints for high performance messaging.Robby Zambito2026-01-02
|
* Fix connect parsingRobby Zambito2026-01-02
|
* Don't assume capacityRobby Zambito2026-01-02
|
* remove debug logRobby Zambito2026-01-02
|
* Rework pub and hpub parseRobby Zambito2026-01-02
| | | | support hpub in general, and properly support reply subjects
* (no commit message)Robby Zambito2026-01-02
|
* Support subject patternsRobby Zambito2026-01-02
| | | | clean up some tests
* broke 100 mbps!!Robby Zambito2026-01-02
| | | | | | | | | coder@08714a4174bb:~$ nats bench sub foo -s localhost:4223 14:33:02 Starting Core NATS subscriber benchmark [clients=1, msg-size=128 B, msgs=100,000, multi-subject=false, subject=foo] 14:33:02 [1] Starting Core NATS subscriber, expecting 100,000 messages Finished 0s [===============================================================================================================================] 100% NATS Core NATS subscriber stats: 934,205 msgs/sec ~ 114 MiB/sec ~ 1.07us
* Nicer loggingRobby Zambito2026-01-02
|
* Much better cleanup, still fast B)Robby Zambito2026-01-02
|
* Cleanup on errorRobby Zambito2026-01-02
|
* reorganize but crashingRobby Zambito2026-01-02
| | | | | not sure why, seems like i'm using the right allocators everywhere? need to take another pass at this later.
* formattingRobby Zambito2026-01-02
|
* Remove dead commentsRobby Zambito2026-01-01
|
* Use group to make it easier to clean up client tasks on exitRobby Zambito2026-01-01
|
* Cleanup for deinitializingRobby Zambito2026-01-01
|
* gracefully exitRobby Zambito2026-01-01
| | | | | simplify code clean up dead code
* 97 mbps !!! super fastRobby Zambito2026-01-01
| | | | | dosen't flush every message, pulls batches from the queue to send, and flushes at the end of each batch. batches are a min of 1 message, but may be more.
* Slower, but probably more correctRobby Zambito2026-01-01
|
* Lock subs when reading itRobby Zambito2026-01-01
| | | | should probably make a copy instead of doing io in the mutex
* Use a small stack buffer for client ioRobby Zambito2026-01-01
|
* Use master yazapRobby Zambito2026-01-01
| | | | Works against the latest master branch for zig again :)
* Actually fast again???Robby Zambito2026-01-01
| | | | | | | | | | | | | | | | way faster than before even?? coder@08714a4174bb:~$ nats bench pub foo -s localhost:4223 05:12:23 Starting Core NATS publisher benchmark [clients=1, msg-size=128 B, msgs=100,000, multi-subject=false, multi-subject-max=100,000, sleep=0s, subject=foo] 05:12:23 [1] Starting Core NATS publisher, publishing 100,000 messages Finished 0s [====================================================================================] 100% NATS Core NATS publisher stats: 574,666 msgs/sec ~ 70 MiB/sec ~ 1.74us So cool. src/server/client.zig JJ: M src/server/main.zig JJ: JJ: Lines starting with "JJ:" (like this one) will be removed.
* reorganize some thingsRobby Zambito2026-01-01
|
* Rename ClientState to ClientRobby Zambito2026-01-01
|
* Heap allocate client buffersRobby Zambito2026-01-01
|
* Avoid queues completelyRobby Zambito2026-01-01
| | | | This is quite slow
* Reorganized thingsRobby Zambito2026-01-01
|
* things are running quite smoothly!!!compare-to-thisRobby Zambito2026-01-01
| | | | | | | | | coder@08714a4174bb:~$ nats bench sub foo -s localhost:4223 03:28:04 Starting Core NATS subscriber benchmark [clients=1, msg-size=128 B, msgs=100,000, multi-subject=false, subject=foo] 03:28:04 [1] Starting Core NATS subscriber, expecting 100,000 messages Finished 6s [====================================================================================] 100% NATS Core NATS subscriber stats: 14,691 msgs/sec ~ 1.8 MiB/sec ~ 68.06us
* Simplified a ton of things and cleaned up ownershipRobby Zambito2026-01-01
|
* some cleanup and freeingRobby Zambito2026-01-01
|