<https://www.microsoft.com/en-us/research/publication/efficient-and-scalable-thread-safety-violation-detection-finding-thousands-of-concurrency-bugs-during-testing>`_.
This feature is not very usable yet, as you have to manually annotate your code, but we hope to improve it in the future.
-Version 3.35 (TBD)
-------------------
+Version 3.35 (November 23. 2023)
+--------------------------------
**On the performance front**, we did some profiling and optimisation for this release. We saved some memory in simulation
mixing MPI applications and S4U actors, and we greatly improved the performance of simulation exchanging many messages. We even
kinda worked, but was very fragile because neither this information nor the compilation process are meant for state equality
evaluation. Not zeroing the memory induces many crufty bits, for example in the padding bytes of the data structures or on the
stack. This can be solved by only comparing the relevant bits (as instructed by the debug information), but this process was
-rather slow. Detecting equality in the stack was even more hackish, as we usually don't have any debug information about the
+rather slow. Detecting equality in the heap was even more hackish, as we usually don't have any debug information about the
memory blocks retrieved from malloc(). This prevents any introspection into these blocks, which is problematic because the order
of malloc calls will create states that are syntactically different (the blocks are not in the same location in memory) but
semantically equivalent (the data meaning rarely depends on the block location itself). The heuristics we used here were so
almost working code lying around, but it fails for timed waits on condition variables. This will probably be part of the next
release.
+Version 3.36 (TBD)
+------------------
+
+
.. |br| raw:: html
<br />