Здравствуйте, rudzuk, Вы писали:
R>Ты просто отвечай, когда мысль оформишь окончательно, а то я заколебался читать по два-три твоих ответа на одно мое сообщение
А давай, я как-нибудь без сопливых решу, сколько и где сообщений мне писать, ладно?
--
Не можешь достичь желаемого — пожелай достигнутого.
Re[6]: Как в одну строку кода прочитать содержимое файла в массив?
Здравствуйте, ·, Вы писали:
·>Вот только все эти заморочки в C++ никакую из этих проблем не решают.
Странно перекладывать такого рода проблемы на язык.
·>Хороший — это если 30+ лет опытный программист написал портянку кода, ещё один 40+ опытный отревьювил, а потом ещё и команда опытных тестеров оттестила в хвост и гриву, потом в проде погонялось годик-другой с активной правкой багов. А по факту будет код как в этом топике выше, со всем букетом проблем, да ещё и накопишащенный с ошибками.
Или не будет.
BFE>>Зачем тащить ошибки других языков в С++? ·>Какие конкретно ошибки?
Вот такие функции, как прочитать весь файл в память.
·>В java — new FileInputStream("file.name").readNBytes(123456). Впрочем толку то, всё равно в большинстве случаев эту твою функцию будут вызывать как ReadAllBytes(MAX_INT), потому что вменяемо рассчитать nMaxFileSize — по сути неалгоритмизируемая задача.
Легко: возьмите свободную память и поделите её попалам. Расчёт закончен.
И каждый день — без права на ошибку...
Re[28]: Как в одну строку кода прочитать содержимое файла в
Для людей с йододефицитом расшифровываю: "и чо?" означает буквально: "как, нахрен, размер порции чтения влияет на количество переаллокаций?". И вопрос вполне закономерный, поскольку до этого момента ты в качестве основной и единственной проблемы выдвигал количество перелокаций и нигде и никак не обозначил изменений в своих взглядах.
--
Не можешь достичь желаемого — пожелай достигнутого.
Здравствуйте, Kluev, Вы писали:
K>есть ли в std аналог File.ReadAllBytes()?
Тут нашлись такие, кто докопался до эффективности. Ну так вот, если важно быстродействие, то можно использовать чуть более длинную версию — аж целых 4 строчки
Здравствуйте, rg45, Вы писали:
r> Тут нашлись такие, кто докопался до низкой эффективности. Ну так вот, если важно быстродействие, то можно использовать чуть более длинную версию — аж целых 4 строчки
r>
Избавился от одной проблемы и тут же влетел в другую Прочти содержимое вот этого файла "/proc/self/status". Потом продолжим разбор, чувствую будет весело
Здравствуйте, rg45, Вы писали:
r> R>Ну вот, ошибка на месте Она в логике. Подсказывать или сам?
r> Ну так чего притих? Где обещанная "ошибка"? Ты что там, С++ решил подучить по случаю? Ну, тоже полезно.
Ну, вижу результата нет. В общем-то все просто: буфер резервируешь, а читать продолжаешь по-крупицам. Отсюда отсутствие каких-либо изменений. Читай сразу весь буфер, сможешь поднять производительность до уровня шарпа
Здравствуйте, rg45, Вы писали:
r> R>Ты просто отвечай, когда мысль оформишь окончательно, а то я заколебался читать по два-три твоих ответа на одно мое сообщение
r> А давай, я как-нибудь без сопливых решу, сколько и где сообщений мне писать, ладно?
Решать-то ты решай, но и я не буду на твои дубли отвечать.
Здравствуйте, rg45, Вы писали:
r> R>Почему же пургу? Переаллокации есть? Есть. Влияют на производительность? Влияют.
r> Стоит ли это хоть какого-нибудь внимания? А нет, нихера не стоит, как показывает опыт.
Замер показал снижение производительности на 4% из переаллокаций. В данном примере. Хотя, я согласен, что на фоне провальных результатов это ничто
Здравствуйте, rg45, Вы писали:
r> Для людей с йододефицитом расшифровываю: "и чо?" означает буквально: "как, нахрен, размер порции чтения влияет на количество переаллокаций?". И вопрос вполне закономерный, поскольку до этого момента ты в качестве основной и единственной проблемы выдвигал количество перелокаций и нигде и никак не обозначил изменений в своих взглядах.
Я спросил, сколько переаллокаций будет происходить при чтении большого файла. Это просто вопрос, а количество переаллокаций напрямую зависит от размера читаемых данных. Еще раз, вдумчиво, оно зависит, а не тождественно. Не нужно приписывать мне свои домыслы.
Здравствуйте, rudzuk, Вы писали:
R>Избавился от одной проблемы и тут же влетел в другую Прочти содержимое вот этого файла "/proc/self/status". Потом продолжим разбор, чувствую будет весело
Ну ты душнила. Попробуй напрячь, что там у тебя есть, и понять, что данная функция не претендует быть функцией столь общего применения, как File.RealAllBytes. Да, она не годится для чтения "с учетом фолбека для спец. файлов в некоторых ОС" — но кто от этого сильно расплачется. Зато такая функция легко может быть реализована где-то в локальном пространстве имен. С++ дает своим программистам удочки — что нужно, то и делайте, а вас заваливают тухлой рыбой — хотите, или не хотите, но жрите, что дают. Кароч, иди лесом.
--
Не можешь достичь желаемого — пожелай достигнутого.
Здравствуйте, rg45, Вы писали:
r> R>Избавился от одной проблемы и тут же влетел в другую Прочти содержимое вот этого файла "/proc/self/status". Потом продолжим разбор, чувствую будет весело
r> Ну ты душнила. Попробуй напрячь, что там у тебя есть, и понять, что данная функция не претендует быть функцией столь общего применения, как File.RealAllBytes. Да, она не годится для чтения "с учетом фолбека для спец. файлов в некоторых ОС" — но кто от этого сильно расплачется. Зато такая функция легко может быть реализована где-то в локальном пространстве имен. С++ дает своим программистам удочки — что нужно, то и делайте, а вас заваливают тухлой рыбой — хотите, или не хотите, но жрите, что дают. Кароч, иди лесом.
Чего ты так резко слился, пейсатель эффективных двустрочников? Встретился с реальностью, на пол-шишечки? Еще и buffer overflow прощелкал
Здравствуйте, rudzuk, Вы писали:
R> Чего ты так резко слился, пейсатель эффективных двустрочников? Встретился с реальностью, на пол-шишечки? Еще и buffer overflow прощелкал
Смайликов побольше поставь, а то в искренность не верится.
Ты сперва свое что-нибудь напиши, а мы покритиккуем. Докапываться до чужого кода всегда проще, чем писать что-то самому. Убожество закомплекосванное.
--
Не можешь достичь желаемого — пожелай достигнутого.
Здравствуйте, rg45, Вы писали:
r> Ты сперва свое что-нибудь напиши, а мы покритиккуем. Докапываться до чужого кода всегда проще, чем писать что-то самому. Убожество закомплекосванное.
Тебя, чудило, за язык никто не тянул. Теперь не обижайся
Здравствуйте, rg45, Вы писали:
r> R>Тебя, чудило, за язык никто не тянул. Теперь не обижайся
r> Да это ты обиженный от рождения, походу, чушок. Ни строчки кода не написал, пенится тут еще что-то.