Комментарии 10
Последние события в Украине как-то отбросили меня от хабра, но вот, все, более менее, наладилось...
Так и хочется добавить: «Где-то в параллельной вселенной...»
+13
Может быть знатоки подскажут: давным-давно в Python была обнаружена проблема слабого хеширования строк [1], из-за которой специально составленный POST запрос мог в одиночку за DOS-ить сервер. Проблему исправили, добавив рандомизацию в быстрый хеш строк. Подвержена ли какая-нибудь версия Java этой проблеме?
+1
Ну всё же не на порядок String.split медленнее будет, но заметно:
И мне что-то кажется что только вот из-за этого:
versus
Benchmark Mode Samples Mean Mean error Units c.t.r.MyBenchmark.testRegexSplit thrpt 200 2609.201 49.123 ops/ms c.t.r.MyBenchmark.testStringSplit thrpt 200 1786.003 28.201 ops/ms
И мне что-то кажется что только вот из-за этого:
@ 6 java.util.regex.Pattern::split (7 bytes) inline (hot) @ 3 java.util.regex.Pattern::split (261 bytes) inline (hot)
versus
@ 5 java.lang.String::split (7 bytes) inline (hot) @ 3 java.lang.String::split (326 bytes) hot method too big
+5
А впрочем нет, на счёт inline я не прав, запустив с "-XX:+UnlockDiagnosticVMOptions -XX:MaxInlineSize=1024 -XX:FreqInlineSize=1024" вижу
Но всё равно:
@ 5 java.lang.String::split (7 bytes) inline (hot) @ 3 java.lang.String::split (326 bytes) inline (hot)
Но всё равно:
Benchmark Mode Samples Mean Mean error Units c.t.r.MyBenchmark.testRegexSplit thrpt 9 2938.355 89.851 ops/ms c.t.r.MyBenchmark.testStringSplit thrpt 9 1743.708 199.431 ops/ms
+3
А можно уточнить, удаление
— это просто изменение реализации без изменения принципа работы или теперь substring() будет возвращать строку, которая ссылается на новую цепочку символов?
private int offset;
private int count;
— это просто изменение реализации без изменения принципа работы или теперь substring() будет возвращать строку, которая ссылается на новую цепочку символов?
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Изменения в String. Java 7