Может. Если у нас код, работающий при захваченной блокировке, обращается к данным, расположенным в разных участках памяти, он сбрасывает/вымывает кеши и так и так, что с блокировкой, что без нее, верно? Обращение к еще одному адресу, стоящему особняком(блокировке), не должно привести к сильному проседанию. Тем более, что spin-lock блокировки может быть настроен на определенное количество обращений.
1) Я уже писал, «доказательство от обратного»: нет модели, которая бы совпадала с такими изменениями.
Это не является доказательством от обратного. Это перефраз «если я не вижу Х, то Х нет».
2) Не «предполагается априори», а известно по факту, что подтасовки были, и измерения не верны. Вопрос только в масштабе.
Естественно, речь идет об искажениях такого масштаба, ктоорые приводят к победе иного кандидата. вы говорите, что не знаете, какой моделью описывается вот этот вот сложный процесс, а посему дескать, измерения неверные (подтасовки).
Опять же, принесите модель, где получится не 20%, а 0.1% — будет что обсуждать.
Почему я должен доказывать, что я не верблюд? Это вы утверждаете, что есть корректная модель и измерения с ней не бьются. Это ваша задача — показать что ваша модель верна, а неверны измерения.
Отражающими реальность. У нас есть некоторое событие в реальном мире, параметры которого можно измерить. Мы строим модель, которая отражает это событие, какие-то его числовые параметры с некоторой точностью. Событие происходит, параметры измеряются и оказывается, что с моделью они не сходятся. Причиной может быть как недостоверность измерений (ака подтасовка на выборах), так и неверность модели. Почему же при расхождении модели и данных предполагается априори, что модель верна, а измерения — нет?
Здесь нужно конкретно смотреть. Представляю по своему родному городу — вот два района, находятся в непосредственной близости, граничат. От дома района А до дома района Б может метров 300. Но — живут в этих районах люди разной национальности, совершенно разного достатка и голосуют за совершенно разные партии. При этом разница численности районов — один порядок+, плотность тоже разная. Если взять графики для этих двух районов, будет похожая картина — с ростом явки партия района Б будет возноситься в небеса. Не Россия, конечно, но не суть.
Стоит добавить, что сама идея сишного цикла for — замечательная, просто удивительно «совмещение». ПМСМ, было бы здорово, если для некоторых задач были бы свои управляющие конструкции — хочешь пройти по всем элементам коллекции — так ннннна for range — ведь сделали же. Хочешь с счетчиком — вот тебе for, хочешь с условием окончания и обязательной операцией в конце итерации, втч срабатывающую при continue — возьми какой-нибудь loop специальный и т.д.
Бритва Оккама здесь не работает — иначе бы все делали на if, goto, адресной и простой арифметике — не нужно по сути ни while, ни do while, ни switch, ни for. Тем не менее, под специфические задачи выделены специфические конструкции. Но не здесь.
Обсуждать понятность можно в разных контекстах. Например, лежит в колыбельке младенец с соской и гугукает. Показываем ему цикл на Паскале, показываем цикл на C++ с чудовищными итераторами, да хоть монаду на Хаскеле — он на всё одинаково гугукает.
Это та же самая «тетя Катя». Для несведущего человека все реализации непонятны, потому что он не знает никакой (хотя, здесь можно обсудить то, что какая-то вариация может иметь бытовые параллели) О том, что понимать можно по-разному, я уже писал выше:
термин «непонятный» может быть истолкован, минимум, двояко, как это видно из нашего раговора
Ему достаточно понять, что в С выражение для цикла более общее, не только инкремент/декремент на единицу, а, как выше написали «инициализация, проверка, переход». Всё.
Разумеется, здесь просто накладывается то, что подобные конструкции в других языках (как минимум, времени появления Си и такого синтаксиса) реализовывались подобием while, а также то, что for в громадном количестве случаев используется «традиционно», включая книгу КиР (хотя и с оговоркой, что это только частность).
Похожие же непонятки возникнут и у программиста, переходящего с С на Паскаль:
В принципе, да, но в таком случае, моя фраза, которая вас так припекла, может просто быть просто развернута наоборот — «цикл в Паскале для человек из мира Си — технопрон какой-то», и это будет нормально. Другое дело, что кроме Си и тех, на кого он повлиял (Java и сотоварищи) есть языки, более старые, в основном, которые в свою очередь повлияли на другие и создали другое семейство. Да тот же Паскаль, черт с ним. И то, что поклонники этих «миров» обоюдно друг друга не понимают, неудивительно. Непонятно, отчего вас так возмутила моя фраза. В существоваших на момент появления Си языках циклы for были или циклами со счетчиками, или циклами для работы с чем-то типа range, циклы с пред и постусловием были отделены. Здесь же мы имеем гибкую — бесспорно — конструкцию, при помощи которой можно реализовать циклы вида while. Читаемо ли (легко ли понимается) это? По-моему, это открытый вопрос. Да, мы можем так сделать, но здорово ли заменять специальную управляющую конструкцию, которая читается и понимается однозначно универсальной, построенной как расширение толкования цикла со счетчиком? Это сочетание «можно, но надо ли?» я и назвал технопроном, тут нет ничего обидного.
Мы можем все три базовых вида цикла — с пред, пост условиями и счетчиком выполнить на if'ах и goto. Можно, но нужно ли? В свое время структурное программирование было создано именно для того, чтобы иметь набор базовых конструкций, используемых не рефлексивно (т.е. многоцелевым образом), а по-своему, что облегчает чтение кода. Возможно, мне стоило выразиться более детально и менее экспрессивно.
DOWNTO, фигассе, технопрон. А чтобы был счётчик float и умножался на 0.1? Вообще нельзя???
Это, кстати, да, удивительно. Потому как в даже простом Бейсике можно было в те года выполнить итерации с произвольным шагом, втч дробным.
The problem with C++ generics (without concepts) is that the generic code is the specification of the generic type. That's what creates the incomprehensible error messages. Generic code should not be the specification of a generic type
Тут речь идет о том, что если мы используем какой-то шаблон, ошибка выявится глубоко внутри библиотеки, там где она попробует воспользоваться заданным при специализации типом. Они предлагают определять сразу, подходит ли какой-то тип для специализации шаблона, или нет.
Обсуждать понятность можно только в контексте обучения, когда человек чего-то не понимал, а потом начинает понимать, и процесс понимания происходит легче или труднее. Вы не можете сказать, что для человека, который понимает синтаксис (обучен), синтаксис является непонятным.
Нет, это аргумент другого уровня. О том, что этот цикл необычен, но хорош. Ваш — передергивание.
Это очевидный критерий, он не мой, я его не придумал, а позаимствовал, кажется, из статьи, написанной создателем языка Ruby в ответ Никлаусу Вирту
Игра словами — «мой» или «позимствованный мной». Я и не утверждал, что вы его выдумали, когда сказал «ваш аргумент». Ваш — значит, примененный вами. А уж придуман они или заимствован — другое дело.
А что это вы говорите, что у Руби простой и понятный синтаксис, я вот, например, ничего не понял
Наверно, потому что термин «непонятный» может быть истолкован, минимум, двояко, как это видно из нашего раговора, нет? Смысл обсуждать понятен ли синтаксис тому, кто его понял? Никакого. Вы всегда можете парировать, что если он человеку непонятен, тот то просто не до конца постиг «высшую истину».
ответил ему автор, и был совершенно прав
Один человек говорит «крокодил зеленый», другой ему «нет, ты неправ, он длинный». И вы говорите, что второй совершенно прав. Ну да, крокодил-то длинный, фиг оспоришь. Только разговор-то был о цвете. Вот и я говорил о сравнении с другими языками, об обучении. Бессмысленно оговаривать, что синтаксис понятен тому, кто его понял («синтаксис может освоить тот, кто освоил синтаксис»).
Да это-то круто, но это (вроде как ) стандартная настройка для QEMU, которую я стянул с вашего сайта. Свопинг — ладно, мне непонятно, почему оно рухнуло вместо жалобы.
Угу, обратите внимание, что BSOD который кидается — с кодом 0000001E, т.е. это исключение. Код исключения — 8000003. Если я правильно помню, это breakpoint.
Меня захлестнуло: я залип, и запилил себе процессор, и ассемблер к нему. До сих пор жалею, что не хватило свободного времени довести штуку до желаемого состояния, но как же было увлекательно!
Круто. Меня тоже как-то захлестнуло, закончилось приличной дипломной работой: эмулятор процессора, архитектура которого тоже разработана мной. Вместе с микрокодом, транслятором для него, демонстрационной реализацией системы команд и ассемблера для этой системы.
Например, когда я задумался о реализации процедур в SVM, я понял, что вызов функции это ничто иное как переход с дополнительным набором правил, с которыми неявно должны согласится и вызывающий, и вызываемый. Это помогло мне понять концепцию соглашения о вызове, а волшебные штуки вроде _cdecl и WINAPI вдруг стали иметь смысл.
Вы извините, но для этого достаточно просто пописать немного код на самом обычном языке ассемблера для x86, например. Также руками заполняется стек, регистры, в зависимости от конвенции.
Ясно, это от количества памяти зависит в виртуалке: при 128 10 окон открывается, при 256 — 22.
Все равно странно, что вместо какого-нибудь «out of system resources» оно падает в синий экран.
Может. Если у нас код, работающий при захваченной блокировке, обращается к данным, расположенным в разных участках памяти, он сбрасывает/вымывает кеши и так и так, что с блокировкой, что без нее, верно? Обращение к еще одному адресу, стоящему особняком(блокировке), не должно привести к сильному проседанию. Тем более, что spin-lock блокировки может быть настроен на определенное количество обращений.
Это не является доказательством от обратного. Это перефраз «если я не вижу Х, то Х нет».
Естественно, речь идет об искажениях такого масштаба, ктоорые приводят к победе иного кандидата. вы говорите, что не знаете, какой моделью описывается вот этот вот сложный процесс, а посему дескать, измерения неверные (подтасовки).
Почему я должен доказывать, что я не верблюд? Это вы утверждаете, что есть корректная модель и измерения с ней не бьются. Это ваша задача — показать что ваша модель верна, а неверны измерения.
Отражающими реальность. У нас есть некоторое событие в реальном мире, параметры которого можно измерить. Мы строим модель, которая отражает это событие, какие-то его числовые параметры с некоторой точностью. Событие происходит, параметры измеряются и оказывается, что с моделью они не сходятся. Причиной может быть как недостоверность измерений (ака подтасовка на выборах), так и неверность модели. Почему же при расхождении модели и данных предполагается априори, что модель верна, а измерения — нет?
Почему же буквоедством? Может, это означает, что модели на гауссовом и логнормальном р-и не являются достоверными?
Бритва Оккама здесь не работает — иначе бы все делали на if, goto, адресной и простой арифметике — не нужно по сути ни while, ни do while, ни switch, ни for. Тем не менее, под специфические задачи выделены специфические конструкции. Но не здесь.
Это та же самая «тетя Катя». Для несведущего человека все реализации непонятны, потому что он не знает никакой (хотя, здесь можно обсудить то, что какая-то вариация может иметь бытовые параллели) О том, что понимать можно по-разному, я уже писал выше:
Разумеется, здесь просто накладывается то, что подобные конструкции в других языках (как минимум, времени появления Си и такого синтаксиса) реализовывались подобием while, а также то, что for в громадном количестве случаев используется «традиционно», включая книгу КиР (хотя и с оговоркой, что это только частность).
В принципе, да, но в таком случае, моя фраза, которая вас так припекла, может просто быть просто развернута наоборот — «цикл в Паскале для человек из мира Си — технопрон какой-то», и это будет нормально. Другое дело, что кроме Си и тех, на кого он повлиял (Java и сотоварищи) есть языки, более старые, в основном, которые в свою очередь повлияли на другие и создали другое семейство. Да тот же Паскаль, черт с ним. И то, что поклонники этих «миров» обоюдно друг друга не понимают, неудивительно. Непонятно, отчего вас так возмутила моя фраза. В существоваших на момент появления Си языках циклы for были или циклами со счетчиками, или циклами для работы с чем-то типа range, циклы с пред и постусловием были отделены. Здесь же мы имеем гибкую — бесспорно — конструкцию, при помощи которой можно реализовать циклы вида while. Читаемо ли (легко ли понимается) это? По-моему, это открытый вопрос. Да, мы можем так сделать, но здорово ли заменять специальную управляющую конструкцию, которая читается и понимается однозначно универсальной, построенной как расширение толкования цикла со счетчиком? Это сочетание «можно, но надо ли?» я и назвал технопроном, тут нет ничего обидного.
Мы можем все три базовых вида цикла — с пред, пост условиями и счетчиком выполнить на if'ах и goto. Можно, но нужно ли? В свое время структурное программирование было создано именно для того, чтобы иметь набор базовых конструкций, используемых не рефлексивно (т.е. многоцелевым образом), а по-своему, что облегчает чтение кода. Возможно, мне стоило выразиться более детально и менее экспрессивно.
Это, кстати, да, удивительно. Потому как в даже простом Бейсике можно было в те года выполнить итерации с произвольным шагом, втч дробным.
Тут речь идет о том, что если мы используем какой-то шаблон, ошибка выявится глубоко внутри библиотеки, там где она попробует воспользоваться заданным при специализации типом. Они предлагают определять сразу, подходит ли какой-то тип для специализации шаблона, или нет.
Нет, это аргумент другого уровня. О том, что этот цикл необычен, но хорош. Ваш — передергивание.
Игра словами — «мой» или «позимствованный мной». Я и не утверждал, что вы его выдумали, когда сказал «ваш аргумент». Ваш — значит, примененный вами. А уж придуман они или заимствован — другое дело.
Наверно, потому что термин «непонятный» может быть истолкован, минимум, двояко, как это видно из нашего раговора, нет? Смысл обсуждать понятен ли синтаксис тому, кто его понял? Никакого. Вы всегда можете парировать, что если он человеку непонятен, тот то просто не до конца постиг «высшую истину».
Один человек говорит «крокодил зеленый», другой ему «нет, ты неправ, он длинный». И вы говорите, что второй совершенно прав. Ну да, крокодил-то длинный, фиг оспоришь. Только разговор-то был о цвете. Вот и я говорил о сравнении с другими языками, об обучении. Бессмысленно оговаривать, что синтаксис понятен тому, кто его понял («синтаксис может освоить тот, кто освоил синтаксис»).
Ага.
Да это-то круто, но это (вроде как ) стандартная настройка для QEMU, которую я стянул с вашего сайта. Свопинг — ладно, мне непонятно, почему оно рухнуло вместо жалобы.
Угу, обратите внимание, что BSOD который кидается — с кодом 0000001E, т.е. это исключение. Код исключения — 8000003. Если я правильно помню, это breakpoint.
Круто. Меня тоже как-то захлестнуло, закончилось приличной дипломной работой: эмулятор процессора, архитектура которого тоже разработана мной. Вместе с микрокодом, транслятором для него, демонстрационной реализацией системы команд и ассемблера для этой системы.
Вы извините, но для этого достаточно просто пописать немного код на самом обычном языке ассемблера для x86, например. Также руками заполняется стек, регистры, в зависимости от конвенции.
Все равно странно, что вместо какого-нибудь «out of system resources» оно падает в синий экран.