Перейти к содержимому

Донат
На хостинг
ISK за переводы
до 75kk за 1000зн.
Хроники EVE
Сборник
Новичкам
Полезная информация
Фотография

64 бита должно хватить всем


  • Авторизуйтесь для ответа в теме
199 ответов в теме

#141
Delit

Delit

    Clone Grade Alpha

  • Tech III Pilots
  • Pip
  • 57 сообщений
20
  • Corp:Adeptus Gephesticus
  • Channel:Engine
  • Client:Eng

Но как это отменяет операцию поиска по этому самому индексу ??? Что такое по твоему индекс? Волшебник который по заданному числу мгновенно указывает место положение данных ?


Угу, так и есть, ну почти так :rolleyes:
  • 0

#142
Lantitudia

Lantitudia

    Clone Grade Alpha

  • Tech II Pilots
  • Pip
  • 37 сообщений
0
  • Client:Eng

Угу, так и есть, ну почти так :huh:

Вот, на пример, отсортированный индекс: 1 30 478 6666 9997 4294967296.
Дано число, которое заведомо в этом индексе есть.
Написать алгоритм возвращающий по этому числу его позицию в индексе.
Требования: производительность алгоритма не выше О(1), т.е. не зависит от N и не производит никакого "поиска" - как предполагал Yaponiz.
Должен работать для любого N. N - это количество элементов в индексе и его размерность 64-ре бита.
  • 0

#143
myst

myst

    Clone Grade Theta

  • Tech III Pilots
  • PipPipPipPip
  • 1192 сообщений
664
  • EVE Ingame:Shinah Myst
  • Corp:CEDRA
  • Client:Eng

Требования: сложность алгоритма не выше О(1), т.е. не зависит от N и не производит никакого "поиска".

Не зависит от N -- это одно, не делает никакого поиска -- это другое. См. hash table.
  • 0

#144
Lantitudia

Lantitudia

    Clone Grade Alpha

  • Tech II Pilots
  • Pip
  • 37 сообщений
0
  • Client:Eng

Не зависит от N -- это одно, не делает никакого поиска -- это другое. См. hash table.

Ты бы посмотрел на тип ключей который там приведен - и каков результат хэш-функции.

Ну хорошо. Предложи хэшь функцию которая бы позволяла искать по ключам от 64-х бит и что бы это не зависело от N.

Допустим хэшь функция отразит множество 2^64 равномерно на множество 0 - 2^M . Что бы это 2^M "указателей" можно было бы уместить в оперативе. Это означает что на каждый из 2^M придется 2^64/2^M элементов. А это будет очень много. И по каждому результату хэшь функции - снова поиск.

Конкретный алгоритм хэшь функции плиз. Что такое хешь таблица я знаю. =)
  • 0

#145
paagrio

paagrio

    Clone Grade Theta

  • Tech III Pilots
  • PipPipPipPip
  • 1067 сообщений
-28
  • EVE Ingame:NekoGeko
  • Corp:The Scope
  • Client:Eng
Сори что вытянул старый пост, но очень хотелось на него ответить.

Мне вот интересно. Выпущеная кораблем ракета и летящая к цели ведь тоже имеет свой ID. Любопытно что делает скрипт с ней.


Да, каждая выпущеная ракета имеет свой ID и мониторится в рпоцесе полета. Собственно поетому девы внесли изменения в файтер-бомберы (ссилко http://www.eveonline...a=blog&bid=809)

Not only are they drones which usually come in packs of 20 per ship but they fire missiles which all have to be tracked in the inventory and physical scene within the game.

To alleviate this, we are switching fighter bombers to use "fake missiles".


В плане скрипта ето означало, AFAIK, что на короткое время(время полета) создавался(а потом удалялся) ID ракеты, а учитывая нехватку ID над каждой ракетой выполнялся данный скрипт. Я не знаю скорострельности Ф-Б но тут просто понять что данная штуковина - корень лагогенерации. Другого пути для столь частогго вызова скрипта я не вижу.

Сообщение отредактировал paagrio: 08 November 2010 - 21:33

  • 0

#146
myst

myst

    Clone Grade Theta

  • Tech III Pilots
  • PipPipPipPip
  • 1192 сообщений
664
  • EVE Ingame:Shinah Myst
  • Corp:CEDRA
  • Client:Eng

Конкретный алгоритм хэш-функции плиз. Что такое хеш-таблица я знаю. =)

Ты просил способ поиска по ключу, который не зависит от N. Я тебе его показал.

P.S. Внеклассное чтение.
  • 0

#147
Lantitudia

Lantitudia

    Clone Grade Alpha

  • Tech II Pilots
  • Pip
  • 37 сообщений
0
  • Client:Eng

Ты просил способ поиска по ключу, который не зависит от N. Я тебе его показал.

P.S. Внеклассное чтение.

А ты сам то ссылку читал или тебе объяснить что там написано ?
  • 0

#148
Ostr0mir*Нейтрал

Ostr0mir*Нейтрал
  • Guests
Проблема в том, что нода EvE должна представлять собой вычислительную систему реального времени.

Всякий, кто считает, что Python приспособлен для написания таких систем... просто наивный человек.
  • 0

#149
Kil

Kil

    Clone Grade Zeta

  • Tech III Pilots
  • PipPipPip
  • 470 сообщений
41
  • EVE Ingame:Caldamen
  • Corp:Оффлайновый Бомж
  • Client:Eng

Всякий, кто считает, что Python приспособлен для написания таких систем... просто наивный человек.

Всякий, кто считает, что Ева написана на чистом Питоне, просто наивный человек.
Гоу учить матчасть и учиться, наконец, понимать разницу между Python и Stackless Python, а потом уже выдавать свои глубокомысленные комментарии.
  • 0
Я килмылы не помню, за меня их Конкорд записывает! (с) Vankl Jetson

#150
Slotos

Slotos

    Clone Grade Kappa

  • Tech III Pilots
  • PipPipPipPipPip
  • 2135 сообщений
349
  • EVE Ingame:Slotos
  • Corp:Unemployed
  • Client:Eng

Проблема в том, что нода EvE должна представлять собой вычислительную систему реального времени.

Да ну прямо таки система наведения, а не ММО получается. Может ещё аналоговые компьютеры посоветуете использовать?
  • 0
It's very hard to imagine
All the crazy things
That things really are like
© Richard Phillips Feynman

#151
Nonones

Nonones

    Clone Grade Eta

  • Tech III Pilots
  • PipPipPipPip
  • 540 сообщений
19
  • EVE Ingame:Nonones

Всякий, кто считает, что Python приспособлен для написания таких систем... просто наивный человек.

А ещё они убили Кенни используют MSSQL!!!

Всякий, кто считает, что Ева написана на чистом Питоне, просто наивный человек.

Есть более наивные люди, которые считают что если переписать Еву на ассемблере то лагов не будет :)

Сообщение отредактировал Nonones: 09 November 2010 - 13:54

  • 1

#152
Lantitudia

Lantitudia

    Clone Grade Alpha

  • Tech II Pilots
  • Pip
  • 37 сообщений
0
  • Client:Eng

Ты просил способ поиска по ключу, который не зависит от N. Я тебе его показал.

P.S. Внеклассное чтение.

Видимо придется ответить.

По ссылке приведены алгоритмы хэш функций, которые действительно позволяют производить поиск не зависящий по времени от количества элементов (N). Собственно, это очевидное применение хэш-таблиц - главное и самое сложное грамотно подобрать хэш-функцию.

Но есть одно но. Авторы прямо и пишут, что для индексирования баз данных с частыми добавлениями и удалениями элементов очень хорошо работают бинарные-деревья (сбалансированные, разумеется). А приведенные хэш-функции авторы рекомендуют для баз данных где множество идов либо статично (неизменно) либо редко меняется - но требуется огромная скорость доступа-поиска:

Minimal perfect hash functions are widely used for memory efficient storage and fast retrieval of items from static sets, such as words in natural languages, reserved words in programming languages or interactive systems, universal resource locations (URLs) in Web search engines, or item sets in data mining techniques. Therefore, there are applications for minimal perfect hash functions in information retrieval systems, database systems, language translation systems, electronic commerce systems, compilers, operating systems, among others.

...

Probably, the most interesting application for minimal perfect hash functions is its use as an indexing structure for databases. The most popular data structure used as an indexing structure in databases is the B+ tree. In fact, the B+ tree is very used for dynamic applications with frequent insertions and deletions of records. However, for applications with sporadic modifications and a huge number of queries the B+ tree is not the best option, because practical deployments of this structure are extremely complex, and perform poorly with very large sets of keys such as those required for the new frontiers database applications.

Очевидно БД Евы требуется очень частая вставка/удаление идов. Поэтому эти хеш-функции не применимы. А удобны бинарные-деревья (как вариант). А время поиска по бинарному дереву завист от N, оно много меньше O(N), но все же зависит.

Да и вообще, применять хэш-таблицы ко множеству int64 (множеству с заранее не известным распределением) - идея просто абсурдная еще по множеству причин. И все они сводятся к невозможности написать эффективную хэш-функцию.

Собственно, господину myst-у я рекомендую почитать книгу по базовым алгоритмам и структурам данных.
  • 0

#153
myst

myst

    Clone Grade Theta

  • Tech III Pilots
  • PipPipPipPip
  • 1192 сообщений
664
  • EVE Ingame:Shinah Myst
  • Corp:CEDRA
  • Client:Eng

Написать алгоритм, возвращающий по этому числу его позицию в индексе.

Ты просил пример. Я тебе пример привёл. Что не так?
  • 0

#154
Lantitudia

Lantitudia

    Clone Grade Alpha

  • Tech II Pilots
  • Pip
  • 37 сообщений
0
  • Client:Eng

Ты просил пример. Я тебе пример привёл. Что не так?

Да, пример просил - но пример по теме разговора, а не из совсем другой области применимости.

Разве это не очевидно ?
  • 0

#155
myst

myst

    Clone Grade Theta

  • Tech III Pilots
  • PipPipPipPip
  • 1192 сообщений
664
  • EVE Ingame:Shinah Myst
  • Corp:CEDRA
  • Client:Eng
Какой теме? Блог неточно переведён?
  • 0

#156
Ostr0mir*Нейтрал

Ostr0mir*Нейтрал
  • Guests

Всякий, кто считает, что Ева написана на чистом Питоне, просто наивный человек.
Гоу учить матчасть и учиться, наконец, понимать разницу между Python и Stackless Python, а потом уже выдавать свои глубокомысленные комментарии.


Stackless Python вместо Python? :)

Звучит как Lada Kalina Supersport вместо Lada Kalina!

Ты погугли определение "система реального времени", кое-что поймешь.


А ещё они убили Кенни используют MSSQL!!!


И это тоже :( СУБД Oracle не только мощнее и гибче MS SQL, но компания Oracle также предлагает законченную платформу: от железа до ОС и самой СУБД, чего у Microsoft никогда не было, нет и никогда не будет.

Есть более наивные люди, которые считают что если переписать Еву на ассемблере то лагов не будет :ninja:


Умные парни переписывают в своих проектах нужные кусочки кода на языках более низкого уровня и получают прирост производительности. Топай на Хабр, там об этом есть заметки.

Но ССР важно раздоить клиентов, изобразить движение и написать очередной девблог.

Да ну прямо таки система наведения, а не ММО получается. Может ещё аналоговые компьютеры посоветуете использовать?


Ввиду особенностей Евы, нода должна удовлетворять этому требованию.

Сообщение отредактировал Ostr0mir: 09 November 2010 - 22:01

  • 0

#157
Lantitudia

Lantitudia

    Clone Grade Alpha

  • Tech II Pilots
  • Pip
  • 37 сообщений
0
  • Client:Eng

Какой теме? Блог неточно переведён?

По теме применимости тех или иных алгоритмов оптимизации поиска в случае БД Евы.

Ты привел алгоритмы оптимизации поиска применимые к БД в которых вставка/удаления достаточно редки. Это явно не случай Евы.

Т.е. ты выразился не по теме.

Ты специально из себя дурачка строишь?
  • 0

#158
Nonones

Nonones

    Clone Grade Eta

  • Tech III Pilots
  • PipPipPipPip
  • 540 сообщений
19
  • EVE Ingame:Nonones

И это тоже :) СУБД Oracle не только мощнее и гибче MS SQL, но компания Oracle также предлагает законченную платформу: от железа до ОС и самой СУБД, чего у Microsoft никогда не было, нет и никогда не будет.

Ещё один администратор баз данных по переписке :(
Ну расскажите чем Оракл лучше MSSQL. Я с удовольствием послушаю.
  • 0

#159
Ostr0mir*Нейтрал

Ostr0mir*Нейтрал
  • Guests

Ещё один администратор баз данных по переписке :(
Ну расскажите чем Оракл лучше MSSQL. Я с удовольствием послушаю.


Ты умеешь читать мои белые буквы на черном фоне? :)

Я все сказал. Если не дошло — выдвигай претензии к самому себе.
  • 0

#160
Telsa GirlII

Telsa GirlII

    Clone Grade Epsilon

  • Tech III Pilots
  • PipPipPip
  • 264 сообщений
8
  • EVE Ingame:Tesla GirlII
  • Corp:NPC
  • Ally:нет
  • Client:Eng
Напиши свою EVE с блэкджеком и шлюхами на C++ и Oracle! Делов-то!
  • 0




1 посетителей читают тему

0 members, 1 guests, 0 anonymous users