Hacker News new | past | comments | ask | show | jobs | submit login

How many programmers write a YAML/JSON parser vs. use an existing library?

How many of the ones who write their own parser would benefit from using a library more than from reading assembly?

If your answer is that: "well, the ones writing the library benefit from learning assembly"... Think about what percentage of programmers they represent. Not to mention that source-level profiling will still give them better bang for their buck.

As somebody who has read a ton of assembly in their career because those marginal gains mattered: 99% of programmers are better off investing their time elsewhere.






Yes i agree with that one most people don't need, they should first use a profiler. Then they can easily improve the performance by 10x.

For example I optimized a calculation with python dataframes by monkeypatching the 'unique' method so it would skip the sort, since my data was already sorted. This gained me a 5% performance improvement. (there where a few other tricks which reduced the calculation time from 3h to 20m making iterating faster)

So i guess the assembly part is just a personal interest and it is only useful for the most inner loop of a program which you can't avoid.

It seems that in general using SIMDs/intrinsic is already in the very advanced playbook of a developer. Just like reflection, classpath scanning etc, GPU acceleration.

Ideally the standard library should provide the fastest JSON/YAML/CSV parser so no other attempts are made to improve on the standard.

I suspect your argument could even be used if you need performance it might be easier to just switch languages. Somebody was super exiting to me that he used a javascript lib which generated optimized code for SQL queries deserialization at runtime. I bluntly said well shouldn't you just use another language to avoid this complexity.

Curious question, Why did you read assembly often in your career?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: