[07:59:04] <vlad3> valexey: читал ссылку на зоркинском сайте? http://sealedabstract.com/rants/why-mobile-web-apps-are-slow/
[07:59:16] <vlad3> Много клевет?
[08:12:29] <geniepro> ну, давно изместно что арм тормоз, ничего удивительного
[08:12:57] <geniepro> вапще, на подобных мобильных девайсах нет места интерпретируемым языкам
[08:13:19] <geniepro> даже джит-компилируемым там не место
[08:14:22] <vlad3> Не, не браузится на айпадах нормально.ю
[08:16:02] <vlad3> ну браузится
[08:18:32] <geniepro> флеша на iOS сколько лет не было? потому что тормоз
[08:50:24] <geniepro> http://v8.googlecode.com/svn/branches/bleeding_edge/benchmarks/spinning-balls/index.html
Opera 12.16
8000/320 22(max = 245) ms 2698 frames Score 27
Iron 31.0.1700.0 (236000)
8000/320 16(max = 47) ms 4214 frames Score 152
IE 11.0.9600
8000/320 16(max = 51) ms 4401 frames Score 152
[08:50:46] <geniepro> правда в опере у меня куча вкладок открыто, не хочется их закрывать
[11:11:05] <geniepro> http://www.odnako.org/blogs/zhiraf-marius-i-zloveshchie-perspektivi-novoy-evropi/
"... еще в одном датском зоопарке собираются публично умертвить жирафа. По странном и жуткому совпадению его тоже зовут Мариус..."
[11:29:09] <Kemet> vlad2: а еберон энтот одним готовым скриптом скачать можно?
[12:21:44] <alexey.veselovsky> vlad3: это полугодовой баян
[12:21:56] <alexey.veselovsky> причем то же что про js, то и про оберон там применимо :-)
[12:22:02] <alexey.veselovsky> http://habrahabr.ru/post/188580/
[12:22:06] <alexey.veselovsky> :-)
[12:23:35] <alexey.veselovsky> “Если у вас из этой статьи в голове останется что-то одно, пусть это будет этот слайд. Ось Y — это время, потраченное на сборку мусора. Ось X — это «относительный расход памяти». Относительный к чему? К минимальному требуемому размеру памяти.
Вот то, что этот слайд нам хочет сказать: «Пока у тебя в 6 раз больше памяти, чем нужно на самом деле, ты — в шоколаде. Но горе тебе, если опустишься ниже 4 размеров требуемой памяти». Необязательно верить мне на слово:”
[12:24:01] <alexey.veselovsky> “Точнее, когда у сборщика мусора есть в 5 раз больше памяти, чем требуется, его производительность совпадает или слегка превосходит прямое управление памятью. Однако, производительность сборщика мусора быстро деградирует, когда ему требуется работать с небольшими хипами. С 3-мя размерами требуемой памяти он, в среднем, работает на 17% медленнее, а с двумя размерами — на 70% медленнее. Также сборщик мусора более подвержен пейджингу, если память дефрагментирована. В подобных условиях, все протестированные нами сборщики мусора работают на порядок медленнее прямого управления памятью.”
[12:27:44] <geniepro> а регионы памяти как в таких случаях работают?
[12:28:39] <alexey.veselovsky> но даже если это всё так, то один фиг у современных телефонов по 4 гига ОЗУ, а дальше - больше
[12:28:44] <alexey.veselovsky> от десктопов не отличается
[12:35:17] <Jordan> Получается со сборщиком мусора, прога которая влезала в 1 гиг уже требует 5 гигов, для нормального функционирования. Плюс нужно работать в многозадачной среде.
[12:36:59] <alexey.veselovsky> на самом деле не получается
[12:37:05] <Jordan> “Точнее, когда у сборщика мусора есть в 5 раз больше памяти, чем требуется, его производительность совпадает или слегка превосходит прямое управление памятью. Однако, производительность сборщика мусора быстро деградирует, когда ему требуется работать с небольшими хипами. С 3-мя размерами требуемой памяти он, в среднем, работает на 17% медленнее, а с двумя размерами — на 70% медленнее.
[12:37:12] <Jordan> Сам же цитировал
[12:37:14] <alexey.veselovsky> ограничение сверху тоже есть
[12:37:57] <Jordan> Какие? Конкретные системные требования?
[12:39:50] <alexey.veselovsky> см. страдания и борьбу Губанова со сборщиком мусора
[12:40:17] <Jordan> Он просто перешёл на unsafe код
[12:40:18] <alexey.veselovsky> чем больше куча которую надо обойти, тем дольше работает мусорщик
[12:40:21] <alexey.veselovsky> это очевидно
[12:40:34] <alexey.veselovsky> ну да, когда перешел, тогда страдания и закончились
[12:40:44] <alexey.veselovsky> ибо без мусорщика
[12:40:49] <Jordan> Вот.
[12:43:28] <Jordan> Позже зайду, сейчас иду на собеседование по работе
[14:21:29] <geniepro> http://levgem.livejournal.com/463349.html
"Я понял, что за время работы с эрлангом я избаловался тем, что практически все проблемы софта сводятся к одной единственной проблеме рантайма: нехватке памяти."
[16:15:36] <_valexey_> geniepro: а хронические дикие тормоза ерланга на любых задачах хоть немного нароминающие вычислительные, его не беспокоят?
[16:16:28] <_valexey_> Ну скажем банально md5 там посчитать.
[16:16:43] <_valexey_> Или g711 транскодировать.
[16:19:07] <geniepro> неа, ведь это легко перекладывается на плечи Си
[16:20:04] <geniepro> у него, кстати, в этом erlyvideo есть перекодирования в разные форматы из разных форматов, как я понимаю
ничо, проблем нет ))
[16:20:34] <geniepro> а для подсчёта всяких md5 уже давно есть готовые либы )
[16:21:53] <geniepro> кстати, G.711 -- без сжатия? в топку ))
[17:01:50] <Jordan> в erlange автоматическое расспаралеливание? Данная возможность не компенсирует общую производительность?
[18:36:12] <alexey.veselovsky> со сжатием конечно
[18:36:17] <alexey.veselovsky> просто с простейшим
[18:36:53] <alexey.veselovsky> jordan: нет ерланг он вообще не про распараллеливание. и это там точно автоматом не делается
[18:37:12] <alexey.veselovsky> он не про парраллельность, он про concurency
[18:42:16] <alexey.veselovsky> о, блин! после 8 лет использования ББ они таки наткнулись на эту проблему! http://forum.oberoncore.ru/viewtopic.php?f=23&t=4977&p=85960#p85960
[18:42:42] <alexey.veselovsky> а я на нее наткнулся через день разработки, о чем и писал на нашем форуме, и спорил с ilovb :-)
[18:43:55] <vlad2> alexey.veselovsky: Ну да, там же именно ГЦ называется окончательным и лютым пушным зверем :)
[18:52:51] <vlad2> /me распечатал и повыесил еще вот эту страничку: https://developer.apple.com/legacy/library/documentation/Cocoa/Conceptual/GarbageCollection/GarbageCollection.pdf
[19:00:37] <vlad2> Дык да!!! Размер проекта имеет значение :) О чем я постоянно говорю :)
[19:00:54] <vlad2> Не суперхитый алгоритм, а тупо размер.
[19:01:03] <vlad2> И неявные зависимости.
[19:01:25] <Jordan> Это ты к чему?
[19:07:08] <kpmy> [18:42:42] <alexey.veselovsky> а я на нее наткнулся через день разработки, о чем и писал на нашем форуме, и спорил с ilovb :-)
ну ты герой, веселовский, охуеть просто.
прям через день, сразу видно ты охуенно умный.
[19:08:06] <Jordan> Пётр здравствуй. Всё же логи читаете.
[19:16:55] <Jordan> Из той статьи "Java Script— он медленнее, чем x86 C/C++, примерно в 50 раз;" Медленне натива, язык роли не играет. Туда нужно оберон. Натив + GC. GC js медленнее gc нативного.
[19:19:16] <Jordan> Теперь я понимаю, Влад тебя. Когда ты говорил, что проверки в онлайн компиляторе тормозят. Я думал, что всё же не настолько всё фатально.
[19:41:54] <vаlexey> я не умный, просто задача была соответствующая, и я её активно пилил :-)
[19:42:30] <vаlexey> и да, я не стесняюсь сказать что инструмент которым пользуюсь, имеет проблемы. даже если инструмент мне нравится.
[19:45:20] <vаlexey> а про GC - да, если памяти мало, то он работает плохо, если памяти МНОГО (и много соответственно объектов в оной памяти), то GC работает опять плохо :-)
[19:45:24] <Jordan> Алексей метод std::string c_str выделяет памят и добавляет \0 в строку? Или реализация более гуманная?
[19:45:44] <vаlexey> а ты глянь что оно возвращает - небось там const char*
[19:45:56] <vаlexey> если да, то скорее всего возвращает указатель на внутренний буффер
[19:46:01] <Jordan> Ок
[19:46:39] <Jordan> Как и в паскале, без лишних реалокация.
[19:53:39] <Jordan> Стоп, строка С++ может содержать 0, strlen(c_str) может выдать не правильный результат.
[19:54:27] <vаlexey> в смысле?
[19:54:39] <Jordan> нуль символ
[19:55:14] <vаlexey> а при этом длина самой строки разве не ошибется?
[19:55:22] <vаlexey> сколь я помню, это O(n) алгоритм
[19:55:56] <Jordan> std::string может содержать символ ноль
[19:56:14] <Jordan> не как конец строки, а как просто символ
[19:56:45] <Jordan> нужно посмотреть в реализации, может чего накопаю
[19:57:42] <Jordan> Или я глючу.
[19:58:38] <Jordan> нашёл
[19:58:41] <Jordan>
string s;
s = "ABC";
s[0] = 0;
int l1 = s.length(); //l1==3
int l2 = strlen(s.c_str()); //l2==0
[19:59:03] <vlad2> все популярные реализации std::string имееют место под конечный 0, чтобы эффективно реализовать c_str()
[19:59:53] <vlad2> при этом size/length до него пофиг - этот 0 только для реализации c_str(), больше они никак не используется.
[20:01:14] <Jordan> скомпиль и запусти
[20:01:18] <Jordan> #include <string>
#include <vector>
#include <algorithm>
#include <iostream>
#include <assert.h>
#include <fstream>
int main()
{
std::string s;
s = "ABC";
s[0] = 0;
int l1 = s.length(); //l1==3
int l2 = strlen(s.c_str()); //l2==0
std::cout << l1 << std::endl;
std::cout << l2 << std::endl;
}
[20:01:34] <vlad2> Если у тебя в середине строки есть нули, то конечно код, который оперируется с c_str() помситает размер неправильно. Поэтому нефиг использовать c_str() - оно только для совместимости с сишным апи.
[20:01:35] <vаlexey> ну да, всё верно
[20:01:57] <vаlexey> и нефиг держать нулевые символы в середине строки :-)
[20:02:04] <vаlexey> ну, то есть я в этом особого смысла не вижу
[20:02:26] <Jordan> Понял
[20:08:29] <Jordan> на оберкоре, юзера на 1 год забанили. Теперь к предупреждениям о флейме в неположенной теме, относишся серьёзней.
[20:17:57] <vаlexey> гыгы
[20:50:58] <kpmy> vаlexey: ты идиот
[21:15:08] <vаlexey> о, да :-)
[21:15:28] <kpmy> ага
[21:17:10] <vаlexey> "Магнитное поле: магнитная буря" :-D
[21:18:29] <kpmy> то есть ты написал хуйню под воздействием магнитного поля, ок
[21:20:41] <kpmy> 12.html 2014/02/12 17:38:47 3 591
13.html 2014/02/13 14:41:24 2 330
14.html 2014/02/14 17:18:29 21 658
[21:21:03] <kpmy> магнитная буря, оно и видно
[21:21:55] <vаlexey> это всё zorko :-) вытащил древнюю статью - народ начал обсуждать.
[21:22:30] <kpmy> ну на тебя не действует, ясен хуй
[21:22:31] <vаlexey> впрочем, 20 кил это очень маленький трафик
[21:22:54] <vаlexey> вот 123 - это другое дело :-)
[21:23:49] <kpmy> и чо?
[21:25:03] <kpmy> у тебя дислексия обостряется во время бурь? не распознаешь смысл слов?
[21:29:05] <vаlexey> ладно, не буду кормить тролля. ты уж как-нибудь сам :-)
[21:30:03] <kpmy> уебывай
[21:37:01] <Jordan> kpmy Как успехи с хост системой? Вы будете объединятся с Кузбмицким, так как одну работу делаете.
[21:39:50] <kpmy> о, еще один наркоман.
ты сам-то понял, что написал?
[21:41:47] <Jordan> Ты же пишишь на opengl. Он на другой либе. Или есть совместимость? Вы уже всех запутали, с это герметизацией хоста. Кто что пилит непонятно.
[21:42:27] <kpmy> завязывай с наркотой.
[21:45:49] <vаlexey> O! http://habrahabr.ru/post/212667/
[21:46:16] <Jordan> Так её и раньше можно было скачать.
[21:46:40] <vаlexey> лицензионно и бесплатно?
[21:46:49] <Jordan> Умолчим :-)
[21:49:55] <Jordan> Столько возни, регистрироваться, проще на торренте скачал поиграл удалил. В любом случае, не понятно где брать лиценз на русском языке, игра старая давно окупилась.
[21:51:17] <vаlexey> Пират!
[21:54:31] <Jordan> Нет. Так как я игру не скачиваю на торрентах, потому я только потенциальный пират.
[21:56:10] <vаlexey> Латентный пират!
[22:04:11] <Jordan> У кого торрент качалка установлена уже пират, так как есть огромный соблазн скачать книгу, игру, програму, фильм.
[22:10:29] <Jordan> Сегодня на собеседовании, допрашивали как будто, на должность директора притендую. А должность то, приём заказов, курирование и т.д Вроде принеси, подай.
[22:20:09] <vаlexey> Сбивали цену :-)
[22:20:28] <vаlexey> А может просто собеседующий самоутверждался.
[22:21:41] <vаlexey> С должностью директора обычно попроще - там смотрят в первую очередь на опыт и результаты работы. Вообще когда опыт работы уже сильно не нулевой в нужной области, часто собеседования много проще проходят.
[22:48:33] <vаlexey> /me таки честно качает Dungeon Keeper.
[22:48:50] <vаlexey> И для мака версия есть :-) Что не может не радовать.
[23:29:02] <vаlexey> делфи шагает по миру: http://habrahabr.ru/company/delphi/blog/212611/