Форум dkLab и Denwer
Здесь общаются Web-разработчики.
Генеральный спонсор:
Хостинг «Джино»

Сверхбыстрая сортировка таблиц (обсуждение) ()
Goto page 1, 2  Next
Author Message
Rumata
Профессионал



Joined: 17 Aug 2003
Posts: 1850
Карма: 185
   поощрить/наказать


PostPosted: Sat Jun 16, 2007 8:35 am ()
   Post subject:
Reply with quote


М

Выделено из темы «Сверхбыстрая сортировка таблиц»,
расположенной в форуме Разное :: JavaScript (Пн, 02 Июля 2007, 10:45).
Back to top
View user's profile Send private message
Guest






Карма: 388
   поощрить/наказать


PostPosted: Sat Jun 16, 2007 8:35 am (спустя 1 секунду; написано за 6 минут 49 секунд)
   Post subject:
Reply with quote

WingedFox wrote:
...невозможна сортировка 2 столбцов в противоположных направлениях.
Это как? Чтобы первый отсортировался, начиная с малого к большему, а второй - наоборот?
Back to top
WingedFox
Профессионал



Joined: 29 Apr 2003
Posts: 4064
Карма: 269
   поощрить/наказать

Location: Питер

PostPosted: Sat Jun 16, 2007 8:45 am (спустя 10 минут; написано за 18 секунд)
   Post subject:
Reply with quote

Guest
Именно так.
Back to top
View user's profile Send private message
AKS
Участник форума



Joined: 28 Dec 2005
Posts: 1174
Карма: 102
   поощрить/наказать


PostPosted: Sat Jun 16, 2007 8:52 am (спустя 7 минут; написано за 39 секунд)
   Post subject:
Reply with quote

А что, нельзя отсортировать ячейки только одного столбца?
Back to top
View user's profile Send private message Send e-mail
WingedFox
Профессионал



Joined: 29 Apr 2003
Posts: 4064
Карма: 269
   поощрить/наказать

Location: Питер

PostPosted: Sat Jun 16, 2007 10:33 am (спустя 1 час 40 минут; написано за 16 секунд)
   Post subject:
Reply with quote

Можно.
Back to top
View user's profile Send private message
AKS
Участник форума



Joined: 28 Dec 2005
Posts: 1174
Карма: 102
   поощрить/наказать


PostPosted: Sat Jun 16, 2007 11:40 am (спустя 1 час 6 минут; написано за 3 минуты 21 секунду)
   Post subject:
Reply with quote

Тогда такой вопрос (вопрос человека, привыкшего к сортировке в папках по имени, по типу и т.д.) - а зачем сортировать отдельный столбец, какой смысл в такой сортировке таблицы? Другое дело - сделать сортировку "туда-сюда", опять же как это обычно делается...
Back to top
View user's profile Send private message Send e-mail
WingedFox
Профессионал



Joined: 29 Apr 2003
Posts: 4064
Карма: 269
   поощрить/наказать

Location: Питер

PostPosted: Sat Jun 16, 2007 3:59 pm (спустя 4 часа 19 минут; написано за 1 минуту 14 секунд)
   Post subject:
Reply with quote

AKS
1. сортировка чисел
2. сортировка дат
3. сортировка строк без учёта регистра
4. сортировка произвольных объектов

и всё это -- от 1 до N столбцов
Back to top
View user's profile Send private message
AKS
Участник форума



Joined: 28 Dec 2005
Posts: 1174
Карма: 102
   поощрить/наказать


PostPosted: Sat Jun 16, 2007 4:39 pm (спустя 39 минут; написано за 1 минуту 46 секунд)
   Post subject:
Reply with quote

WingedFox
Но ведь сортировать можно или строки, или все остальное. Так ведь? А по-поводу сортировки всей таблицы - это все же сортировка таблицы целиком или отдельно взятых ее фрагментов (все еще не могу понять конечной цели)?
Back to top
View user's profile Send private message Send e-mail
Rumata
Профессионал



Joined: 17 Aug 2003
Posts: 1850
Карма: 185
   поощрить/наказать


PostPosted: Mon Jun 18, 2007 9:13 am (спустя 1 день 16 часов 33 минуты; написано за 1 минуту 18 секунд)
   Post subject:
Reply with quote

AKS
вспомните возможности "множественной" сортировкив в MS Excel
там есть диалог, который позволяет сотртировать по 3 столбцам (максимум)
Back to top
View user's profile Send private message
Rumata
Профессионал



Joined: 17 Aug 2003
Posts: 1850
Карма: 185
   поощрить/наказать


PostPosted: Mon Jun 18, 2007 10:13 am (спустя 1 час 21 секунду; написано за 2 минуты 22 секунды)
   Post subject:
Reply with quote

это больше похоже на придирку
но мне первоначально показалось, что класс позволяет сортировать произвольные таблицы, незавязанные на HTML-разметку.
WingedFox wrote:
невозможна сортировка 2 столбцов в противоположных направлениях
Я так понимаю, что в ближайшем будущем мы увидим полноценный сортировщик, умеющий делать "множественную" сортировку ? (-:
Back to top
View user's profile Send private message
WingedFox
Профессионал



Joined: 29 Apr 2003
Posts: 4064
Карма: 269
   поощрить/наказать

Location: Питер

PostPosted: Mon Jun 18, 2007 10:50 am (спустя 37 минут; написано за 53 секунды)
   Post subject:
Reply with quote

Rumata
Всё возможно =)
Back to top
View user's profile Send private message
AKS
Участник форума



Joined: 28 Dec 2005
Posts: 1174
Карма: 102
   поощрить/наказать


PostPosted: Mon Jun 18, 2007 4:32 pm (спустя 5 часов 42 минуты; написано за 8 минут 1 секунду)
   Post subject:
Reply with quote

Rumata
О-о-о, наконец-то! А я-то думаю: "Когда же знаток MWS Technologies вспомнит про нас?". ;)
Ну ладно, по-делу:
Quote:
вспомните возможности...
Так вот я поэтому и "пытаю" автора (а он что-то не "колется" :) ) - к чему нужно идти? А "идти" хочется - тема интересная. Он же сам меня учил (с Вами напару), что нужно перед "писаниной" все хорошенько спроектировать. В противном случае любые "комментарии/идеи/доработки" будут бесполезными. Что я хочу этим сказать? Вот пример.
Этот блок лично я считаю совершенно бесполезным:
Code (JavaScript): скопировать код в буфер обмена
            switch (typeof vals[i]) {
                case 'number' :
                    vals[i] = new String(vals[i]);
                    t = 'Number';
                    break;
                case 'boolean':
                    vals[i] = new String(vals[i]);
                    t = 'Boolean';
                    break;
                case 'string' :
                default :
                    vals[i] = new String(vals[i]);
                    t = 'String';
                    break;
            }
(это из метода push конструктора Comparator), также как и два метода-близнеца Comparator.Formatter.String && Comparator.Formatter.Number (легко заменяются одной функцией).
НО! Откуда мне знать, что задумал автор? Поэтому ничего не предлагаю, а терпеливо жду, задавая наводящие вопросы...
Back to top
View user's profile Send private message Send e-mail
Rumata
Профессионал



Joined: 17 Aug 2003
Posts: 1850
Карма: 185
   поощрить/наказать


PostPosted: Mon Jun 18, 2007 5:24 pm (спустя 51 минуту; написано за 52 секунды)
   Post subject:
Reply with quote

AKS wrote:
знаток MWS Technologies
слово знаток надо в кавычки:).
и что такое MWS - Miscrosoft Windows Scripting?
Back to top
View user's profile Send private message
AKS
Участник форума



Joined: 28 Dec 2005
Posts: 1174
Карма: 102
   поощрить/наказать


PostPosted: Mon Jun 18, 2007 6:18 pm (спустя 54 минуты; написано за 1 минуту 13 секунд)
   Post subject:
Reply with quote

Rumata wrote:
что такое MWS - Miscrosoft Windows Scripting?
Ну да. Сначала - главное подстраховаться:
Quote:
знаток надо в кавычки
, а уж потом узнать, о чем речь. :)
Back to top
View user's profile Send private message Send e-mail
WingedFox
Профессионал



Joined: 29 Apr 2003
Posts: 4064
Карма: 269
   поощрить/наказать

Location: Питер

PostPosted: Tue Jun 19, 2007 12:37 am (спустя 6 часов 19 минут; написано за 9 минут 26 секунд)
   Post subject:
Reply with quote

AKS
Архитектура проста, как валенок.
Требуется сортировать произвольные данные, по неким правилам. Реализуется это через:
1) Форматтер -- функция, приводящая данные с требуемому для сортировки формату. Например, в таблице пишется "Фамилия - Имя - Отчество", а сортировать надо по "Имя - Фамилия - Отчество", форматтер и будет менять имя и фамилию местами. Дополнительно, форматтер выравнивает данные по макс. длине, чтобы сортировка шла корректно.
2) У каждого типа (определяемого по typeof) должен быть свой дефолтовый форматтер, т.к. базовый тип надо по разному выравнивать (для строк - пробелы, для чисел - нули) и инвертировать (это ещё в процессе продумывания).
3) Форматтер должен быть максимально тупой и специализированный, чтобы пользователь мог написать свой форматтер с минимальным напряжением извилин. Ну и для увеличения скорости работы.
AKS wrote:
Этот блок лично я считаю совершенно бесполезным:
Да, он станет бесполезным с того момента, когда идея пройдёт валидацию и будет принята на вооружение. Сейчас он выполняет исключительно иллюстративные функции.
AKS wrote:
также как и два метода-близнеца Comparator.Formatter.String && Comparator.Formatter.Number (легко заменяются одной функцией
См. пункт 3.

PS: проектировалось оно на коленке, т.к. работающий прототип требовалось показать в течение 2 дней =) Если он будет принят, то и развитие будет. Иначе -- как сложится со временем и интересом.
Back to top
View user's profile Send private message
AKS
Участник форума



Joined: 28 Dec 2005
Posts: 1174
Карма: 102
   поощрить/наказать


PostPosted: Tue Jun 19, 2007 4:35 am (спустя 3 часа 57 минут; написано за 4 минуты 21 секунду)
   Post subject:
Reply with quote

WingedFox
Вот спасибо за комментарий - теперь я немного ближе к пониманию идеи.
Quote:
Если он будет принят, то и развитие будет...
Так пусть уж он будет принят! :)
Удручает, однако, такой подход:
Quote:
...тупой и специализированный, чтобы пользователь мог написать свой форматтер с минимальным напряжением извилин...
Back to top
View user's profile Send private message Send e-mail
WingedFox
Профессионал



Joined: 29 Apr 2003
Posts: 4064
Карма: 269
   поощрить/наказать

Location: Питер

PostPosted: Tue Jun 19, 2007 6:52 am (спустя 2 часа 16 минут; написано за 1 минуту 17 секунд)
   Post subject:
Reply with quote

AKS wrote:
Удручает, однако, такой подход:
Сочувствую =)
Имхо, это нормально -- делать простую и дуракостойкую систему. Особенно в свете того, что ей будут пользоваться люди, считающие JS недоязыком.
Back to top
View user's profile Send private message
AKS
Участник форума



Joined: 28 Dec 2005
Posts: 1174
Карма: 102
   поощрить/наказать


PostPosted: Tue Jun 19, 2007 8:48 am (спустя 1 час 56 минут; написано за 2 минуты 7 секунд)
   Post subject:
Reply with quote

WingedFox wrote:
...люди, считающие JS недоязыком.
Да ну их...
WingedFox wrote:
...делать простую и дуракостойкую систему.
Это такие задачи ставит перед Вами руководство?
Back to top
View user's profile Send private message Send e-mail
WingedFox
Профессионал



Joined: 29 Apr 2003
Posts: 4064
Карма: 269
   поощрить/наказать

Location: Питер

PostPosted: Tue Jun 19, 2007 10:55 am (спустя 2 часа 7 минут; написано за 34 секунды)
   Post subject:
Reply with quote

AKS wrote:
Да ну их...
Ага, особенно коллег.
AKS wrote:
Это такие задачи ставит перед Вами руководство?
Это нормальная задача при разработке любой системы.
Back to top
View user's profile Send private message
Denis Usenko
Участник форума



Joined: 06 Feb 2006
Posts: 54
Карма: 13
   поощрить/наказать


PostPosted: Wed Jun 20, 2007 7:25 pm (спустя 1 день 8 часов 29 минут; написано за 5 минут 35 секунд)
   Post subject:
Reply with quote

WingedFox wrote:
Сортировка массива из 2 столбцов (числа 0..100000, строки 5..200 символов) и 1200 строк по произвольному столюбу или любой паре была ускорена примерно в 1000 раз: 16-30ms против ~2 секунд.
Можно узнать, по сравнению с чем ускорена ? это только сортирока или еще какая-то функциональность? И в каком браузeре получены указанные цифры?
А в целом интересно очень ))
Офтопик: как-то писал очень простой сортировщик массивов объектов, с возможностью задания приоритетов (очередность сравнения свойств сортируемых объектов), так по замерам, лъвиную часть времени сжирало ирнорирование регистра.
Back to top
View user's profile Send private message
WingedFox
Профессионал



Joined: 29 Apr 2003
Posts: 4064
Карма: 269
   поощрить/наказать

Location: Питер

PostPosted: Wed Jun 20, 2007 11:56 pm (спустя 4 часа 31 минуту; написано за 2 минуты 43 секунды)
   Post subject:
Reply with quote

Denis Usenko
Изначально проект работал только в IE6.
Использовались разные варианты, от банального .sort с кастомным коллбэком, до использования ActiveX словарей.
Замеры проводились на Core Duo/3GHz.

Сравнивалось только время сортировки, без визуального отображения изменений.
Back to top
View user's profile Send private message
Denis Usenko
Участник форума



Joined: 06 Feb 2006
Posts: 54
Карма: 13
   поощрить/наказать


PostPosted: Thu Jun 21, 2007 12:42 am (спустя 46 минут; написано за 20 минут 31 секунду)
   Post subject:
Reply with quote

WingedFox wrote:
 Форматтер должен быть максимально тупой и специализированный, чтобы пользователь мог написать свой форматтер с минимальным напряжением извилин. Ну и для увеличения скорости работы.
А нужно-ли это, разве не достаточно указать очередность сравнения полей простым их перечислением в нужном порядке? К примеру сортировщик, о котором говорил, имел такой интерфейс:
Code (JavaScript): скопировать код в буфер обмена
var fileList = new ListSorter (
    [
        { name: 'name', dir:  1, order: [ 'dir', 'name', 'ext'  ]},
        { name: 'ext' , dir:  1, order: [ 'dir', 'ext''name' ]},
        { name: 'size', dir: -1, order: [ 'dir', 'size', 'name', 'ext' ]},
        { name: 'date', dir: -1, order: [ 'dir', 'date', 'name', 'ext' ]},
        { name: 'dir' , dir: -1, order: [] }
    ],
    window.aFileList
)
Это определяло список объектов со свойствами name, ext, size, date, dir; направления сортировок по умолчанию для них (например, инвертировать результат сравнения для size, date, и dir) и очередность сравнения в свойств в этих сортировках. Если Вы не против, приведу код, он небольшой, но медленный ((. Хотя это уже несколько оффтопик )).

А сама идея отличная! я думал ускорить процесс такой сортировки разворачиванием функи сравнения (она с циклом
) в набор тернарных ?: (т.е. генерить функу с помощью eval). Конвертить все поля в одно значение -- это конечно еще быстрее. хотя не очень намного, у меня примерно такой результат выходит (сравнение массива случайных строк):

FF
чистая нативная сортировка: 16
еще раз чистая нативная сортировка: 15
без преобразования регистра (вызов внешней cmp): 79
с преобразованием регистра (вызов внешней cmp): 703
с предварительным преобразованием регистра (вызов внешней cmp): 359

Opera
чистая нативная сортировка: 15
еще раз чистая нативная сортировка: 16
без преобразования регистра (вызов внешней cmp): 46
с преобразованием регистра (вызов внешней cmp): 45454
с предварительным преобразованием регистра (вызов внешней cmp): 187

не любит Опера toLowerCase ))
WingedFox wrote:
У каждого типа (определяемого по typeof) должен быть свой дефолтовый форматтер, т.к. базовый тип надо по разному выравнивать (для строк - пробелы, для чисел - нули) и инвертировать (это ещё в процессе продумывания).
числа -- согласен, надо дополнять нилями слева, а строки? Ведь посимвольное сравнение строк прекратится как только выяснится что строки не равны. Мне кажется, что достаточно ставить в конце строки (вклеиваемой в хеш, или как это лучче назвать?) символ с минимальным допустимым в строках кодом.
Back to top
View user's profile Send private message
WingedFox
Профессионал



Joined: 29 Apr 2003
Posts: 4064
Карма: 269
   поощрить/наказать

Location: Питер

PostPosted: Thu Jun 21, 2007 1:14 am (спустя 31 минуту; написано за 4 минуты 3 секунды)
   Post subject:
Reply with quote

Denis Usenko wrote:
А нужно-ли это, разве не достаточно указать очередность сравнения полей простым их перечислением в нужном порядке?
Нет, не достаточно. Например, у меня в проекте все даты пишутся в формате "Thu, 21 june 2007"
Без преобразования к таймстампу сортировать это поле бесполезно.
Denis Usenko wrote:
Ведь посимвольное сравнение строк прекратится как только выяснится что строки не равны.
Code (JavaScript): скопировать код в буфер обмена
[['aa','ac']
,['aaa','c']
]
Это всё хорошо на коротких примерах. А на массивах порядка 2000 строк и десятке столбцов выливается в очень большую нагрузку.
Ну и никто не отменял строки различной длины.

PS: цифры хорошие, но не говорят ни о чём.
Back to top
View user's profile Send private message
Denis Usenko
Участник форума



Joined: 06 Feb 2006
Posts: 54
Карма: 13
   поощрить/наказать


PostPosted: Thu Jun 21, 2007 1:44 am (спустя 30 минут; написано за 17 минут 26 секунд)
   Post subject:
Reply with quote

WingedFox wrote:
Например, у меня в проекте все даты пишутся в формате "Thu, 21 june 2007"
Ммм. да, если это сверх-универсальное решение, то наверное да. Но имхо лучче хранить секунды с начала эпохи.
WingedFox wrote:
Это всё хорошо на коротких примерах. А на массивах порядка 2000 строк и десятке столбцов выливается в очень большую нагрузку. Ну и никто не отменял строки различной длины.
Насчет длины -- сравнение закончится когда встретит "\x00" в [псевдо]конце одной из сравниваемых строк. А о коротких примерах и нагрузке -- разве будет быстрее если строки станут длиннее за счет выравнивания по самой длинной строке? Может я все-таки что-то не так понимаю...

Да, о цифрах -- это массив из трех тысях примерно таких строк 'юГВВИвзТцутяКпСЙлБАЫиФлуееИцУаЙйЬУЬЮхкдУВЧВАнИЛрЛй',

ps.

перед сном еще заглянул )).
Вот по поводу :
Quote:
Ведь посимвольное сравнение строк прекратится как только выяснится что строки не равны. Мне кажется, что достаточно ставить в конце строки (вклеиваемой в хеш, или как это лучче назвать?) символ с минимальным допустимым в строках кодом.
Вы меня все-таки не поняли. Конец строки, о котором я писал -- это подстрока в том значении (я назвал его хешем, не найдя ничего лучшего) в которое конвертируются поля(ячейки) К примеру Ваш пример
Code (JavaScript): скопировать код в буфер обмена
[
   ['aa','ac']
  ,['aaa','c']
]
превратится в
Code (JavaScript): скопировать код в буфер обмена
[
    'aa\x1Cac',
    'aaa\x1Cc'
]
На всякий случай я взял не нулевой чар, а 1Ch, хотя наверное можно использовать любой символ младше 20h, в строках они как правило не встречаются.
Back to top
View user's profile Send private message
WingedFox
Профессионал



Joined: 29 Apr 2003
Posts: 4064
Карма: 269
   поощрить/наказать

Location: Питер

PostPosted: Thu Jun 21, 2007 9:46 am (спустя 8 часов 1 минуту; написано за 3 минуты 15 секунд)
   Post subject:
Reply with quote

Denis Usenko wrote:
Но имхо лучче хранить секунды с начала эпохи.
Хранение контента на сервере -- это заботы исключительно сервера. И сортировке на клиенте глубоко плевать на внутреннее представление данных.
Как вариант, можно передавать на клиент массив реально сортируемого контента, но это тянет на реальное извращение.

В качестве другого примера: $20,5
Denis Usenko wrote:
Конец строки, о котором я писал -- это подстрока в том значении (я назвал его хешем, не найдя ничего лучшего) в которое конвертируются поля(ячейки) К примеру Ваш пример
Да, возможно выравнивать строки и не понадобится. Но это надо очень отдельно продумать.
Denis Usenko wrote:
хотя наверное можно использовать любой символ младше 20h,
Кроме \x00, т.к. в IE он нелегален в строках.
Back to top
View user's profile Send private message
Denis Usenko
Участник форума



Joined: 06 Feb 2006
Posts: 54
Карма: 13
   поощрить/наказать


PostPosted: Thu Jun 21, 2007 1:48 pm (спустя 4 часа 2 минуты; написано за 18 минут 53 секунды)
   Post subject:
Reply with quote

WingedFox wrote:
Хранение контента на сервере -- это заботы исключительно сервера. И сортировке на клиенте глубоко плевать на внутреннее представление данных.
Я не имел ввиду хранение данных на сарвере, я говорил о браузере )) Просто html это отображение, а данные хранятся в объектах javascript. А с сервера посылать нативные javascript типы -- только строки и числа и не html, а именно в контейнере <script>.
WingedFox wrote:
Как вариант, можно передавать на клиент массив реально сортируемого контента, но это тянет на реальное извращение.
Данные посылать, хранить и т.д. в формате наиболее пригодном для машинной обработки. Но это уже оффтопик.
WingedFox wrote:
В качестве другого примера: $20,5
Да, я вижи в данном контексте Вы правы )) В принципе, для других языков это нормальная ситуация, писать compare для новых типов (или переопределять такой метод у абстрактного класса с которым работает sort), но хотелось использовать преимущества javascript, и сэкономить на писанине ))
WingedFox wrote:
Да, возможно выравнивать строки и не понадобится. Но это надо очень отдельно продумать.
Это все очень просто -- как только обнаружено, что строки не равны -- сравнение заканчивается. Но продумать надо, как минимум особенности инвертирования.
WingedFox wrote:
Кроме \x00, т.к. в IE он нелегален в строках.
Спасибо, я смутно это чувствовал, теперь буду отчетливо знать :-)
Back to top
View user's profile Send private message
WingedFox
Профессионал



Joined: 29 Apr 2003
Posts: 4064
Карма: 269
   поощрить/наказать

Location: Питер

PostPosted: Mon Jun 25, 2007 8:18 pm (спустя 4 дня 6 часов 29 минут; написано за 56 секунд)
   Post subject:
Reply with quote

На предмет "пощупать" выложил прототип сортировщика, прекрасно себя чувствует на 2000 строк в таблице.
hххp://debugger.ru/temp/3/test.html
Back to top
View user's profile Send private message
Guest






Карма: 388
   поощрить/наказать


PostPosted: Tue Jun 26, 2007 11:16 am (спустя 14 часов 58 минут; написано за 30 секунд)
   Post subject:
Reply with quote

у меня где-то секунду уходит на сортировку по тексту. может какое кэширование приделать?
Back to top
WingedFox
Профессионал



Joined: 29 Apr 2003
Posts: 4064
Карма: 269
   поощрить/наказать

Location: Питер

PostPosted: Tue Jun 26, 2007 11:23 am (спустя 7 минут; написано за 48 секунд)
   Post subject:
Reply with quote

Guest
Ну, по сравнению с другими -- это очень даже по-божески =)))
Насчёт остальных оптимизаций -- надо смотреть
Back to top
View user's profile Send private message
Guest






Карма: 388
   поощрить/наказать


PostPosted: Wed Jun 27, 2007 3:53 am (спустя 16 часов 29 минут; написано за 34 секунды)
   Post subject:
Reply with quote

и тут мы подходим к вопросу - а так ли необходимо это делать именно на клиенте?
Back to top
WingedFox
Профессионал



Joined: 29 Apr 2003
Posts: 4064
Карма: 269
   поощрить/наказать

Location: Питер

PostPosted: Wed Jun 27, 2007 6:21 am (спустя 2 часа 27 минут; написано за 48 секунд)
   Post subject:
Reply with quote

Guest
Нет, не подходим. Кому это делать нужно -- тот и ищет решения. Ну или пишет их сам.
Back to top
View user's profile Send private message
Denis Usenko
Участник форума



Joined: 06 Feb 2006
Posts: 54
Карма: 13
   поощрить/наказать


PostPosted: Thu Jun 28, 2007 1:40 am (спустя 19 часов 18 минут; написано за 4 минуты 15 секунд)
   Post subject:
Reply with quote

Гость wrote:
и тут мы подходим к вопросу - а так ли необходимо это делать именно на клиенте?
это очень нужно делать на клиенте. потому как перекачивать заново такой объем данных ради сортировки по другому столбцу, кхм, как-то не очень )). И это очень хорошее подспорье для всяких cms, работающих через ajax и выводящих те или иные табличные данные.
Back to top
View user's profile Send private message
Guest






Карма: 388
   поощрить/наказать


PostPosted: Thu Jun 28, 2007 11:58 am (спустя 10 часов 18 минут; написано за 26 секунд)
   Post subject:
Reply with quote

а тут мы подходим к вопросу - а стоит ли выдавать пользователю сразу такой объём данных?
Back to top
WingedFox
Профессионал



Joined: 29 Apr 2003
Posts: 4064
Карма: 269
   поощрить/наказать

Location: Питер

PostPosted: Thu Jun 28, 2007 12:10 pm (спустя 11 минут; написано за 1 минуту 10 секунд)
   Post subject:
Reply with quote

Guest
А Вы попробуйте предложить ответы, как Вы их видите.

Я же, со своей стороны, буду разрабатывать именно то, что сам считаю нужным и что согласовано с заказчиком. 8*)
Back to top
View user's profile Send private message
Denis Usenko
Участник форума



Joined: 06 Feb 2006
Posts: 54
Карма: 13
   поощрить/наказать


PostPosted: Sat Jun 30, 2007 8:51 pm (спустя 2 дня 8 часов 41 минуту; написано за 4 минуты 13 секунд)
   Post subject:
Reply with quote

Гость wrote:
а тут мы подходим к вопросу - а стоит ли выдавать пользователю сразу такой объём данных?
В панели управления сайтом, к примеру, есть простой файловый менеджер. Я зашел в некий каталог в котором -- о ужас -- тыща файлов. Это плохо что я могу сортировать их как хочу за приемлемое время и не прибегая к помощи сервера, или тут мы "подходим к вопросу -- а стоит ли заходить в каталог в котором тыща файлов?" ? )))
Back to top
View user's profile Send private message
Guest






Карма: 388
   поощрить/наказать


PostPosted: Sun Jul 01, 2007 2:15 pm (спустя 17 часов 24 минуты; написано за 2 минуты 57 секунд)
   Post subject:
Reply with quote

да, именно к этому вопросу мы и подходим.
1000 файлов - это смешная цифра. в ином каталоге может быть и 10000 файлов. это ж страничка получится под метр размером и с такой охрененной прокруткой, что у тебя начисто отпадёт желание такой список проматывать.
и тут мы подходим к вопросу о фильтрации. посмотрите как на этом форуме сделан поиск на главной странице и поймёте к чему я клоню.
Back to top
WingedFox
Профессионал



Joined: 29 Apr 2003
Posts: 4064
Карма: 269
   поощрить/наказать

Location: Питер

PostPosted: Sun Jul 01, 2007 3:08 pm (спустя 52 минуты; написано за 1 минуту 39 секунд)
   Post subject:
Reply with quote

Guest
Вы потихоньку подходите к ментальному анонизму.

Эта тема посвящена решению вполне конкретной задачи. Всё остальное клоните, пожалуйста, где-нибудь в другом месте.
Back to top
View user's profile Send private message
Denis Usenko
Участник форума



Joined: 06 Feb 2006
Posts: 54
Карма: 13
   поощрить/наказать


PostPosted: Mon Jul 02, 2007 1:12 am (спустя 10 часов 4 минуты; написано за 5 минут 8 секунд)
   Post subject:
Reply with quote

Гость wrote:
10000
Не буду с Вами спорить )). Скажу лишь, что любой подход не исключает полезности быстрой кастомной сортировки на клиенте. А десять тысяч файлов будут тормозить и в тоталкомандере, и тоже из-за необходимости отсортировать их все даже перед выводом первой сотни.
Back to top
View user's profile Send private message
Guest






Карма: 388
   поощрить/наказать


PostPosted: Wed Jul 04, 2007 8:12 am (спустя 2 дня 7 часов 33 секунды; написано за 1 минуту 27 секунд)
   Post subject:
Reply with quote

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

ps: и 10000 файлов в тотале не тормозит...
Back to top
Denis Usenko
Участник форума



Joined: 06 Feb 2006
Posts: 54
Карма: 13
   поощрить/наказать


PostPosted: Fri Jul 06, 2007 7:10 am (спустя 1 день 22 часа 58 минут)
   Post subject:
Reply with quote

Гость wrote:
да не нужна пользователю такая сортировка, которая выдаёт гигантский список пусть и упорядоченных данных. пользователю как раз нужна нормальная фильтрация, которую некоторые от лени пытаются заменить сортировкой...
Я пользователь -- мне не нужна фильтрация, мне нужна сортировка )) Ну так нельзя, чем вам не приглянулась идея WingedFox'а ? Ведь речь о еще одной оптимизации, которую можно использовать (или нет) наряду с другими. Кроме того возможно это будет универсальный множественный (приоритетный или как это называется правильно?) сортировщик.
Насчет скорости -- аякс запрос ведь тоже не мгновенно сработает.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic All times are GMT + 3 Hours
Goto page 1, 2  Next
Page 1 of 2    Email to a Friend.
You cannot post new topics in this forum. You cannot reply to topics in this forum. You cannot edit your posts in this forum. You cannot delete your posts in this forum. You cannot vote in polls in this forum. You cannot attach files in this forum. You can download files in this forum.
XML