On.Programming

For most of us, programming (or more generally – software development) is all the life is about.

IT Hares are not different. And they have more than just quite a few bits to share about programming…

Ultra-fast Serialization of C++ Objects

May 16, 2017 by “No Bugs” Bunny

serialization: per-field vs whole struct

Quote:

in both these cases we can be 100% sure that we’ll be deserializing this state on the executable which is identical to the executable which serialized the state.

Another Quote:

Even when comparing with home-grown code with per-field serialization, our Ultra-Fast Serialization still wins (up to 1.5x-2x)

Filed under: On.ProgrammingTips and TricksOptimizations

Read more

Production Crashes. Post-factum Debugging. Logging. Replayable Deterministic Re(Actors)

April 4, 2017 by “No Bugs” Bunny

Post-factum debugging

Quote:

I’ve seen game companies with hundreds of thousands of dollars lost per hour of unplanned server downtime.

Another Quote:

deterministic debugging is by far the best thing I have seen for production debugging.

Filed under: Book: D&D of MOGs1st beta of Vol. IV-VIOn.System Architecture(Re)ActorsOn.ProgrammingDebugging

Read more

(Almost-)Zero-Additional-Latency UDP-over-TCP

March 21, 2017 by “No Bugs” Bunny

UDP over TCP

Quote:

we realize that for some of the Clients – UDP just doesn’t work because of some weird firewall between Client and Server

Another Quote:

there is nothing to block us (so head-of-line blocking doesn’t apply)

Filed under: Book: D&D of MOGs1st beta of Vol. IV-VIOn.ProgrammingNetwork Programming

Read more

TCP Peculiarities as Applied to Games, Part II

March 14, 2017 by “No Bugs” Bunny

Nagle's Algorithm

Quote:

Nagle’s algorithm aims to deal with those [CENSORED] developers who’re trying to send data over TCP in really small chunks (like 1 byte each time)

Another Quote:

it seems that “proportional rate reduction” (PRR, reportedly used by Linux kernels by default starting from 3.2) performs for gaming purposes a little bit better than the alternatives

Filed under: Book: D&D of MOGs1st beta of Vol. IV-VIOn.ProgrammingNetwork Programming

Read more