Stoyan Nikolov


2012 - now, Chief Software Architect & Co-Founder of Coherent Labs.

Coherent Labs builds high-performance HTML renderers & UI systems for AAA games. The products Stoyan has designed are currently deployed in 100+ million devices across PC, game consoles and mobile. He uses exclusively modern C++, which is a key factor for the performance and ultimate success of the software.

He has given talks about DoD and other aspects of our technology at events like:

  • Devcom 2017, Cologne Germany
  • Sofia GameDev meetup
  • C++ user group Sofia
  • CG2 code for art
  • Game Dev summit Sofia

2010-2012, Engine and graphics programmer at Masthead Studios

He was part of the core engine team of a large MMORPG game.

2007-2010, C++ programmer in ERP solutions for Eutelia S.p.A

Stoyan has a B.Sc. in “Applied mathematics” from the Technical University Sofia and an M.Sc. in “Computer graphics” from Sofia University “St. Kliment Ohridski”.



Data-oriented design in practice (2018)

For decades C++ developers have built software around OOP concepts that ultimately didn’t deliver - we didn’t see the promises of code reuse, maintenance or simplicity fulfilled, and performance suffers significantly. Data-oriented design can be a better paradigm in fields where C++ is most important - game development, high-performance computing, and real-time systems.

The talk will briefly introduce data-oriented design and focus on practical real-world examples of applying DoD where previously OOP constructs were widely employed.

Examples will be shown from modern web browsers. They are overwhelmingly written in C++ with OOP - that’s why most of them are slow and memory hungry. In the talk I’ll draw parallels between the design of systems in Chrome and their counterparts in the HTML renderer Hummingbird. As we’ll see, Hummingbird is multiple times faster because it ditches OOP for good in all performance-critical areas.

We will see how real-world C++ OOP systems can be re-designed in a C++ data-oriented way for better performance, scalability, maintainability and testability.