Сообщение от kobezzza
|
Рекурсия выглядит просто и лаконично
|
Да, и это искушает JS-программистов. forEach/map/reduse тоже выглядят просто и лаконично, но JS-движки не раскладывают их на циклы (по крайней мене V8 точно), поэтому производительность стремительно падает. Мы на маркете после замены forEach на for выиграли кучу времени для RPS. При том, что на сервере не V8, а движок от Mozilla (не уверен что это Rhino). Так что иногда стоит жертвовать читабельностью ради производительности. Тем более в библиотеках.
Мое имхо такое: библиотеки должны в первую очередь обеспечивать высокую производительность в ущерб читабельности. Яркий тому пример - jQuery.