@samuelpath there used to be a site called jsperf but it died off a while back. I just use benchmark.js via node on my laptop.
It's actually pretty simple once you have node installed.
Make a directory and cd to it
npm install benchmark --save
When crafting my solutions, my gauge tends to be "If someone looked at my code 6 months from now and asked me how it worked, could I explain it without having to run it, add console logs, or spend an hour trying to figure out what the *&#@ I was thinking".
I try to balance efficiency against readability. If two solutions are both reasonably efficient (the difference in their benchmarks is relatively minimal) I will pick the one that is more readable and intuitive every single time. Because ease of maintenance matters.
However, when you get into the realm of one running 20 to 200 times faster, I start considering efficiency to be a bit more paramount and use the more efficient solution, even if it is more cryptic, but I'll try to make good use of meaningful variables, adequate whitespace, clarifying use of brackets, and comments as necessary to make it clear what the code is supposed to be doing.
My general rule of thumb on the algorithms challenges - don't make them more difficult than they have to be. THINK about what data your function is taking in and what outputs are expected. Put aside what the challenge is telling you the problem is and simplify it into "I get this in" and "I need to output this". The vast majority of the algorithm challenges can be solved much more simply that it would appear at first glance. Really think about what you're trying to accomplish and break it down to the bare minimum of work that needs to be done to get your desired output. Let the computer be lazy, give it the least amount of work possible to get you the output you need.
Don't be afraid to branch out and use regex and every array method in the book ... if they are necessary and will help you develop a succinct, efficient, and understandable solution.
But don't use "crazy hard stuff" just for the sake of using crazy hard stuff. The gauge of whether or not you have the truly "Advanced" solution once you're out in industry is most definitely not "how many noobs can I confuse with one line of code"