Anonymous
because it takes a LONG time
Anonymous
even with ccache
BinaryByter
CLINL takes about 30 seconds lol
Anonymous
and pcl uses a bunch of your templates and shif
Ludovic 'Archivist'
Anonymous
CLINL takes about 30 seconds lol
BECAUSE YOU DO NOT HAVE A WHOLE FUCKING KERNEL
Alignant
IT TAKES LONGER TO COMPILE
Why is that a problem? A program(unless it's written by you, lol) is more often ran, than compiled. Therefore it's better to do AS MUCH AS YOU CAN at compile time. That's the whole idea behind constexpr, static casts, static assert, templates...
Anonymous
it is so small it does not count as even a medium sized project
olli
I std::move that ;)
something you would not have to do in C :)
Anonymous
you barely have 1000 lines
BinaryByter
you barely have 1000 lines
yea I have cleaned the main file up
BinaryByter
it's 50 lines I think
BinaryByter
A 15k LoC project needs cleaning
Anonymous
granted ccache saved us a lot
Alignant
let it slide, he belongs to school
I wish you were right, but there are so much people like him outside school :D
Anonymous
How many LoC?
about 35k lines
BinaryByter
about 35k lines
*raises an eyebrow* 10 minutes?
Anonymous
*raises an eyebrow* 10 minutes?
yes because we do use template metaprogramming
BinaryByter
You know that you shouldn't compile ON the embedded system?
Ludovic 'Archivist'
about 35k lines
35kLoCs and 10min compile time? I get that with 200k LoCs projects, 35k LoCs is very tiny
BinaryByter
yes because we do use template metaprogramming
wait aren'T you a C fanatic?
Alignant
about 35k lines
Do you really need to compile all of this? I mean... you can just install the main project and recompile dlls you work with
Anonymous
wait aren'T you a C fanatic?
i prefer it to C++ due to the inherent simplicity and allowing me TO ACTUALLY HAVE PROPER WIFI COMMUNICATION
Anonymous
but for this project we are using a lot of C++ practices
Zinc
C++ is language I want to master. Should I work on creating simple programs or only study the booklet material?
BinaryByter
C++ is language I want to master. Should I work on creating simple programs or only study the booklet material?
only study what they tell you at university, else you might become better than the other students and we don't want that, right?
Anonymous
and making sure everything works as fast as possible
Anonymous
we even made our own hash maps because std::map was slow for us
Ludovic 'Archivist'
C++ is language I want to master. Should I work on creating simple programs or only study the booklet material?
Make programs, implement lots of small commandline utilities following unix principles
Ludovic 'Archivist'
we even made our own hash maps because std::map was slow for us
you could have specialized its hashes and allocators to get it faster
Anonymous
Do you really need to compile all of this? I mean... you can just install the main project and recompile dlls you work with
no we got it faster using ccache but it still takes some days after coding different are around 5 minutes
Ludovic 'Archivist'
std::map has no hashes
* unordered_map
Ludovic 'Archivist'
* unordered_map
Which I hope is what he meant
Zinc
only study what they tell you at university, else you might become better than the other students and we don't want that, right?
I'm learning it alone. I learned how to compile my first few lines of code using GCC compiler. I guess that's a start.
Anonymous
Which I hope is what he meant
yep it is an unordered map
Anonymous
because i do not care about the order
Anonymous
i only need a mapping from one to the other
Ludovic 'Archivist'
yep it is an unordered map
What i meant was that i understood you found std::unordered_map slow
Anonymous
which is if i recall correctly an unordered map
Anonymous
the hash itself was the issue
Anonymous
so we just made our own for that
Ludovic 'Archivist'
Anonymous
worked well enough
Alignant
What about static maps? Do you have your own compile-time maps? Cause we do :D
Anonymous
std map is an ordered map
well the insertion time was too slow
Ludovic 'Archivist'
well the insertion time was too slow
of course, it is a B-tree
BinaryByter
Anonymous
irregardless our own one was a better choice
Ludovic 'Archivist'
std::map
Did you tried just using std::unordered_map ?
Alignant
compile time maps aren't always possible
If everything was possible at compile time, nobody would run programs :c
Anonymous
Did you tried just using std::unordered_map ?
i can switch the code in the unit test area to check
Anonymous
but i doubt it will make much of a difference
Ludovic 'Archivist'
https://en.cppreference.com/w/cpp/container/unordered_map
Ludovic 'Archivist'
but i doubt it will make much of a difference
Just a the time for making one yourself as a difference
Ludovic 'Archivist'
lol
olli
https://en.cppreference.com/w/cpp/container/unordered_map
it's rather slow as well. At cppcon there were severeal talks.
Ludovic 'Archivist'
olli
Not for insert in a very big thingy
"Google's Chandler Carruth explains this in his CppCon 2014 talk; in a nutshell: std::unordered_map is cache-unfriendly because it uses linked lists as buckets." [src](https://stackoverflow.com/a/42588384)
olli
https://www.youtube.com/watch?v=fHNmRkzxHWs
Anonymous
so if it uses lists i will stick to mine
Anonymous
we are working on a jetson tx2 currently so we have limited ram
Anonymous
and over 2 gb are taken up just for images
olli
Google released their sparehash library several years ago. Unfortunately not updated for a long a time. However iirc they are working on a new one, which they presented partly at cppcon 2016 or 2017
Anonymous
ceres is fucking annoying ass fuck
Anonymous
it should die in a ditch
BinaryByter
ceres is fucking annoying ass fuck
Rule No 1. Ass fuck cannot be annoying but it is always fucking
BinaryByter
😏😏😏
BinaryByter
lol