wanghenshui / cppweeklynews

c++中文周刊
https://wanghenshui.github.io/cppweeklynews/
Creative Commons Zero v1.0 Universal
450 stars 22 forks source link

150 #96

Closed wanghenshui closed 8 months ago

wanghenshui commented 8 months ago

https://cnrs.hal.science/hal-04090584/document

音视频领域有个 M x N问题

不同的media processors 在N种平台上导致api复杂度上升不可维护

考虑一种接口设计方法,让代码更简练

琢磨半天结果是concept + boost pfr之类的检测接口/策略模版

https://ossia.io/posts/reflection/

https://github.com/celtera/avendish

wanghenshui commented 8 months ago

https://github.com/aras-p/ClangBuildAnalyzer

wanghenshui commented 8 months ago

constexpr and consteval functions https://biowpn.github.io/bioweapon/2024/02/17/constexpr-consteval-function.html

// This is a pure compile-time function.
// Any evaluation is fully done at compile-time;
// no runtime code will be generated by the compiler, just like `static_assert`.
consteval size_t strlen_ct(const char* s) {
    size_t n = 0;
    for (; s[n] != '\0'; ++n);
    return n;
}

// This is a pure runtime function, which can only be invoked at runtime.
size_t strlen(const char* s);

// This function can be invoked both at both compile-time and at runtime,
// depending on the context.
constexpr size_t strlen_dual(const char* s) {
    if consteval {
        return strlen_ct(s); // compile-time path
    } else {
        return strlen(s);    // runtime path
    }
}
wanghenshui commented 8 months ago

https://ashvardanian.com/posts/google-benchmark/

wanghenshui commented 8 months ago

https://www.reddit.com/r/cpp/comments/1auyi0n/boost_review_of_parser_begins_today/

wanghenshui commented 8 months ago

https://christiandaley.github.io/2024/02/18/virtual-function-templates-with-stateful-metaprogramming-in-c++-20.html

wanghenshui commented 8 months ago

https://www.reddit.com/r/cpp/comments/1avgofj/static_vector_needs_typeerasure/

https://volt-software.nl/posts/static-vector-needs-type-erasure/

wanghenshui commented 8 months ago

https://a10nw01f.github.io/post/advanced_compile_time_validation/

wanghenshui commented 8 months ago

https://johnnysswlab.com/a-story-of-a-very-large-loop-with-a-long-instruction-dependency-chain/

简单来说就是拆循环 loop fission + 降低数据buffur大小,小于l1 cacheline,提升性能

需要复现一下

如何发现是内存子系统的问题(buffer大于cacheline)? 使用likwid 查的。这个实验需要复现一下看看

wanghenshui commented 8 months ago

https://johnnysswlab.com/when-an-instruction-depends-on-the-previous-instruction-depends-on-the-previous-instructions-long-instruction-dependency-chains-and-performance/

简单来说就是通过 interleave 拆分任务,来加速,这个和loop fission还不太一样,loop fission就是单纯的拆循环,interleave又不同任务分发调度的感觉

wanghenshui commented 8 months ago

libfork

https://tsung-wei-huang.github.io/papers/icpads20.pdf

https://conorwilliams.github.io/libfork/api/schedule.html

https://en.wikipedia.org/wiki/Parent_pointer_tree 这个要看他的segment stack怎么写的

另外就是性能要测试一下

https://arxiv.org/pdf/2402.18480.pdf

wanghenshui commented 8 months ago

TerensTare/modern_bloom 挑刺儿一下

当我们实现bloom filter都需要注意什么?

wanghenshui commented 8 months ago

https://www.scs.stanford.edu/~dm/blog/param-pack.html

wanghenshui commented 8 months ago

https://redixhumayun.github.io/systems/2024/01/03/atomics-and-concurrency.html

wanghenshui commented 8 months ago

https://www.tumuchdata.club/post/modern-buffer-managers-1/

wanghenshui commented 8 months ago

https://muratbuffalo.blogspot.com/2024/02/tunable-consistency-in-mongodb.html

wanghenshui commented 8 months ago

https://kcall.co.uk/ssd/index.html

wanghenshui commented 8 months ago

https://quuxplusone.github.io/blog/2018/08/11/the-auto-macro/

wanghenshui commented 8 months ago

https://quuxplusone.github.io/blog/2024/02/14/auto-macro-feature-requests/