Пам’ятаєте старі добрі часи, коли відкриття простого документа чи веб-сторінки було болісно повільним, оскільки воно перебирало всі мізерні ресурси, які має ваш комп’ютер? І сьогодні робити це ще повільніше, незважаючи на те, що ваш процесор у сотні разів швидший і має доступ у тисячу разів більше пам’яті?
Для імітації ефекту здуття в переглядачах поточних документів та подібних додатках, напишіть програму, яка має видимі проблеми з продуктивністю при роботі на більш потужних машинах .
Щоб загальне завдання було для всіх, зробіть це простим генератором чисел .
- Програма повинна надрукувати послідовні прості номери, починаючи з 2, кожен у новому рядку, і більше нічого. Це повинно бути назавжди (або поки не вичерпається пам'ять). Подобається це:
2 3 5 7 11 13 17
Між друком кожного рядка має бути затримка, достатня для того, щоб людина була зрозумілою.
Ця затримка повинна бути довшою, оскільки машина, на якій працює програма, стає швидшою. Чим швидше машина, тим повільніше програма.
Я не буду вказувати точні орієнтири, оскільки це може стати суб'єктивним, але повинна бути різниця у сприйнятті людиною швидкості на двох різних машинах, якщо є значна різниця між продуктивністю двох машин.
Швидкість програми не повинна монотонно знижуватися на всіх існуючих коли-небудь створених машинах. Це було б важко вказати, а ще важче перевірити. Я довіряю здоровому глузду учасників конкурсу щодо того, що можна вважати значно різним показником роботи між машинами, і цього достатньо для задоволення.
Я також не вказуватиму точний верхній чи нижній часові межі, але це повинно бути під розумними межами, тому між друком двох рядків, будь ласка, немає днів чи років
Я не зажадаю, щоб він працював на всьому, від Eniac до сучасності, але це повинно бути досить загальним, наприклад, заборонено говорити, що він працює лише на двох конкретних типах процесора, і конкретно виявляє ім'я одного конкретного процесора на якому він буде бігати повільніше або швидше.
Код не повинен покладатися на версію компілятора чи інтерпретатора. Це повинно працювати, якщо однакова версія компілятора / інтерпретатора встановлена на повільнішій та швидшій машині, або навіть якщо двійковий / байт-код складений на одній машині, а потім працює на двох різних машинах.
Поясніть, будь ласка, принципи роботи вашої програми. Оскільки відтворити результати буде важко, обґрунтованість відповіді може залежати від доцільності методу.
Хоча я хотів би, щоб це стало непрохідним змаганням, на жаль, цей сайт вже не є "Програмування головоломки та кодовий гольф", а просто "Код Гольф", тому найкоротший код виграє.