170 похожих чатов

Ну ладно. Скажу по другому. Насколько просто сделать свой бинарный

формат в Го и насколько сложно его сделать в CPP. При этом понимая что это не сломается?

26 ответов

9 просмотров

бинарный формат чего? просто хранения данных?

В go легко. Буквально 2 недели назад делал свой бинарный формат для специфического индекса, который генерируется заранее, а в сервере используется напрямую в бинарном виде через mmap. Примерно рабочая неделя потребовалась на придумывание формата, реализацию записи и чтения.

Mikhail Efimov
В go легко. Буквально 2 недели назад делал свой би...

Писали в структуру по полям (id int, lala byte, blabla bool) или хранили всё в []byte и методами (getID, getLala, getBlabla, парсили и выдергивали всё это из []byte) ?

Andrey Burov
Писали в структуру по полям (id int, lala byte, bl...

Без go-структур, древовидное описание с указателями относительно начала файла, поиск выполняется серией чтений отдельных байтиков и слов

Andrey Burov
круто!

Да, я порадовался интересной задачке) А то разрабатываю сервак в одно лицо, и потому в основном задачи довольно рутинные

Mikhail Efimov
Да, я порадовался интересной задачке) А то разраба...

есть такое, ну задача реально интересная, и огромное поле для оптимизаций

Vi- Автор вопроса
Mikhail Efimov
Да, я порадовался интересной задачке) А то разраба...

Да это проблема Go, язык классный, но скучноватый..порой.

Vi
Да это проблема Go, язык классный, но скучноватый....

да не язык скучный, а задачи типовые на нем решают

Vi
Да это проблема Go, язык классный, но скучноватый....

Мне кажется, в моем случае это скорее проблема команды. Нас мало, а технологий много. Поэтому я постоянно переключаюсь (ну хоть сейчас реже). На чем только на работе не пишу: Go, C, C++, python, PHP, Java, Dart, JS, shell, Delphi...

Vi- Автор вопроса
Andrey Burov
да не язык скучный, а задачи типовые на нем решают

в моем случае язык. Хочется как то повыпендриваться. КАк на РАсте или навертеть как на Lua. А выходит всегда приемлемо.

Vi
в моем случае язык. Хочется как то повыпендриватьс...

Он специально так сделан, чтобы выпендриваться было сложно)))

Vi- Автор вопроса
Andrey Burov
вам pet проект нужен!

У меня сейчас только и они. Но скучно на Go петы делать. Просто в один момент думаешь...е мае. Где экшен? все работает. Потом вспоминаешь боли из си. Где с массивом на 1 забылся. И такой ладно... Вечером на Lua поговнякаю.

Vi- Автор вопроса
Mikhail Efimov
Он специально так сделан, чтобы выпендриваться был...

Ну я условно. Вот например все тут про указатели и копирования размышляли. А мне все лень проверить насколько анонимные функции в go нормальны.

Vi- Автор вопроса
Mikhail Efimov
"Нормальны"?

Ну в некоторых языках анонимные функции это прям ад под капотом.

Andrey Burov
https://godbolt.org/ в помощь

А классная штука, спасибо. Проверил, что константные строки заранее собираются, так что "+" использовать эффективно. Недавно здесь обсуждали: https://godbolt.org/z/1Ms56bKWr

Mikhail Efimov
А классная штука, спасибо. Проверил, что константн...

тут быстрее за счет оптимизаций компилятора

Mikhail Efimov
А классная штука, спасибо. Проверил, что константн...

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

Mikhail Efimov
Не совсем тебя понял. Где "тут"?

https://godbolt.org/z/rds9rKoTv посмотри с go:noinline и без него

Andrey Burov
https://godbolt.org/z/rds9rKoTv посмотри с go:noin...

тут без noinline оно же копируется

Похожие вопросы

Обсуждают сегодня

А чем вам питонисты не угодили?😂
.
79
Язык Си можно выучить за день? По книжке ANSI C на 230 страниц
Vincent Vegan
29
Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
75
Dim Dim, [02.07.2024 11:07] DB 0x62 Dim Dim, [02.07.2024 11:07] DB 0x66 Dim Dim, [02.07.2024 11:07] кто пояснит что это?
Dim Dim
14
Ошибка: segmentation fault (core dumped) Код: pastebin.com/BEsNNSSV Сообщение от компилятора: отсутствует ОС: Arch Linux Ядро: x86_64 Linux 6.9.7-arch1-1 Процессор: Intel Cele...
sec
4
Ребят, а за скок можно впарить анон чат с апишкой и веб админкой ?
Eugene Неелов
15
Ещё такой вопрос. Мне необходимо хранить пароль пользователя локально. Для этого планирую использовать ini файл. Это для автозаполнения полей логин и пароль при авторизации. Е...
Евгений
19
Кстати, я тут еще с одной темой столкнулся, вот учу я C++, на таком то ресурсе, а остальные постоянно советуют практиковаться, что то писать, проекты, но как писать если вот т...
aaswq1
7
Добрый день, чат. Мне в очередь из других RabbitMQ по shovel валятся метрики в формате текста для Prometheus. Помогите пожалуйста подружить RabbitMQ и Prometheus, чтобы он (...
Aleksey
4
Коллеги, как получить PId для собственного процесса из под линукса?
Роман Лях (rgreat)
6
Карта сайта