"PHP" / Говнокод #5213 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
  29. 29
  30. 30
  31. 31
  32. 32
  33. 33
  34. 34
  35. 35
  36. 36
  37. 37
  38. 38
  39. 39
  40. 40
  41. 41
  42. 42
  43. 43
  44. 44
  45. 45
  46. 46
  47. 47
  48. 48
  49. 49
  50. 50
  51. 51
  52. 52
  53. 53
  54. 54
  55. 55
  56. 56
  57. 57
  58. 58
  59. 59
  60. 60
  61. 61
  62. 62
  63. 63
  64. 64
  65. 65
  66. 66
  67. 67
  68. 68
  69. 69
<?php
 include '/system/config_bd.php'; // соединение с базой
 
class pagination_start {
public $page;
public $CountListPage=10; 
public $sql="SELECT * FROM `news`";
public $start;
public $limit;
public $ires;
 
public function page_settings() {
$this->page_get();
$this->start=($this->page-1)*$this->CountListPage; 
$this->limit=" LIMIT $this->start,$this->CountListPage";
$this->ires=mysql_query($this->sql.$this->limit);
}
 
public function page_get() {
if(empty($_GET['page'])){$this->page=1;} 
else {$this->page=$_GET['page'];} 
}
}
 
class pagination_end extends pagination_start{
public $link_interval;
public $i;
public $sp;
 
public function pagination($class_all,$class_once) {
 $link_page = '';
 $this->page_get();
 $count=mysql_num_rows(mysql_query($this->sql)); 
 if($count>$this->CountListPage){ 
$CountList=ceil($count/$this->CountListPage); 
 if($this->page > 3 && $CountList > 5){echo '<span class="'.$class_all.'"><a href="?page=1'.$this->link_interval.'">1</a></span><span class="'.$class_all.'">...</span>';} 
if($this->page > 3 && $CountList > 5){$this->sp=$this->page-2;}else{$this->sp=1;} 
if($this->page > $CountList-3 && $CountList > 5){$this->sp=$CountList-4; } 
if($CountList>5)$cpc=5;else $cpc=$CountList; 
for($this->i=$this->sp;$this->i<$this->sp+$cpc;$this->i++){ 
 
if($this->i == $this->page){  printf ('<span class="'.$class_once.'">%s</span>',$this->i); }
else{ $suit=$this->link_interval.$this->i; 
$links_cent = '<span class="'.$class_all.'"><a href="?page='.$suit.'">'.$this->i.'</a></span>';
 echo $links_cent;  } } 
$suit=$this->link_interval."?page=".$CountList.""; 
if($this->page<=$CountList-3 and $CountList>5){echo '<span class="'.$class_all.'">...</span>  <span class="'.$class_all.'"><a href="'.$suit.'">'.$CountList.'</a></span> ';} }
}
}

$CountListPage = 5;   // Сколько объектов отображать на странице # по умолчанию 10
$sql="SELECT * FROM `news` ";  // SQL запрос # по умолчанию "SELECT * FROM `news`"
$class_all='page_all'; // Css класс всех страниц кроме текущей
$class_once='class_once'; // Css класс всех страниц кроме текущей

/* Формирование страниц и sql запрос */
$pagination = new pagination_start();
$pagination->CountListPage = $CountListPage;
$pagination->sql = $sql;
$pagination->page_settings();
while($ires_result=mysql_fetch_array($pagination->ires))
{
echo $ires_result['id']."<br/>";
} 
/* Пагенирование */
$pagination_end = new pagination_end();
$pagination_end->CountListPage = $CountListPage;
$pagination_end->sql = $sql;
$pagination_end->pagination($class_all,$class_once); // От css клас от 2 страници до предпоследней

Запостил: qbasic qbasic, (Updated )

Комментарии (238) RSS

  • Ниасилел. Большой код - не признак говнокода. А то повадились тут выкладывать килобайтами
    Ответить
    • >Большой код - не признак говнокода.
      а признак большого говнокода

      но оформление, конечно, динамично-петушковое, это да.
      Ответить
  • Я вижу комментарии в которых говорится- да да говнокод говнокод, но никто не сказал чем это говнокод ? Я автор данного кода, мне реально интересно стало, почему идеально работающая пагинация - говнокод?
    Ответить
    • > идеально работающая пагинация
      пагенирование же, класа страници
      Ответить
    • >Я автор данного кода
      даже так? лучше бы просто трололо оказался..

      >идеально работающая пагинация - говнокод
      bwahaha =) золотце, это типичное неструктурированное пхп-говно, вобравшее в себя все антипаттерны.
      Ответить
      • >> пхп --- говно, вобравшее в себя все антипаттерны.

        вот да
        Ответить
    • И что ещё бросилось в глаза - смешаны CamelCase и under_score
      Ответить
    • Говнокод буквально в каждой строчке, чувак
      Ответить
  • ну а до сих пор на проблему кода никто не указал.
    Ответить
    • >проблему
      оптимистично

      проблема в том, что всем, буквально, впадлу повторять одно и тоже 1516 раз для каждого новоиспеченного динамического петушка. вытирай слезки и читай весь раздел /php/
      Ответить
    • что мне не нравится но это ИМХО
      Классика пхпешного говнеца
      - Скульные запросы размазаны по коду класса.
      - намешаны логика и представление

      далее особенности
      что сие означает ???
      $class_all='page_all'; // Css класс всех страниц кроме текущей
      $class_once='class_once'; // Css класс всех страниц кроме текущей

      не mysql_fetch_array а mysql_fetch_assoc на куя 2 массива если пользуешь только 1

      Да и вообще зачем пагинатору знание о базе ????

      архитектура пагинатра должна быть такая

      $max_item=5;
      $count_item=count($rows);
      $paginator= new paginator($count_item,$max_item);
      $paginator->write();
      Ответить
      • $class_all='page_all'; // Css класс всех страниц кроме текущей
        $class_once='class_once'; // Css класс всех страниц кроме текущей

        Это я передаю цсс классы, что бы можно было оформить пагинацию как душе угодно
        Ответить
        • а вам не кажется, что для оформления как душе угодно, одних ксс классов маловато?
          и все равно, каша получается
          Ответить
      • а мне казалось что такая:
        $p=new Paging($first,$last);
        $p->getCurrent();
        $p->first();
        $p->last();
        $p->prev();
        $p->next();

        и никакого html
        Ответить
            • А может быть, лучше кана-капчу? Катакану и хирагану я хотя бы смогу подсмотреть в Википедии.
              Ответить
              • Можно ещё говнорекапчу: "выберите все картинки, на которых есть С++"
                Ответить
                  • Обычная рекапча используется для распознавания образов пользователями, а мы будем использовать капчу с кусками кода для статического анализа и поиска уязвимостей. Пофлудил вечером -- улучшил опенсорс.
                    Ответить
                        • пивасы такие няшечки

                          люблю читать их отчеты о том как в виртуал боксе и ядре линукса нашли тупейшие баги-опечатки
                          Ответить
                          • > люблю читать их отчеты о том как в виртуал боксе и ядре линукса нашли тупейшие баги-опечатки
                            Няшечками они были бы, если бы они ещё научились багрепорты нормальные писать, а не спамить ссылками.
                            Ответить
                            • А что именно они дают командам проверяемых проектов?
                              Ответить
                              • Лень искать пруфлинки, но это выглядит как "мы нашли баги в вашем продукте, но вам их не покажем, пройдите по ссылке".
                                Ответить
                                • А, знаю
                                  У меня на некоторых сайтах такие окошки выскакивают

                                  Внимание!
                                  В Вашем компьютере обнаружен вирус
                                  [исправить бесплатно без регистрации и СМС]
                                  Ответить
                                  • Раньше они показывали там реалистичное сканирование System32 с прогрессбаром...
                                    Ответить
                                    • Многоточие? Вы чем-то расстроены, или обеспокоены? Кажется, у Вас насморк.
                                      Не с Дмитрием Аналотольевичем ли катались на лыжах?
                                      Ответить
                                    • до сих пор показывают
                                      особенно круто когда зашел на сайт с андроидного устройства
                                      Ответить
                              • Кстати, а жетбрейнс
                                как соотносяца R# for C++ и CLion инспекции к пивасу?

                                и почему у Романа нет виртуалбокса? Винду на виртуалбокс школьнкии 16-ти летние умеют ставить
                                Ответить
                                • > и почему до сих пор нет пиваса под линукс?
                                  > и почему у Романа нет виртуалбокса?

                                  Посту четыре года, вроде уже и под линукс версия есть. Да и тогда вроде у мелкософта не было бесплатных виртуалок для тестов. Малварь с торрентов качайте сами.
                                  Ответить
                                  • у MS есть тридцатидневные триалки, во всяком случае для серверов

                                    Я уже понял что пивас есть под линукс
                                    Было бы странно еслиб не было

                                    Надо оче сильно упопорца чтобы сделать код парсера или анализатора виндозависимым
                                    Ответить
                                    • > у MS есть тридцатидневные триалки, во всяком случае для серверов


                                      Я знаю, что они есть. Я не уверен, были ли они 4 года назад.

                                      > Было бы странно еслиб не было

                                      Её официально релизнули всего где-то полгода назад.
                                      https://habrahabr.ru/company/pvs-studio/blog/313498/
                                      Ответить
                            • Ну и что?

                              мне нравится когда в моем коде находят хуиту вроде

                              unsigned int foo();
                              /////////

                              if (! foo()) {
                              ///
                              }
                              Ответить
                            • Ты не сравнивал инспекции силайна или шланга (Clang Static Analyzer)
                              с пивасой?
                              Ответить
                  • Ты не сравнивал инспекции силайна или шланга (Clang Static Analyzer)
                    с пивасой?
                    Ответить
  • > идеально работающая пагинация

    ржал до слез....)))))))))))))) спасибо

    обычно это значит, что идеально работает она до первых изменений, а потом система сыпется как карточный домик, и немало времени уходит на согласование всех измененных частей друг с другом
    Ответить
  • А что там еще добавлять? У вас есть постраничный вывод вида:

    1 ... 7 [8] 9 ... 546 - к примеру 8 текущая страница. Передаете 2 css класса и задаете любой вид начиная от

    1 ... [8] ... 546 заканчивая
    Какой то та jquery фишкой.

    Я вообще не понял сути гавнокода, если он работает и работает как нужно, где говно проявляется ?
    Ответить
  • вот чисто интересно, чем они будут отличаться. Вот мне реально интересно вникнуть в ваши мысли и отделить говно от "неговно"

    Я писал проекты с подобной пагинацией, только она была без классов. Применял к следующим вещам:

    Юзеры
    Новости
    Комментарии
    Статьи
    Материал
    Да все что угодно, все действия происходят в цикле

    while($ires_result=mysql_fetch_array($pa gination->ires))
    {
    echo $ires_result['id']."<br/>";
    }

    Формируете нужный sql запрос и все, в данном примере просто сформирован запрос в табличку news и для примера я вывел в столбик все id (сугубо для вида)

    Обычно в цикл я засовываю шаблонизатор, а уже в .tpl файлах лежит дизайн материала скажем.
    Ответить
  • Это да, согласен она рассчитана только на базу. Но в кастрюле тоже картошку не жарят)
    Ответить
        • Ну как ты жил эти шесть лет? Программировать научился?
          Ответить
        • Почему это неактуальный? Ты что ли стал серьезным программистом, и забросил свой пхп?
          Ответить
          • Скорее просто походил по граблям и набрался опыта... И теперь ему и самому смешно глядеть на этот код.
            Ответить
            • ну да, теперь он вместо mysql юзает mysqli как минимум
              Ответить
            • А что делать, 6 лет назад не было столько информации, сколько есть сейчас, а то, что было явно продемонстрировано выше. На тот момент это было мной скопировано и жило по принципу "Это-же работает...".

              Ну и в начале своего пути я стал жертвой Попова.
              Ответить
          • php я не забрасывал. По поводу программиста скажу, что скорее стал серьезным web-разработчиком.
            Ответить
            • > стал серьезным web-разработчиком

              Кстати, а как померить серьёзность web-разработчика?
              Ответить
              • хороший вопрос.
                Наверное уровнем уважения и доверия окружающих коллег, клиентов и/или руководства умноженное на свою ответственность. Получим условный коэффициент серьезности. Ну это скорее так, коэффициент.
                Ответить
                  • Я не пишу в данный момент open source проектов, а занимаюсь закрытой разработкой приватного API. Поэтому не могу продемонстрировать свой код.

                    Хочу поинтересоваться откуда такое проявление интереса к развитию моей личности ?

                    Если "чисто спортивный интерес", то можем подискутировать в личной переписке.
                    Ответить
                    • Это же говнокод. Чужой код тут просят только с одно целью. Угадайте с какой
                      Ответить
                      • Честно говоря, где бы я не был с какими крутыми спецами не общался, говно код есть везде.
                        И как я понял, ковногод (если рассматривать на уровне функций или методов) не так плохо, как говноархитектура.

                        А в наше время когда идет работа под бизнес, где иногда скорость в разы важнее качества, то далеко не каждая компания может позволить с десяток сеньеров и DDD.
                        Ответить
              • Открываешь проект серьёзного веб-разраба и, ахая, говоришь "Серьёзно...", схватившись за бороду и с серьёзным видом кивая. Это тебе не весёлые хихиханьки и шутеечки над ГК.
                Ответить
              • У вебпрограммисте нет серьезности. Скорее сурьезность
                Ответить
            • --вы стали программистом?
              --скорее, я стал веб-разработчиком
              Ответить
              • Программист - для меня это весьма сильное слово. Например тот, кто знает математику, физику, алгоритмы, для кого язык программирования не имеет значения и еще много критериев.
                Ответить
                • > физику
                  > язык программирования не имеет значения
                  Олололо. И на хуе дудец, и на яйцах игрец.
                  Ответить
                      • Дурак, ты как?

                        на самом деле ты зря доебался до nepster. Ты знаешь, я последний человек в мире, кто будет соглашаться с ПХПшником, но тут он на 80% прав.
                        Ответить
                        • Я не представляю, как язык программирования может не иметь значения, если человеку не плевать на свою работу и на программирование вообще.
                          Ответить
                          • Может быть, он программистами называет тех, кто знает много языков программирования, либо тех, кому нетрудно выучить новый язык, так что вопрос, на каком языке писать, не имеет особого значения?
                            Ответить
                          • Если ты умеешь в алгоритмы и структуры данных, понимаешь как работает компилятор и как выполняет твою программу процессор, как управлять памятью, как профилировать (целая наука!) и дебажить свою программу. умеешь в красивую архитектуру и паттерны (в хорошем смысле), умеешь рефакторинг, юниттесты, CI, то совершенно не важно пишешь ты на Java или на C# или C. Тебя можно переучить на другой язык (ну кроме C++ конечно, это отдельная песня).

                            Понимание каких-нить ADT куда важнее синтаксиса и стандартной либы конкретного ЯП: ее всегда можно посмотреть в референсе
                            Ответить
                            • Ой, все. Если тебе одинаково программируется на сишочке и напитоне, то ты молодец, а я умываю руки.
                              Ответить
                              • Не одинаково совершенно. Разные языки для разных задач.
                                Ответить
                          • Тот, для кого язык программирования имеет значение, ценен до тех пор, пока ему на замену не придёт человек, умеющий думать.
                            Ответить
                          • Матапушто пишут не на ЯП а на технологии (питон+джанго или жава+hibernate и прочая поебень). Один на другой легко не поменять.
                            Ответить
                • Ну физика в этом списке может быть и лишняя, а в остальном согласен
                  Ответить
                  • Думаю для разработчиков игр физика не будет лишней.
                    Ответить
                    • Это предметная область.

                      А для разработчиков тулзов для игр на бирже будет не лишним понимание бинарных опционов, но больше оно никому не надо
                      Ответить
                    • Я игры не писал, но думаю, физика создателю игр нужна не больше, чем анатомия тому, кто хочет найти много друзей-людей. Я о том, что в играх рассматривается не само физическое явление, а его модель, которая (а) должна только выглядеть как это явление и (б) должна крайне быстро считаться. Соответственно, во главу угла встают рецепты создания реалистичного приближения. Т.е. скорее всего разные хаки и математические алгоритмы. А более-менее "настоящая" физика скорее всего вшита в специальные библиотеки и движки, и чтобы реализовать её оптимальней, придётся сильно попотеть и выйти за рамки разработки игр.
                      Ответить
                      • Чтобы пользоваться этими движками и библиотеками все равно надо физику знать. Может на чуть меньшем уровне чем создателю движка, но совсем без знания дальше туториала не уйти. Ну и "рецепты создания реалистичного приближения" тоже напрямую с физикой связаны, в физике как бы приближения и рассматриваются, напрямую через уравнения волновой функции никто не считает.
                        Ответить
                        • > физику знать
                          Где-то на баше была цитата, что-то вроде:
                          Я весь из себя программист записался на пары по информатике к гуманитариям. Прихожу, а там преподавательница спрашивает
                          -- Какие языки программирования вы знаете?
                          Когда меня спросили, честно сказал, что знаю C, Java и python.
                          -- Что так мало? - спросила преподавательница, - Джвойку вам!
                          И тут девочка гуманитарий тянет руку:
                          -- Pascal, C, C++, Java, Haskell, Brainfuck, Lua, Vala, ...
                          Я аж прихренел от такого. Гуманитарий, а знает пяднадцать языков!
                          Прихожу на пересдачу, в ходе разговора узнаю, что же подразумевалось под "знаете". Тут уж преподавательница прихренела, а мы под столом ржали всей маршруткой.
                          Ответить
                  • Дреппер свою восхитительную статью про устройство памяти начинает с разбора принципов работы триггеров.
                    Ответить
                      • Опять про PHP, грязный язычник?

                        Не нужно ругать язык и напоказ отстраняться. Надо набраться смелости и признаться. Друзьям, коллегам, родственникам, а главное - себе самому. Плюнуть на мнения других, построенные на том, что сказали в подворотне; ощутить свободу самовыражения; поверить в себя, принять себя таким, какой есть.
                        Зачем поддакивать стереотипам, если язык подходит под задачу, кормит всю твою семью и, откровенно говоря, сильно нравится? Надо встать на табуретку и громко сказать: "Здравствуйте, я - Борманд, и я - пхпшник!"

                        Вообще, пхпшники специально ругают свой язык, чтобы у них конкурентов меньше было. Язык удачен как по порогу вхождения и простоте, так и по скорости разработки и получения прибыли.
                        Давайте распиарим PHP, пусть жирующие пхпрограммисты переходят на Haskell!
                        Ответить
                      • Принцип Юма: "Из того, как оно есть, не следует, как оно должно быть."
                        Ответить
                    • Ващет триггеры в памяти тока в кеше и в сенс амплифаерс

                      В драм тока кондер и транзистер
                      Ответить
                        • оперативная память не бывает SRAM обычно
                          Она или DRAM, или (в очень редких случаях) NOR Flash

                          SRAM это круто и быстро и рефрешить не нужно, но оче дорого
                          слишком много транзисторов на бит
                          Ответить
                          • > не бывает SRAM обычно
                            Он же про микроконтроллеры. А там только стыд и срам.

                            > слишком много транзисторов на бит
                            Там ещё "проводов" дохуя - питание на каждую ячейку, джва битлайна... Плотность вообще никакая выходит, да.

                            > NOR Flash
                            > Flash
                            В качестве оперативной памяти? Пруф в студию!
                            Ответить
                            • http://core.spansion.com/xip-on-nor-flash-meet-your-microcontrollers-main-memory/#.WKsse1V96rc

                              ps: борманд, ты же понимаешь что от оперативной памяти нужно чтобы
                              1) адресовался бит
                              2) можно было сделать в нее/из нее mov в регистр (тоесть чтобы она была подключена к одной шыне с цпу)

                              Можно хоть дискету с буфером в качестве RAM юзать. Ну будет у тебя OS 4 года грузится, но не в этом же суть
                              Ответить
                              • > xip-on-nor-flash
                                Дык тут просто код с флешки исполняют код, не копируя в оперативку. Никто туда не пишет. Все мелкие контроллеры так умеют, это не считается чем-то крутым, да и не от хорошей жизни делается...

                                > в нее
                                Где тут обещают, что я могу делать mov в неё и не убить её нахуй через пару дней?
                                Ответить
                              • > не в этом же суть
                                Ну ахуеть теперь. Назвать дискету/диск/флеш RAM - это сильный ход.

                                Я даже не знаю, чем такую карту крыть...

                                Если я скажу, что нужно "почти постоянное и одинаковое время доступа к любому участку", то ты возьмёшь и тупо задержек напихаешь на свою дискету, чтобы любой байт на ней за большое (но одинаковое) время читался и писался.

                                И даже магнитная лента - это RAM.

                                И даже флэш перфолента - всего то надо успевать её переписывать на новую. И добавить время этой перезаписи ко времени доступа. Но кого это ебут эти мелочи?
                                Ответить
                                • >>почти постоянное и одинаковое время доступа к любому участк
                                  у DRAM оно совсем не всегда одинаковое. Ты что, Касперски не читал?

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

                                  >>лента
                                  Алан Тюринг так и говорил

                                  Борманд, давай по-начному. Дай мне определение оперативной памяти
                                  Ответить
                                  • > Дай мне определение оперативной памяти
                                    Не дам. SDRAM под него один хер не подойдёт, как ты уже написал выше. Она больше на блочное устройство похожа, просто быстрая ;(

                                    З.Ы. А вот старая асинхронная DRAM всё-таки ближе была к памяти с произвольным доступом...
                                    Ответить
                                    • Ну а чего тогда ты так разъмоционировался? Линейка кеша + контроллер RAM + сам DRAM = оперативнка

                                      А линейка кеша + контроллер FLASH + NOR FLASH чем не оперативка?
                                      Ответить
                                      • > FLASH
                                        Сдохнет быстро.

                                        > NOR
                                        Стоит дорого.

                                        Тогда уж NAND лепи в свою оперативку, чо. И контроллер как в SSD, чтобы флешку равномерно дрочил.
                                        Ответить
                                        • >>Сдохнет быстро.
                                          как быстро?

                                          >>NAND
                                          Ой нет, NAND это слишком уж блочно. NOR же можно побайтово писать, в NAND нельзя.
                                          Хотя при ОЧЕ УМНОМ контроллере с хорошим буфером это не проблема.
                                          Ответить
                                    • >>З.Ы. А вот старая асинхронная DRAM всё-таки ближе была к памяти с произвольным доступом...

                                      если совсем буквоёбствовать то никогда доступ не был произвольным. Все равно стучаться в открытую страницу и в закрытую это не одинаково
                                      Ответить
                                      • Борманд опять пробует в раздвоение личности, сидит под багром?..
                                        Ответить
                                      • > как быстро?
                                        100к где-то. Для RAM это пиздец как мало. Хотя ОЧЕ УМНЫЙ контроллер, конечно, будет ремапать страницы и размазывать всё равномерно.

                                        > NOR же можно побайтово писать
                                        Один раз, ага 🙂 0xFF -> 0xFE -> 0xFD... ой, а почему-то 0xFC получилось... Придётся всю страницу тереть.

                                        > в открытую страницу и в закрытую это не одинаково
                                        Даже на первых x86, емнип, ещё не парились по этому поводу - тупо RAS/CAS по кругу гоняли...
                                        Ответить
                                        • >>100к где-то. Для RAM это пиздец как мало

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

                                          >>Один раз, ага 🙂 0xFF -> 0xFE -> 0xFD...
                                          ну да, во флеше тереть надо всю страницу, ну так в DRAM вообще рефрешиться надо. И чтение страницы всю ее разрешает.

                                          >> ещё не парились по этому поводу - тупо RAS/CAS по кругу
                                          всмысле всегда открывали страницу и ждали?
                                          лол)
                                          Ответить
                                          • > всмысле всегда открывали страницу и ждали?
                                            To keep to a minimum the number of pins on a RAM chip, a chip address is broken into two parts: the column and the row address. With standard DRAM, these must be presented to the DRAM chip in sequence.

                                            A different kind of DRAM chip, referred to as "page-mode" or "static-column" RAM, lets the designer skip sending out part of the address much of the time. This shortens the read/write time tremendously. The supporting logic is more complex, howewer. The speedup is enough to allow the Compaq Deskpro 386/16 to access RAM with no wait states in the best case, two wait states in the worst.


                                            Нагуглилось в журнальчике за 87 год.
                                            Ответить
                                            • окей, принято
                                              значит, до FAGE MODE DRAM они не умели получать бенефит от открытой страницы
                                              Ответить
                                              • > не умели получать бенефит от открытой страницы
                                                Да его и не было, походу. Частоты то совсем смешные по нынешним меркам.

                                                А вот на 386 уже пришлось и про кэш задуматься и про саму DRAM.
                                                Ответить
                                                • и про раздельные шины еще

                                                  в классической писе же одна шина была, и сидели на ней все: от контроллера памяти, до биоса и контроллера флоппи
                                                  Ответить
                                              • Забавно, что странички в DRAM с тех пор всего раза в 3 быстрее стали переключаться 😉
                                                Ответить
                                                • Как ты сравниваешь асинхронную (измряемую в ms) и синхронную (измряемую в тактах) скорость?

                                                  Ну кроме того мы научились открывать сразу много страничек во всем ранге, чередовать их (многоканальность) итд
                                                  Ответить
                                                  • По секрету - тайминги в даташитах до сих пор пишут в наносекундах и без всяких там округлений. Округлённые на такты - для удобства юзеров.

                                                    Ну вот скрывать эту латенси научились, да. Но почти не уменьшили. Замели под ковёр, так сказать 😉
                                                    Ответить
                                                    • ну нифига себе для удобства!

                                                      а в SPD что пишут? Контроллер разве не в тактах высчитывает сколько там ему CAS какой-нить ждать?

                                                      Латенси скрыли длинной линейкой кеша и постоянным префетчем
                                                      Ответить
                                                      • Ага, и подпиливанием задач под это прокрустово ложе. Вспомни, как все дрочат на размеры кэша, кэшлайна, локальность и т.п. когда приходится реально работать с памятью.

                                                        > SPD
                                                        Х.з. Скорее всего такты под набор частот. Погугли, плиз, мне тоже интересно, я просто не за компом.
                                                        Ответить
                                                        • мля, вот каналья!

                                                          Minimum RAS to CAS delay -- Nanoseconds

                                                          Всё, мой мир рухнул.
                                                          Ответить
                                                          • Лол, серьёзно наносекунды? 😉

                                                            Ну оно и понятно - по наносекундам ты всегда можешь посчитать сколько тактов ждать при выбранной частоте (даже нестандартной). А наоборот - нет.
                                                            Ответить
  • "$CountListPage = 5; // Сколько объектов отображать на странице # по умолчанию 10"
    5 == 10 хулепхп.
    Ответить

Добавить комментарий

Семь раз отмерь — один отрежь, guest!

    А не использовать ли нам bbcode?


    8