←back to thread

36 points mebassett | 1 comments | | HN request time: 0.441s | source
Show context
tightbookkeeper ◴[] No.41877766[source]
using new for each node and value, combined with virtual dispatch tends to be a c++ anti-pattern. It looks like you are writing other languages in C++ syntax, motivated by promises of speed.

The actual benefits of C++ come when you approach problems differently. This is a case where more exposure to C helps you avoid all the Java isms.

Things to consider:

- can you allocate memory for the whole system? - can you make types homogenous so they can fit in tight arrays (unions are common for nodes) - can you batch similar types - specially for auto diff/math can you represent operations as a stack instead of a tree?

I am only bringing this up because you said your goal was to learn C++.

replies(3): >>41877847 #>>41877967 #>>41888674 #
1. ◴[] No.41888674[source]