Генетический алгоритм, который ты использовал ищет наилучшие хромосомы.
Какую наилучшую хромосому ты нашел на данный момент даже с ограничением во времени.
У тебя же должен быть самый лучший результат? А иначе какой смысл брать генетику?
Корень, здесь ничем не помогу. Я не знаю как работает Google Colab но если он предоставляет платформу то он же и должен давать рекомендации по оптимизации.
Предположительно вот эта функция np.abs(np.sum(cubes, axis=1))
компилируется в вызов numpy.ufunc.reduce(...)
попробуй отказаться от нее и переписать в более плоском виде.
Запусти программу под профилировщиком. Он прокажет узкое место в коде.
Обычно для веб-приложений он показывает какой-то процесс отправки данных в сеть.
В этом коде он может покажет какой-то горячий цикл или строчку кода а также
ее процентное соотношение от общего времени работы приложения.
После того как будет собрана такая информация - можно обсудить что с этим кодом
делать. Не факт что переписывание в С++ поможет. Если алгоритм плохой
то обычно переписывание ничего толком не дает.
Почему так синльно нужна оптика? Может посмотреть в сторону связи по воздуху?
Точного названия оборудования я не знаю но это может быть MicroTik Wireless.
3g/4g - это сложный протокол. Он обычно держит соединение с несколькими вышками
одновременно и попытка сломать это поведение может быть не совсем удачной.
Я-бы относился к стартапу как к лотерее.
Обычно опытные стартаперы запускают 10 стартапов и из них 8 умирают за год
и остается полтора которые более менее взлетели.
По поводу кросс-платформенности. Это вообще идея другая и ее надо обсуждать
параллельно. Я-бы начал писать на том фреймворке который 100% знаю.
А вкладываться в какие-то multiplatform - это значить заранее платить налог на
фичу которая может и не взлетит. А если она не взлетит - то зачем тратить на нее
усилия команды?
Я-бы вообще игнорировал эти все multiplatform. Главное MVP. И если он влзетает
на Андроид то тогда уже в рамках техподдержки имея аудиторию и деньги
проще дописать другое приложение.
В общем я такого не видел. Но для работы например с хранилищами S3 есть minio.
И вообще все сервисы AWS/Azure построены как сервисы Rest, поэтому при должном
терпении ты сможешь сам создать заглушки или эмуляторы для их API (частично).
Если сайт - региональный то люди регистрируются в дневное время. И здесь например
анализ Фурье событий по суткам может показать наиболее вероятный пик.
В API операционной системы должна быть команда fsync которая форсирует сохранение буферизованного
IO в файл. Я-бы почитал есть ли в GoLang вызов этой функции.
Но беря во внимание очень большой размер файла мне кажется что дело не в этом.
Скорее всего у автора баг в оригинальной программе. И надо его искать.
Но автор пишет что всё ненужное выбросил и поэтому сложно делать суждение.
Этож для тебя одноразовая задача? Тебе проще нанять студентов чтоб они тебе сделали скрейпер.
А дальше у тебя будет база и наверное на этом все.
Если ты хочешь изучать скрепинг - то это другое дело но и сроки тогда будут другие и наверное
надо начать с более простого. С библиотеки Мошкова например.