LINUX.ORG.RU

Ответ на: комментарий от i-rinat

Ладно для тех кто в танке. Интерпритатору (не пайтону) часто требуются типичные мелкие объекты. Народ собрал статистику и создает их на старте. Там кажется сказали что от -5 до 256. 256 потому что часто нумеруют с 1. Теперь интерпретатор когда выполняет код не создает их каждый раз... Это кэш такой.

dem ★★
()
Ответ на: комментарий от Harald

Да почему жесть. Мы не знаем что в кишках Го и прочего говна...

dem ★★
()
Ответ на: комментарий от dem

При чём тут Python? Откуда статистика?

На уровне «ну, наверное, как-то так» я и сам могу. А ты пока что только полутолками разговариваешь, без конкретики. Просто пассаж о часто используемых числах и то пришлось клещами вытягивать.

i-rinat ★★★★★
()
Ответ на: комментарий от dem

Ну если можешь чего тогда пытал.

Потому что предположить интервалы 0255, -128127 — вполне логично, потому что они влазят в байт. А вот -5256 в байт не влазит. Странновато это.

Я просто догадался.

Ты так уверенно заявил, что мы поверили, что ты действительно знаешь, почему 256, а не 255. Разбил наши надежды на красивую историю.

i-rinat ★★★★★
()

a is b

Это не только в педоне.

Задачки типа

Integer i = 127;
Integer j = 127;
System.out.println(i == j);

и аналогичные для > 127 и < -128 большинство соискателей на джунов решить не могут.

Ибо кульхацкерили они вместо того, чтобы дискретную математику в институте учить.

Bioreactor ★★★★★
()
Последнее исправление: Bioreactor (всего исправлений: 1)
Ответ на: комментарий от i-rinat

Так. А ты не думаешь что это объединение каких то других Диапазонов. Я просто по поводу 256 намекнул что видимо не просто так. Это у ТС подгорало. А потом стало подгорать у вас. Ну а если вы ПОВЕРИЛИ. Ну что значит у меня навык убеждения +1

dem ★★
()
Ответ на: комментарий от i-rinat

А зачем «это особенности языка-платформы»(С) объяснить кульхацкеры не могут.

Потому как не понимают они в CS (не путать с IT).

Bioreactor ★★★★★
()
Ответ на: комментарий от dem

Ну а если вы ПОВЕРИЛИ

Для этого мы спрашивали.

А ты не думаешь что это объединение каких то других Диапазонов.

Я думаю, что 12 лет назад это просто запилили, потому что «ну как-то так кажется». Числа взяли с потолка.

i-rinat ★★★★★
()
Ответ на: комментарий от Bioreactor

А точно. Java. Но Яб сказал что к Java вообще нельзя подпускать тех кто лет 10 не программировал на других ЯП.

dem ★★
()
Ответ на: комментарий от i-rinat

Я думаю, что 12 лет назад это просто запилили, потому что «ну как-то так кажется». Числа взяли с потолка.

Ага ага. 3.7 Python в некоторых функциях ускорили на 38%

dem ★★
()
Ответ на: комментарий от Bioreactor

Потому как не понимают они в CS (не путать с IT).

А давай ты нам, глупым, объяснишь с позиции CS: откуда тут взялся диапазон [-5, 256]?

Deleted
()
Ответ на: комментарий от dem
public class T1 {
    public static void main(String[] args) {
        Long i = 128L;
        Long j = 128L;
        System.out.println(i == j);
        i = -128L;
        j = -128L;
        System.out.println(i == j);
    }
}

(можете подставить числа из пайфон-примера ТС),

Вопрос в том, что подвигло, что Гослинга+Стила+Блоха, что Гвидо ван Россума именно к такой реализации - вот в чем сущность.

Если чел разобрался с этим вопросом, то он действительно может работать программистом - хоть на Джаве, хоть на Питоне.

Bioreactor ★★★★★
()
Ответ на: комментарий от Deleted

Я принёс забавное.

забавное

Ничего забавного, всё предельно логично и довольно полезно при грамотном использовании.

Но вот на некоторых операциях он ОЧЕНЬ медленный.

mord0d ★★★★★
()
Ответ на: комментарий от Bioreactor

Вопрос в том, что подвигло, что Гослинга+Стила+Блоха, что Гвидо ван Россума именно к такой реализации - вот в чем сущность.

Судя по твоим пафосным постам, они продали душу дьяволу, чтобы получить сразу всю мудрость мира. И наиболее важным и самым секретным знанием оказалось то, что частое выделение памяти под мелкие объекты - это не очень хорошо.

Deleted
()
Ответ на: комментарий от dem

Подсказка - pool.

Ну, а если кто копнёт глубже - можно ли расширять пул (сейчас это можно с 7 версии) - то того сразу же возьмут в приличную контору.

Bioreactor ★★★★★
()
Ответ на: комментарий от Deleted

они продали душу дьяволу, чтобы получить сразу всю мудрость мира

Господи. Ну покажи на что ТЫ способен?

dem ★★
()
Ответ на: комментарий от dem

С третьим питоном ещё веселее. В багтрекере можно найти патч, где предлагалась аналогичная оптимизация для третьего питона. Но там диапазон был [-511;4095].

Говорю же, с потолка числа берут.

i-rinat ★★★★★
()
Ответ на: комментарий от dem

Господи. Ну покажи на что ТЫ способен?

Я? Я - только срать на форумах. И то, не мастер этого дела. Меня тут даже не банили не по собственному желанию =(.

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от Deleted

Sad but true.

На соседней ветке - нужна ли программисту высшая математика (и, вообще, высшее образование) и зачем.

Bioreactor ★★★★★
()
Ответ на: комментарий от Bioreactor

Я джаву щупал в 2002 году если ты про пул потоков то я немного растерян. Вопрос что для джавы == если это не сравнения значения, тогда ясно. там вроде нет оверлоадинга (что хорошо)

dem ★★
()
Ответ на: комментарий от Bioreactor

Кстати да. Я 6 лет проработал программистом и пошел в Институт. И очень хотел еще потом учиться, но закрутилось. И может и не нужен программисту институт, но он сам инстинктивно осилит всяких Ляпуновых...

dem ★★
()

О, познавшие мудрость мира, объясните, почему TRUE 1. Неужели кто-то пакует битики и пердолится потом с битовыми операциями?

imul ★★★★★
()
Ответ на: комментарий от dem

Естественно, для Float и Double не сработает. Однозначно false. Даже для нуля.

А вот так мы обманем


public class T1 {
    public static void main(String[] args) {
        Integer i = 128;
        Integer j = 128;
        System.out.println(i == j);
        i = -128;
        j = -128;
        System.out.println(i == j);
    }
}

$ javac T1.java

$ java T1
false
true

$ java -XX:AutoBoxCacheMax=128 T1
true
true

$

А вот для Long... Тут и начинается самое интересное.

Bioreactor ★★★★★
()
Последнее исправление: Bioreactor (всего исправлений: 1)
Ответ на: комментарий от Bioreactor

Насколько я понимаю, в джаве (в отличие от питона) всё-таки есть чёткое разделение между примитивными типами и объектами. Integer vs. int.

Deleted
()
Ответ на: комментарий от dem

Ты ничего не понял.

Я понял, что питон - это твой любимый язык.

Deleted
()
Ответ на: комментарий от dem

Посмотрите ещё

-Djava.lang.Integer.IntegerCache.high=верхняя_граница_кэша

Bioreactor ★★★★★
()
Ответ на: комментарий от dem

О, уже лучше. Расскажи про детали реализации. И как это сказывается на скорости. Мне очень интересно.

imul ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.