4 pointsby SuperV123410 hours ago1 comment
  • SuperV12344 hours ago
    I ran some more measurements using import std; with a properly built module that includes reflection.

    I first created the module via:

      g++ -std=c++26 -fmodules -freflection -fsearch-include-path -fmodule-only -c bits/std.cc 
    
    And then benchmarked with:

      hyperfine "g++ -std=c++26 -fmodules -freflection ./main.cpp"
    
    The only "include" was import std;, nothing else.

    These are the results:

    - Basic struct reflection: 352.8 ms

    - Barry's AoS -> SoA example: 1.077 s

    Compare that with PCH:

    - Basic struct reflection: 208.7 ms

    - Barry's AoS -> SoA example: 1.261 s

    So PCH actually wins for just <meta>, and modules are not that much better than PCH for the larger example. Very disappointing.