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

Скажите, а существует более быстрый способ искать строку в файле,

кроме как поблочно читать файл, и поочередно искать в буфере прочитанного сначала первый символ строки, а при нахождении продолжить сравнение для последующих?

10 ответов

29 просмотров

смотря что для асма считается строкой

Alexander-Morozov Автор вопроса
Aiwan \ (•◡•) / _bot
смотря что для асма считается строкой

Последовательность байт. Без заморочек.

Ну вообще можно отобразить файл на память, и использовать z функцию

Alexander Morozov
А что за Z функция?

https://ru.m.wikipedia.org/wiki/Z-%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D1%8F https://neerc.ifmo.ru/wiki/index.php?title=Z-%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D1%8F#:~:text=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA%20%D0%BF%D0%BE%D0%B4%D1%81%D1%82%D1%80%D0%BE%D0%BA%D0%B8%20%D0%B2%20%D1%81%D1%82%D1%80%D0%BE%D0%BA%D0%B5%20%D1%81%20%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E%20Z%2D%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8&text=%D0%9E%D0%B1%D1%80%D0%B0%D0%B7%D1%83%D0%B5%D0%BC%20%D1%81%D1%82%D1%80%D0%BE%D0%BA%D1%83%20s%20%3D%20pattern%20%2B%20%23,%D0%BD%D0%B0%D1%87%D0%B8%D0%BD%D0%B0%D0%B5%D1%82%D1%81%D1%8F%20%D0%BF%D0%BE%D0%B4%D1%81%D1%82%D1%80%D0%BE%D0%BA%D0%B0%2C%20%D1%81%D0%BE%D0%B2%D0%BF%D0%B0%D0%B4%D0%B0%D1%8E%D1%89%D0%B0%D1%8F%20%D1%81%20pattern.

вот так: найти длину строки и искать одновременно совпадение начала и конца строки

пошукач 🥝
вот так: найти длину строки и искать одновременно ...

А как этот способ может быть быстрее если количество операций будет такой же?

Алексей Прасолов
А как этот способ может быть быстрее если количест...

мне кажется сыграет свою роль теория вероятностей

после нахождения в файле первого символа искомой строки применять simd операции сравнения

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

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

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
Ребят в СИ можно реализовать ООП?
Николай
33
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
у вас два процесса. один посылает другому сигнал. у вас есть код обоих процессов? если всё не так - расскажите как оно на самом деле. а именно кто кому чего, есть-ли консоли,...
Karagy
6
Карта сайта