Обновить
4
0.9

Пользователь

Отправить сообщение

Сортировка пузырьком до первого совпадения двух соседних элементов. Думаю большинство случаев будут решены еще до завершения первого прохода, и дополнительной памяти не надо.

Сомневаюсь что поставив такой водогрей в квартиру он окупится. Глянул квитанции, расход ГВС 200 литров в сутки. Нагреть 200 литров это 4-6 часов, т.е. работать он будет 20-25% времени, остальное время будет простаивать. Не очень эффективное использование.

Компания заявляет, что их нагреватель потребляет столько же электроэнергии, сколько и стандартные модели. Получаемые биткоины перечисляются на кошелёк владельца.

Вся энергия в итоге уходит в тепло, т.е. энергия на сам майнинг не требуется, как-то подозрительно. Получается если найти куда с пользой девать кипяток даже по себестоимости, то получаем бесплатную крипту, за минусом первых 2000$ чтобы отбить затраты на покупку.

Это не Sparse set. Просто замена массива из структур {int, указатель} на два массива {int} и {указатель}. Памяти столько же займет.

Не понимаю в чем отличия от нынешней ситуации? Есть суммарно N рублей наличных и безналичных, которые ходят только внутри РФ, будет тот же N только трех видов. Если ЦБ выпуская цифрорубли будет при этом изымать из оборота например столько же безналичных то ничего не изменится.

Таким образом, вы увеличите свое первоначальное богатство, равное 100 долл., на 50 долл. В случае проигрыша у вас останется всего 50 долл., т.е. вы уменьшите свое первоначальное богатство на 50 долл. Математическое ожидание выигрыша в денежном выражении составит: 0,5* 50 + 0,5 * (–50) = 0.

Тут не учитывается случай когда эти 100 последние, т.е. потеряв 50 вернуть их становится вдвое сложнее делая ставки половиной остатка.

примерно пятьсот элементов, каждый с 32-битным ID устройства и указателем на данные конфигурации

Вариант попроще: разбить на 2 массива в одном ID в другом указатели, по массиву с ID находим нужный элемент, по его индексу читаем указатель из второго.

Если тормозит память, то надо оптимизировать работу с памятью. Как вариант можно ускорить двоичный поиск за счет промежуточного индекса размером в несколько кэшлиний: как понял у автора сортированный массив ~500 элементов, разбиваем его на блоки по 4 (индексы 0-3, 4-7 и т.д.) всего 125 блоков, далее делаем массив куда пишем ID первого устройства в блоке, это и есть индекс, он займет всего 8 кэшлиний. Для поиска сначала ищем в индексе равное или ближайшее меньшее ID, индекс (i) найденного элемента будет номером блока, далее если ID совпало то берем array[i*4], если меньше проверяем ID в array[i*4+2], затем если там ID больше то array[i*4+1] иначе array[i*4+3].

В данном случае индекс с большой вероятностью будет в кэше, т.к. он не большой и к нему будет постоянное обращение.

Я к тому чтобы автор привел тест к более корректному виду, а то взял какой-то девайс с медленной памятью, сравнивает чтение для двух разных типов хранилищ, отличающихся в 5 раз по объему используемой памяти, и делает вывод: " O(log n) смогло победить O(1) "

Советы из 1970х не работают потому что тогда не было в процессорах нескольких конвейеров, предсказания вычислений, кэшей памяти и т.д., тогда операции исполнялись последовательно и компилировались как написано.

Современные компиляторы далеко ушли, включенный оптимизатор сам заменит i++ на ++i если это действительно дает какое-то ускорение. В оптимизаторы зашиты наиболее эффективные решения компиляции, которые позволят по максимуму использовать скрытые резервы процессора.

Если есть возможность затестите компилятор от Intel и скорее всего получите еще более быстрое решение.

Вобщем я к тому что надо писать читаемый код, а о том как его быстрее выполнить пусть заботится компилятор, поверьте, он с этим справится лучше вас.

Невнимательно прочитал, там 100К элементов, тогда лишние 30-40М тактов.

Для чистоты эксперимента я бы сравнивал список не с массивом int[], а с массивом node_t[], так хотя бы расход памяти сопоставимый. Иначе ускорение за счет меньшей сложности алгоритма нейтрализуется бОльшим объемом используемой памяти.

Элемент массива 4 байта, sizeof(node_t) 12 байт (если указатель x64) плюс служебные данные при выделении памяти, т.е. надо в 4-5 раз больше памяти для связного списка. Даже если все элементы списка в куче будут последовательно друг-за-другом, то для 10К элементов только чтение из памяти потребует лишние 3-4М тактов.

Только снять наличку нельзя и круг бесконечный.

Можно, заявляют что в любой момент разрешена конвертация в обычный нал или безнал, по крайней мере на текущем этапе.

Но, добавляются в этот круг деньги как?

Это не биток и прочая крипта, тут нет заявления что количество монет ограничено. Как понимаю все перетоки из обычных денег в цифровые и обратно будет обеспечивать ЦБ.

Вы буквально подтвердили мои слова.

Жирным выделенное не прочитали? Началось все в марте 2022, уже понятно было что можно только с конвертацией снимать, конвертацию по курсу ЦБ продлили для поступлений до сентября 2022. Полгода. За это время можно было догадаться что не стоит безналичную валюту получать или покупать если предварительно не продумаешь как ей дальше пользоваться. Лично я продал баксы по курсу ЦБ и юаней прикупил.

Я все зависшее снял по курсу ЦБ. Да, банк предлагал курс ниже, пришлось их ткнуть носом в разъяснения ЦБ где написано "по курсу ЦБ на день выплаты", они поворчали но отдали рубли по курсу ЦБ.

Вы вправе получить наличную иностранную валюту в долларах США или в евро в сумме остатка средств на счетах на 00:00 мск 9 марта 2022 года, но не более 10 тыс. долларов США (или в евро в эквиваленте 10 тыс. долларов США).

Средства свыше указанной суммы можно получить в рублях по курсу банка на день выплаты. При этом, если валюта поступила до 00:00 мск 9 сентября 2022 года, выплачиваемая сумма в рублях не может быть меньше суммы, рассчитанной по официальному курсу Банка России на день выплаты.

https://cbr.ru/faq/w_fin_sector/Valyutnye_scheta_i_vklady/

Это вы про запрет снимать валюту, что ли? Свои средства есть, а получить их никак нельзя? :-)

Можно снять валюту с конвертацией в рубли по курсу ЦБ, и наличную валюту купить можно, да небольшие потери будут, но это не запрет-запрет.

Похоже все-таки можно:

ГК РФ Статья 845. Договор банковского счета

1. По договору банковского счета банк обязуется принимать и зачислять поступающие на счет, открытый клиенту (владельцу счета), денежные средства, выполнять распоряжения клиента о перечислении и выдаче соответствующих сумм со счета и проведении других операций по счету.

2. Банк может использовать имеющиеся на счете денежные средства, гарантируя право клиента беспрепятственно распоряжаться этими средствами.

Я внутреннюю кухню банков поверхностно знаю, в институте проходили немного, немного читал. Про кредитование нам говорили примерно следующее: должна быть сбалансирована срочность кредитов и депозитов, т.е. вкладчик должен дать банку деньги на долгосрок чтобы тот их мог как кредиты раздавать. А тут по сути однодневные деньги, т.к. перевод с расчетного счета банк обязан выполнить максимум завтра.

Судя по тексту закона банки как-то статистически оценивают какую часть денег можно безболезненно в кредит отдать.

при банкротстве банка деньги на расчетном счете компании теряли

Все верно, но при отзыве лицензии банка начинает работать другая математика, сначала все фактически имеющиеся деньги собирают в одну кучу, а потом из этой кучи возврат сначала физикам и ИП в пределах 1.4 млн.р каждому, затем всем остальным пропорционально остатка если на всех не хватает.

Банки кредиты выдают за счет вкладов и т.п., кредитовать под остатки на расчетных счетах нельзя, т.е. никакой разницы с хранением безнала на расчетном счете.

А как эмиссия цифрорубля может сказаться на инфляции?

Эмиссией любого рубля управляет ЦБ, сколько захотят - столько выпустят. Но с другой стороны борьба с инфляцией одна из основных задач ЦБ, поэтому они не заинтересованы в излишнем выпуске.

1
23 ...

Информация

В рейтинге
1 679-й
Зарегистрирован
Активность