Непосредственно в машинный код он не компилируется, это больше на убер-шаблонизатор похоже, так что это не требуется. Ну что-то типа xslt или jstl. Само ядро написано на C++, все функции имплементированы в виде компилируемых модулей, а прочее - загружается в память один раз и исполняется там.
Потому, что могу :D На самом деле 18 лет назад особо вариантов не было. Perl и PHP были ужасны, поэтому захотелось сделать что-то более подходящее для веб-разработки.
Собственно, всем. Например, от основан на XML и не C-подобный :D
1. zcat /var/www/access.log.2.gz | cut -d[ -f2 | cut -d] -f1 | awk -F: '{print $2":00"}' | sort -n | uniq -c
57796 00:00
56298 01:00
67880 02:00
85651 03:00
103907 04:00
128408 05:00
155606 06:00
157047 07:00
163586 08:00
161579 09:00
170041 10:00
161604 11:00
177619 12:00
161532 13:00
160274 14:00
149201 15:00
162923 16:00
138125 17:00
129069 18:00
102514 19:00
74928 20:00
56523 21:00
46348 22:00
43756 23:00
(статика не логируется, fyi)
2. самопис
2.1 самопис, т.е. собственный язык программирования, PostgreSQL, Redis
2.2 кэширование пока отключено за ненадобностью
3. VPS 4 ядра от E3-1271V3, 8 Gb RAM, SSD RAID10. load average: 0,25, 0,17, 0,15
ln -s /var/pictures /var/www/site1.ru/pictures
http://sportwiki.to/%D0%A1%D0%BF%D0%BE%D1%80%D1%82%D1%81%D0%B2%D0%B8%D0%BA%D0%B8_%D0%B2%D0%BD%D0%B5%D1%81%D0%B5%D0%BD%D0%B0_%D0%B2_%D1%80%D0%B5%D0%B5%D1%81%D1%82%D1%80_%D0%B7%D0%B0%D0%BF%D1%80%D0%B5%D1%89%D0%B5%D0%BD%D0%BD%D1%8B%D1%85_%D1%81%D0%B0%D0%B9%D1%82%D0%BE%D0%B2
https://www.ssllabs.com/ssltest/
Not so much hosting companies support nested virtualization, btw.
http://php.net/manual/en/function.strtr.php
https://en.wikipedia.org/wiki/CRIME
sudo fstrim --all
Yes, it improves the speed on http-based sites (but slows down on http2-based sites). It's because the browser can open only 6 simultaneous connections to a web server via http.
Other reasons to do this: cookieless requests, CDN, additional servers.
More info: http://stackoverflow.com/questions/985431/max-parallel-http-connections-in-a-browser