Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Пт сен 22, 2017 11:09 am

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 236 сообщений ]  На страницу Пред. 111 12 13 14 15 16 След.
Автор Сообщение
 Заголовок сообщения: Re: Путь приложения
СообщениеДобавлено: Вт дек 06, 2016 9:27 pm 
Не в сети

Зарегистрирован: Вс окт 30, 2011 6:43 pm
Сообщения: 1011
Что, кстати, насчёт той viewtopic.php?f=38&t=1277&start=600#p67688 идеи? Ну пусть это будет не кавычка, пусть слэш будет.


Вернуться к началу
 Заголовок сообщения: Re: Путь приложения
СообщениеДобавлено: Ср дек 07, 2016 1:46 am 
Не в сети
Mentor/Kernel Developer
Аватара пользователя

Зарегистрирован: Чт мар 26, 2015 5:16 pm
Сообщения: 1175
:?: ... null.
Если уж на то пошло, в новых функциях я планирую немного сменить формат: сначала указатель на строку (dword), а если он равен нулю, то после него непосредственная строка. А то diamond как-то криво сделал.
0CodErr писал(а):
...и даже больше, вот и посчитай насколько это медленнее будет
:roll: А зачем это надо? Пример можешь привести?


Вернуться к началу
 Заголовок сообщения: Re: Путь приложения
СообщениеДобавлено: Ср дек 07, 2016 7:56 am 
Не в сети

Зарегистрирован: Вс авг 09, 2015 3:41 pm
Сообщения: 81
Спойлер: Показать
Pathoswithin писал(а):
А то diamond как-то криво сделал.

Кто бы говорил.
http://rvb.ru/18vek/krylov/01text/vol3/01fables/085.htm


Вернуться к началу
 Заголовок сообщения: Re: Путь приложения
СообщениеДобавлено: Ср дек 07, 2016 12:49 pm 
Не в сети
Kernel Developer

Зарегистрирован: Ср мар 08, 2006 6:25 pm
Сообщения: 3928
Ray писал(а):
Кто бы говорил.
Вот зря. Посмотри код file_system_lfn, найди место где подфункция проверяется на допустимое значение. Структура кода далека от идеала.


Вернуться к началу
 Заголовок сообщения: Re: Путь приложения
СообщениеДобавлено: Ср дек 07, 2016 2:16 pm 
Не в сети
Mentor/Kernel Developer
Аватара пользователя

Зарегистрирован: Чт мар 26, 2015 5:16 pm
Сообщения: 1175
file_system_lfn я уже переписал, а валидацию давно сделала CleverMouse, вместе с dyndisk_handler. Его код это отдельная тема, в данном случае я имел в виду API viewtopic.php?f=35&t=475&start=29


Вернуться к началу
 Заголовок сообщения: Re: Путь приложения
СообщениеДобавлено: Ср дек 07, 2016 5:08 pm 
Не в сети

Зарегистрирован: Вс окт 30, 2011 6:43 pm
Сообщения: 1011
Pathoswithin писал(а):
0CodErr писал(а):
...и даже больше, вот и посчитай насколько это медленнее будет
:roll: А зачем это надо? Пример можешь привести?
Что зачем надо? Чтобы сравнить скорость обработки UTF8 и UTF16, например. Или опять дурачка включаешь?
Вот хочу я, к примеру, обрабатывать 100 Гб в час. 1 миллиард символов ASCII это примемрно 1 Гб, просто, чтобы было понятно сколько это. Тогда за сутки это будет более 2-ух Тб. Вот и считай, какие будут каждый день накладные расходы на каждый символ в случае UTF8.
Вообще, как я уже писал выше, можно проверять, не выходит ли UTF16 строка за рамки UCS2, и, если нет, то обработка будет куда быстрее(так как 2 байта на символ). В подавляющем большинстве случаев будет вполне достаточно UCS2.

А что насчёт тебя?
0CodErr писал(а):
Pathoswithin писал(а):
иметь дело с разными кодировками одновременно
А зачем это надо? Пример можешь привести?


Вернуться к началу
 Заголовок сообщения: Re: Путь приложения
СообщениеДобавлено: Ср дек 07, 2016 7:44 pm 
Не в сети

Зарегистрирован: Вт мар 08, 2016 11:00 pm
Сообщения: 254
0CodErr писал(а):
Что зачем надо? Чтобы сравнить скорость обработки UTF8 и UTF16, например. Или опять дурачка включаешь?
Вот хочу я, к примеру, обрабатывать 100 Гб в час. 1 миллиард символов ASCII это примемрно 1 Гб, просто, чтобы было понятно сколько это. Тогда за сутки это будет более 2-ух Тб. Вот и считай, какие будут каждый день накладные расходы на каждый символ в случае UTF8.
Вообще, как я уже писал выше, можно проверять, не выходит ли UTF16 строка за рамки UCS2, и, если нет, то обработка будет куда быстрее(так как 2 байта на символ). В подавляющем большинстве случаев будет вполне достаточно UCS2.

Ты теоретизируешь - сделай бенчмарк и потести, что будет быстрее - UTF8 или 16.

IMHO, UCS2 была бы быстрее, но если нужно обрабатывать кодепойнты, то разницы не будет.
А как замена ASCII, UTF8 идеальна.


Вернуться к началу
 Заголовок сообщения: Re: Путь приложения
СообщениеДобавлено: Ср дек 07, 2016 8:33 pm 
Не в сети

Зарегистрирован: Вс окт 30, 2011 6:43 pm
Сообщения: 1011
Siemargl, это было логично делать в unix-ах, где было уже полно работающего софта. У нас этого софта 1,5 программы. Смысла мало.

Siemargl писал(а):
IMHO, UCS2 была бы быстрее,
Да, я как раз об этом. В основном изменения будут касаться файловых функций. Вот у нас там так
Код:
  * +8: dword: encoding:
    * 0 = cp866 -> byte per char
    * 1 = UTF-16LE -> word per char
word per char намекает, что работать можно как с UCS2.

Siemargl писал(а):
Ты теоретизируешь - сделай бенчмарк и потести, что будет быстрее - UTF8 или 16.
Всё придумано до нас :) Достаточно погуглить. Обычно говорят, что UTF-8 и EBCDIC более подходит для передачи по сети из-за endianness. Но для обработки внутри программы советуют UCS2/UTF-16/UTF-32.

Вот ещё есть https://en.wikipedia.org/wiki/Comparison_of_Unicode_encodings


Вернуться к началу
 Заголовок сообщения: Re: Путь приложения
СообщениеДобавлено: Ср дек 07, 2016 8:48 pm 
Не в сети
Mentor/Kernel Developer
Аватара пользователя

Зарегистрирован: Чт мар 26, 2015 5:16 pm
Сообщения: 1175
Цитата:
Вот хочу я, к примеру, обрабатывать 100 Гб в час.
*facepalm* Опять флудера включаешь?
Цитата:
А что насчёт тебя?
Вот хочу я, к примеру, чтоб пути к файлам были в UTF-16, из сети получать что-то в UTF-8, а статические текстовые строки в ср866.


Вернуться к началу
 Заголовок сообщения: Re: Путь приложения
СообщениеДобавлено: Ср дек 07, 2016 9:46 pm 
Не в сети

Зарегистрирован: Вс окт 30, 2011 6:43 pm
Сообщения: 1011
Pathoswithin писал(а):
Цитата:
Вот хочу я, к примеру, обрабатывать 100 Гб в час.

*facepalm* Опять флудера включаешь?
Ты узко мыслишь просто. Иди дальше играй в игрушки :)

Pathoswithin писал(а):
Вот хочу я, к примеру, чтоб пути к файлам были в UTF-16, из сети получать что-то в UTF-8, а статические текстовые строки в ср866.
Ты таки хочешь перемешать всё в кучу? :lol: Хотя это и плохая идея, но и этому ничего не мешает. Да, системный вызов добавится в этом случае. И я тебе приводил пример как это делается в одном месте
Код:
function GetCurrentDirectory; external kernel32 name 'GetCurrentDirectoryW';
А потом просто везде используют эту юникодную GetCurrentDirectory.
А ты, вероятно, собираешься делать как-то так
Код:
call GetCurrentDirectoryA
..........................
call GetCurrentDirectoryW
..........................
call GetCurrentDirectoryA
..........................
call GetCurrentDirectoryW
..........................
call GetCurrentDirectoryA
..........................
call GetCurrentDirectoryW
Такое тоже возможно, но это плохая идея. Обычно работает себе программа в юникоде и работает. Нет нужды часто переключаться.


Вернуться к началу
 Заголовок сообщения: Re: Путь приложения
СообщениеДобавлено: Ср дек 07, 2016 9:56 pm 
Не в сети

Зарегистрирован: Вс окт 30, 2011 6:43 pm
Сообщения: 1011
Pathoswithin писал(а):
Если уж на то пошло, в новых функциях я планирую немного сменить формат: сначала указатель на строку (dword), а если он равен нулю, то после него непосредственная строка.
Ну если всё равно будут новые функции, то можно и параметром передавать. А если он 0, то тогда имя в структуре. Хотя, может, привычнее всё в структуре размещать. Ещё идея: вместо ebx использовать ecx или edx, чтобы не делать лишний раз push\pop в обёртках.


Вернуться к началу
 Заголовок сообщения: Re: Путь приложения
СообщениеДобавлено: Пт дек 09, 2016 1:20 pm 
Не в сети
Mentor/Kernel Developer
Аватара пользователя

Зарегистрирован: Чт мар 26, 2015 5:16 pm
Сообщения: 1175
Так, вам осталось сделать свой вклад - выбрать номера двух новых функций для UTF-8 и UTF-16 (например 80 или 32).


Вернуться к началу
 Заголовок сообщения: Re: Путь приложения
СообщениеДобавлено: Пт дек 09, 2016 1:27 pm 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4175
Как насчет 80 и 90? :)

_________________
Через тернии к звездам


Вернуться к началу
 Заголовок сообщения: Re: Путь приложения
СообщениеДобавлено: Сб дек 10, 2016 2:04 am 
Не в сети
Mentor/Kernel Developer
Аватара пользователя

Зарегистрирован: Чт мар 26, 2015 5:16 pm
Сообщения: 1175
Ну предлагайте конкретней, какую куда?

P.S. Решения от фонаря мне даются труднее всего.


Вернуться к началу
 Заголовок сообщения: Re: Путь приложения
СообщениеДобавлено: Сб дек 10, 2016 3:50 pm 
Не в сети

Зарегистрирован: Вс окт 30, 2011 6:43 pm
Сообщения: 1011
Pathoswithin, ты про клоны SysFn70? А как же остальное? Или там подфункции будут?
Ну пусть SysFn80 будет. Можно же указывать encoding в регистре. Например, для UTF16 edx = 1, а для UTF8 edx = 2.


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 236 сообщений ]  На страницу Пред. 111 12 13 14 15 16 След.

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB