Не нужно "сикать" на каждый int. У тебя от чтения int курсор и так продвигается на правильную позицию. Это работает для fopen/open API.
И нужно читать блоками. Можно брать куски от 4Кб и выше и загружать сразу. И там-же сортировать. Короче философия такая. Если тебе нужно привезти грузовик картошки - то не надо машину гонять туда-сюда с одним мешком на борту.
Количество элементов файла не менее 10000
Это детский размер сортируемой коллекции. Ты даже не заметишь особой разницы в методах.
Более того. За счет неравномерного прогрева кешей у тебя пузырек может сработать внезапно быстрее
чем сортировка вставками.
По этой-же причине таймер который меряет нано-секунды тебе не нужен. Ты просто будешь видеть разлличные
переходные процессы в железе и ОС и тебе будет сложно из этого квантового шума выделить собственно сколько
времени работала твоя сортировка. Лучше даже бери целые секунды.
Вообще бенчмарки нужно уметь писать. В одном С++ процессе тебе надо мерять пузырь и метод-вставок
несколько раз (для компенсации прогрева кешей) по очереди. Усреднять время. И выделять отдельные сеанс
сортировок без измеренй а лишь только для прогрева. Холостой запуск. Warp-up.
Мне вспоминается демка. Называется kkreiger. Вобщем там в 64 k втиснута игра наподобие Quake3. Но это целый проект где разрабы поставили задачу - уменьшить размер бинаря. Процедуральные текстуры и и т.п.
davidMSK, при чем здесь какие-то классы? Где в твоём задании хоть слово было про классы?
Я-бы решал такие задачи по принципу минимализма. Зачем определять сущности которые никто не закзывал? Делай просто главную функцию Color getColor(double x, double y) и она уже будет реализовывать всю логику. В данном случае возвращать цвет области.
По поводу языковой совсместимости. В 5.0 в язык завезли ключевое слово enum. Это не сильно сегодня кого-то беспокоит потому что исходники со времен 1.4 давно уже обновились. Но факт остается фактом. Язык изменялся.
yourDaddy1337, извини. Просто ты первый кто в эксплуатации java приложений потребовал таких "странных" вещей. Да еще и со скринами под Windows. А когда люди хотят странного - то значит что-то в ТЗ было не то. Понимаешь? Спорные моменты короче.
По поводу прятания строк. Посмотри в сторону библиотеки www.jasypt.org (Jasypt). Ее используют для сокрытия паролей и прочей sensitive info.
Подобные эксперименты лучше отладить а Visual C++. Провести все тестирование. И уже когда будет собрана вся информация по структурам типа LPFILETIME как тут пишут https://docs.microsoft.com/en-us/windows/win32/api...
Вообще бери С++ как язык прототипирования. Как Python берут чтобы че-то попробовать а потом уже реализуют в Java или DotNet.
С ассемблером просидишь еще пол-года. Нудно там всё.
Collonil Tolli, каждый дистр поддерживает своя команда. Я-бы брал в качестве метрики - скорость выхода критичных updates. И эта скорость аж никак не связана со скоростью качания файлов из репов. Еще я-бы брал качество техподдержки. Какие проблемы она вообще может решать. Сообщество. Сколько людей вовлечено в этот процесс.
Не нужно "сикать" на каждый int. У тебя от чтения int курсор и так продвигается на правильную позицию. Это работает для fopen/open API.
И нужно читать блоками. Можно брать куски от 4Кб и выше и загружать сразу. И там-же сортировать. Короче философия такая. Если тебе нужно привезти грузовик картошки - то не надо машину гонять туда-сюда с одним мешком на борту.
Это детский размер сортируемой коллекции. Ты даже не заметишь особой разницы в методах.
Более того. За счет неравномерного прогрева кешей у тебя пузырек может сработать внезапно быстрее
чем сортировка вставками.
Возьми хотя-бы 8-16 Гигабайт.
start = std::chrono::high_resolution_clock::now();
По этой-же причине таймер который меряет нано-секунды тебе не нужен. Ты просто будешь видеть разлличные
переходные процессы в железе и ОС и тебе будет сложно из этого квантового шума выделить собственно сколько
времени работала твоя сортировка. Лучше даже бери целые секунды.
Вообще бенчмарки нужно уметь писать. В одном С++ процессе тебе надо мерять пузырь и метод-вставок
несколько раз (для компенсации прогрева кешей) по очереди. Усреднять время. И выделять отдельные сеанс
сортировок без измеренй а лишь только для прогрева. Холостой запуск. Warp-up.