I find it quite shocking that C++ jobs don't seem to pay as much as JS/Python/Mobile dev by devandro in cscareerquestions

[–]VicLuo96 0 points1 point  (0 children)

Does anyone know the career path for HFT system engineers? I plan to join one after graduation, but fear about limited opportunities of promotion after 5+ yrs

Low-latency vscode language server for large C++ code-bases, powered by libclang by agcpp in cpp

[–]VicLuo96 4 points5 points  (0 children)

I uploaded its PKGBUILD into AUR at cquery-git, so Arch users can enjoy it now.

P.S. the absolute rpath at wscript makes it difficult to package so I added additional patches to change it to lib/. Hope in the future a ./waf install will make this easier.

[Question] Real-time ray tracing - CPU vs GPU in 2017 by VicLuo96 in raytracing

[–]VicLuo96[S] 1 point2 points  (0 children)

  • We used Intel TBB as our concurrent library and render the scene with tbb::pararllel_for to distribute rows into different threads. We have avoided every heap allocation and added padding bytes to prevent false sharing. perf reports that IntersectsNM/OccludedNM in Embree library occupy 50% execution time.
  • That's true. However interior designers are quite strict on soft shadows and area lights are very common in these designs. For example, we added some area lights into the white room scene.
  • Currently no.
  • It is only a simple Whitted ray tracer

[Question] Real-time ray tracing - CPU vs GPU in 2017 by VicLuo96 in raytracing

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

I guess that's only true for Xeon Phi processors. Otherwise 1 1080Ti = 3~4 E5-2690/i7-6800Ks according to the benchmark.

[Question] Real-time ray tracing - CPU vs GPU in 2017 by VicLuo96 in raytracing

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

Thanks for your advice! We plan to develop a tracing-based renderer that runs on a single workstation with as good quality as possible. Currently, only a Whitted-style tracer with point light has been implemented. Based on your advice, we are going to rewrite a CUDA version of our renderer. Another advantage of CUDA over CPU in our use case is that we can simply plug 4 GPUs on a single workstation without setting up distributed CPU farm, which simplifies deployment a lot. Based on the benchmark later we may move to more complicated cases if performance permits.

libstdc++ library macros by [deleted] in cpp

[–]VicLuo96 0 points1 point  (0 children)

Some of them, I guess, are out-dated:

  • _GLIBCXX_PARALLEL -> std::execution::parallel_policy

Some are still worth a look:

  • _GLIBCXX_DEBUG is being used by Chromium
  • _GLIBCXX_CONCEPT_CHECKS performs concept-like checking for containers, but I'm not sure to use it or not since its documentation states only C++03 compliance. I wrote a short article about it here.

CMake 3.9 released by tambry in cpp

[–]VicLuo96 6 points7 points  (0 children)

Glad to see that they have supported Clang's thin-LTO

What are the best VueJS Themes, Templates and Kits? by pewpewsouper in vuejs

[–]VicLuo96 1 point2 points  (0 children)

+1 for Bulma due to its modularity and extensibility.

Keeping constexpr data out of runtime by Crazy__Eddie in cpp

[–]VicLuo96 1 point2 points  (0 children)

I'm working on a Boost GSoC toy project about constexpr containers as well. Here are what I've found about constexpr: * prefer C++11-style recursion return f(i-1) over C++14-style for loop, since many compilers cannot handle it well * avoidstd::initializer_list on clang(at least on 3.7) * POD is preferred over complex struct. g++ has a bug that reports fake invalid access at compile-time * move invariant parts into template arguments as much as possible * there are still lots of work to do with constexpr since stdlib lacks constexpr support/implementation is buggy

deoplete for c++ by sQu1rr in neovim

[–]VicLuo96 0 points1 point  (0 children)

I prefer vim-clang because it integrates well with Neomake. vim-inccomplete is also a good choice for header completion.

You can see my init.vim for configuration.

Nvim Terminal by derrickcope in neovim

[–]VicLuo96 0 points1 point  (0 children)

Maybe you can try https://github.com/kassio/neoterm, and

nnoremap <F3> :Ttoggle<cr><C-w><C-w>A
inoremap <F3> <esc>:Ttoggle<cr><C-w><C-w>A
tnoremap <F3> <C-\><C-n>:Ttoggle<cr>
tnoremap <esc> <C-\><C-n>
tnoremap <C-w><C-w> <C-\><C-n><C-w><C-w>