Однажды я видел мапу с мапами.
Подержи мое пиво.
Я видел мапу в которой ключ был стринговое название числа, типа key '10' value 10 и когда я спросил НАААААХУУУУЯЯЯ
челик мне ответил всмысле нахуя? Что бы по стрингу его значение вернуть
Я видел мапу в которой ключ был стринговое название числа, типа key '10' value 10 и когда я спросил НАААААХУУУУЯЯЯ
челик мне ответил всмысле нахуя? Что бы по стрингу его значение вернуть
такие глупые вопросы задаешь
Кхм, и на каком числе он заебался изобретать .toInt()?
Если ты думаешь что ему это нужно было для этих целей, ты ошибаешься, он так обращался к цифрам в мапе, что бы добавить их в уравнение
Ну может так быстрее чем каждый раз создавать объект toInt()? Может у него это типа кэша, аля
IntegerCache.valueOf(String number); А внутри этого класса HashMap проинициализированный от -n до + n. Так явно быстрее чем вызывать дефолтный метод приведения к числу из строки. К примеру вот как реализовано у Oracle в JDK, и это время.
public static Integer valueOf(String s) throws NumberFormatException {
return Integer.valueOf(parseInt(s, 10));
}
IntegerCache.valueOf(String number); А внутри этого класса HashMap проинициализированный от -n до + n. Так явно быстрее чем вызывать дефолтный метод приведения к числу из строки. К примеру вот как реализовано у Oracle в JDK, и это время.
public static Integer valueOf(String s) throws NumberFormatException {
return Integer.valueOf(parseInt(s, 10));
}
Нет, это просто нахуй ебучее красночерное дерево в которое ты пишеш ебучие 10 и он тебе по колючу 10 возвращает блядские 10.
Я ничего не понимаю в Java, но мне показалось необычным утверждение, что поиск значения в HashMap явно быстрее, чем распарсить строку в число.
Казалось бы, преобразование строки в int должно выполняться за один проход по её содержимому - т.е. примерно за то же время, что и вычисление её хеша, с той разницей, что при этом мы можем сразу вернуть результат, а не должны ещё обращаться к памяти?
Даже если считать, что мы не можем вызвать упомянутый в вашем комментарии parseInt напрямую, я всё равно пока не вижу, каким образом использование HashMap может дать ускорение...
P.S. Может быть я чего-то не учёл, но на таком коде HashMap у меня показывает результаты чуть хуже, чем Integer.valueOf, даже без учёта времени на её инициализацию
https://pastebin.com/dXypxDPR
Казалось бы, преобразование строки в int должно выполняться за один проход по её содержимому - т.е. примерно за то же время, что и вычисление её хеша, с той разницей, что при этом мы можем сразу вернуть результат, а не должны ещё обращаться к памяти?
Даже если считать, что мы не можем вызвать упомянутый в вашем комментарии parseInt напрямую, я всё равно пока не вижу, каким образом использование HashMap может дать ускорение...
P.S. Может быть я чего-то не учёл, но на таком коде HashMap у меня показывает результаты чуть хуже, чем Integer.valueOf, даже без учёта времени на её инициализацию
https://pastebin.com/dXypxDPR
в этом проблема джавистов. Сначала берем среду, в которой работает медленно, а потом начинаем придумывать велосипеды как это ускорить наступая на все возможные грабли.
есть сервис по агрегации данных ChartMogul, у них в ответе может быть
[
'' => 'some error message',
...
];
Да, это не опечатка, в качестве ключа ассоциативного массива используется пустая строка.
Плак....
[
'' => 'some error message',
...
];
Да, это не опечатка, в качестве ключа ассоциативного массива используется пустая строка.
Плак....
Я конеш на пхп работаю, и должен был уже перестать удивляться, но это пиздец.
Массив с массивами со структурами с указателями на процедуры.
Легким движением руки С превращается в почти что С++.
Легким движением руки С превращается в почти что С++.
Таблица виртуальных методов своими руками? Почему бы и да.
Вполне обыденная ситуация, как и двумерный массив (который и является массивом массивов). Внутри мапы обычно простой одномерный массив с целочисленными индексами.
HPC mode on
Иногда двумерный массив - это одномерный массив размера m*n для улучшения производительности.
HPC mode off
Иногда двумерный массив - это одномерный массив размера m*n для улучшения производительности.
HPC mode off
при кешировании почти постоянно
Сейчас когда благодаря функциональщине мапа любой вложенности создается одной строкой (иногда очень длинной) это не экзотика. Сам 4 раза вкладывал и ничего не отсохло.
У нас в проекте есть проект с проектами
не быввет такого. только проект с подпроектами
больше всего удивляет не это, а то что есть встроенные функции для работы с массивом массивов
Двух-, трёх- и более мерный массив.
Проблема не в структуре а в её применении
Проблема не в структуре а в её применении
Пакетики, в пакетике для пакетиков!
Все же ясно.
Все же ясно.
А что, двумерный массив можно создать как то по-другому, кроме как сделать массив из массивов?
Да, можно создать массив m*n, в случае фиксированных размеров это быстрее работает
Но память то линейная. И это все равно будет одномерный массив из одномерных массивов. Все остальное - синтаксический сахар.
когда пишешь на шарпе
и в душе не знаешь что такое массивы и нахер они нужны
и в душе не знаешь что такое массивы и нахер они нужны
Чтобы написать коммент, необходимо залогиниться