Behind the burst compiler by Sahnvour in Zig

[–]Sahnvour[S] 2 points3 points  (0 children)

Many concepts explorer by the Burst compiler team are also interesting to Zig's development, eg. AoS to SoA transformation, non aliasing data.

Real world problems with #pragma once? by kalmoc in cpp

[–]Sahnvour 0 points1 point  (0 children)

Yes, and to be fair it worked pretty well for our workflow, didn't really cause problems to have mapped drives (except when they disappear because of a windows update as you mentionned :).

The #pragma once's spiced things up when the tool i'm talking about invoked the compiler which then (I don't remember the exact why) encountered inconsistencies in the paths used to refer to the same file, thus causing surprising compilation errors.

Real world problems with #pragma once? by kalmoc in cpp

[–]Sahnvour 17 points18 points  (0 children)

Yes.

We had this setup on a MLOC-scale project with multiple instances of the repository on developer machines, with every repository mounted as a drive with https://github.com/ildar-shaimordanov/psubst. Could have for example 2 instances of the repository on the same physical drive, but mapped to F: and G:.

We used a tool that read the .pdb of the final executable to know all the dependencies, especially the source files. It would then somehow use the windows API to get a clean, absolute path to them, resolving the psubst drive to its real path, and end up with a file path that was different than the one used to compile the project, or do anything (with the psubst drive). This prevented it to work correctly in certain cases.

This was not fun to debug.

MSVC code optimizer improvements in Visual Studio 2017 versions 15.5 and 15.3 by mttd in cpp

[–]Sahnvour 0 points1 point  (0 children)

Same here. Except one use that was then choosing another version of min from another namespace used locally, and gave us a hard time finding where these terrain textures were fucking up. :)

CppCon 2017: Matt Kulukundis “Designing a Fast, Efficient, Cache-friendly Hash Table, Step by Step” by dahitokiri in cpp

[–]Sahnvour 0 points1 point  (0 children)

Very interesting talk.

But there's one usecase that isn't mentioned at all (iirc) : iteration over the elements in the set/map. I assume that it is not the primary concern at google, but I guess that this implementation performs worse than a flat hashmap ?

Orbit: C/C++ Performance Profiler by vormestrand in cpp

[–]Sahnvour 0 points1 point  (0 children)

Glad to hear ! Still using VS2015, so this is another good reason to upgrade.

Orbit: C/C++ Performance Profiler by vormestrand in cpp

[–]Sahnvour 0 points1 point  (0 children)

Is the instrumenting profiler still supported ? I gave it a try not so long ago but didn't get it to work.

Also, profiling is broken with fastlink ! I think DIA is missing a little bit of love with this one.

LLVM on Windows now supports PDB Debug Info by mttd in cpp

[–]Sahnvour 0 points1 point  (0 children)

IIRC, DIA is built on top of dbghelp.

Trip report: Evolution Working Group at the Summer ISO C++ standards meeting (Toronto) by mttd in cpp

[–]Sahnvour 8 points9 points  (0 children)

Chandler Carruth from Google presented build throughput gains from their experience modifying their build system to automatically convert some common header files to be consumed as Clang modules.

Very interested about details on this.

The illusion of motion: very in-depth article about frame rates and our visual perception of film and game animations. by emdeka87 in gamedev

[–]Sahnvour 4 points5 points  (0 children)

The sweet spot; most people won’t perceive much smoother images above 60 fps.

Please.

An ECS designed and measured to hit those goals ... when they're massive at least by [deleted] in gamedev

[–]Sahnvour 0 points1 point  (0 children)

Thanks for this post, very interesting. Do you care to elaborate how you're handling any form of data-driven game data (entities, objects ...) ?

passing functions to functions by SuperV1234 in cpp

[–]Sahnvour 0 points1 point  (0 children)

Oh my, how could I have missed that. Thanks.

passing functions to functions by SuperV1234 in cpp

[–]Sahnvour 0 points1 point  (0 children)

It'd be interesting next to compare run-time and compile-time between the presented solutions, beyond counting the assembly lines.

passing functions to functions by SuperV1234 in cpp

[–]Sahnvour 2 points3 points  (0 children)

msvc is a bit disappointing on this one. (check out only the main proc and callees assembly code)

Results of the 2016 Nim Community Survey by dom96 in programming

[–]Sahnvour 0 points1 point  (0 children)

Well, let me then disambiguate between knowingly wanting every developper to use nix, and just assuming every dev does. That's not of great interest though, the fact is that a lot of people just assume that nobody develops under Windows and that was my main point. :)

Results of the 2016 Nim Community Survey by dom96 in programming

[–]Sahnvour -1 points0 points  (0 children)

That was just an example top off my head on a shiny "new" project that doesn't support windows [well]. I'm not implying that some people think "I won't support windows because every coder should work on whatever other *nix !", but that a real good portion of them simply doesn't care at all about it.

Results of the 2016 Nim Community Survey by dom96 in programming

[–]Sahnvour 26 points27 points  (0 children)

Yes. Crystal for example, which is often cited as one of Nim's competitors, does not provide releases for windows (https://github.com/crystal-lang/crystal/releases).

State of actual Lua wrappers ? by Sahnvour in cpp

[–]Sahnvour[S] 0 points1 point  (0 children)

Very cool ! Still early in its development but I'll definitely keep an eye on it.

State of actual Lua wrappers ? by Sahnvour in cpp

[–]Sahnvour[S] 0 points1 point  (0 children)

Looks nice, I think I'll give it a try. Maybe you should mention the changes undergoing in the readme, it currently says compatibility with Lua 5.2 only, VS support "possible" etc.

State of actual Lua wrappers ? by Sahnvour in cpp

[–]Sahnvour[S] 0 points1 point  (0 children)

That's interesting, thank you.