Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
    Andriy Plokhotnyuk
    @plokhotnyuk
    Welcome to actors room!
    dk14
    @dk14
    Hi!
    Andriy Plokhotnyuk
    @plokhotnyuk
    Привіт!
    dk14
    @dk14
    Привiт)
    я просто хотiв подивитися як швидко цей disruptor'овський ring буде працювати якщо до моделi акторiв його адаптувати
    але iзза того що я захотiв unbonded queues зробити - прийшлося добавити деякi CAS-операцii для перевiрки чи не наклалася одна кюшка на iншу. A так воно прикольно - при рiвномiрному навантаженнi вони всi по кругу кiльця ходять.
    Andriy Plokhotnyuk
    @plokhotnyuk
    Дмитро, для тесту фіч можна взяти за основу вихідний файл https://github.com/plokhotnyuk/actors/blob/master/src/test/scala/scalaz/concurrent/Actor2Spec.scala а для бенчмарків ось цей беріть (зміни тут будуть мінімальні: добавити Ring та прибрати batch = 1024 - але краще його залишити та реалізувати у вашій версії): https://github.com/plokhotnyuk/actors/blob/master/src/test/scala/com/github/plokhotnyuk/actors/MinimalistActorSpec.scala
    dk14
    @dk14
    о добре. дякую - я тодi коли тести добавлю - pull-риквест зроблю щоб вже на ващiй travis-ci подивитись як воно буде, якщо ви не проти звiсно.
    Andriy Plokhotnyuk
    @plokhotnyuk
    На Travis-CI стоїть 50-хвилинний лімит на білд - доведеться ще підлаштувати кількість повторень у кожному бенчмаркі, щоб вони виконувалися не більше хвилини разом... Думаю краще коммітити у окрему гілку, а потім розглянемо як його добавити у master...
    Дмитро, влаштує вас така пропозиція?
    dk14
    @dk14
    звiсно, ok)
    Andriy Plokhotnyuk
    @plokhotnyuk
    Ось результати порівняння швидкодії та використання пам'яті для вихідної та удосконаленної реализації за рівних умов (batch = 1): https://gist.github.com/plokhotnyuk/0b470f482152e2b7315d
    dk14
    @dk14
    круто, у вас десь у більш ніж півтори рази швидше нiж у Кланга!
    Andriy Plokhotnyuk
    @plokhotnyuk
    А ось що можне вдосконаленна версія з batch = 1024: https://github.com/plokhotnyuk/actors/blob/e0e417cecc0388bdf6e851765cfc7ba463b479a1/out0.txt#L432-L483
    dk14
    @dk14
    якісь космічні цифри :)
    Andriy Plokhotnyuk
    @plokhotnyuk
    Так і є - це просто 'mechanical sympathy' не якась вулична магія. Спробуйте прогнати бенчмарки у своєму середовищі, проаналізуте налаштування та код бенчмарку - можливо захочете щось із них забрати у свої проекти.
    dk14
    @dk14
    Подивлюся. Я покищо мувaюся подaлі від DeutscheBank - в них тaм бізнес-пекло їм взaгaлі пофіг нa швидкість - aле нa нaступних проектaх реaльно може згодитися.
    Взaгaлі, ConcurrentLinkedQueue теж нa CAS-оперaціях побудовaнa і неблокується ніде, aле в них тaм бaгaто ООП, позaгортaли усе в ітерaтори, ноди (с доступом через AtomicReferenceFieldUpdater + ще й set волатильний), от і мaють.
    читали про вуличну магiю - https://www.facebook.com/kndrtk/posts/876816875695708
    Andriy Plokhotnyuk
    @plokhotnyuk
    Про що саме там? У мене сторінка не відображає матеріал.
    dk14
    @dk14
    та то так, полiтика http://inciklopedia.org/wiki/%D0%94%D0%B5%D0%B2%D1%96%D0%B4_%D0%91%D0%BB%D0%B5%D0%B9%D0%BD. Я тодi вже пiду - бо в мене вже опiв на одиннадцяту вечора. Постараюся потiм погратися з акторами.
    dk14
    @dk14
    до побачення)
    Andriy Plokhotnyuk
    @plokhotnyuk
    bb
    Vitaly Pushkar
    @vitaly-pushkar
    Привіт :)
    Andriy Plokhotnyuk
    @plokhotnyuk
    Привіт, Віталій!
    Відновлю тут лінки, які згадував у нашому листуванні на linkedin:
    Vitaly Pushkar
    @vitaly-pushkar
    Як як вже писав раніше, я тут вирішив розібратись в актор моделі і написати свою, простеньку систему акторів. Саме читаю цю версію Seven Concurrency Models in Seven Weeks: https://media.pragprog.com/titles/pb7con/Bonus_Chapter.pdf
    Але цей розділ більше про Akka
    дякую за лінки
    Андрій, можна буде отримати від тебе Code Review як тільки закінчу першу версію? :)
    Я не дуже досвідчений зі Scala - точніше, останні кілька місяців працюю з нею на роботі, але в нас тут вона якось дивно, на мою думку, використовується: як покращена Java.
    До цього я трохи грався з Clojure в вільний час і мені концепції ФП доволі близькі.
    Andriy Plokhotnyuk
    @plokhotnyuk
    колись, коли свого часу знайомився с актор-моделлю то натрапив на ось цю працю http://www.1024cores.net/home/scalable-architecture/case-study-actor-scheduler
    Vitaly Pushkar
    @vitaly-pushkar
    ооо, по змісту бачу, що цікава стаття! дякую
    може варто перейти на англійську? :) не втратиш своїх кількох учасників через те, що ми українською спілкуємось?
    дивний цей гіттер, я ставлю звичайний смайлик з двокрапкою і дужкою, а він перетворюється в "grinning" - :)
    Andriy Plokhotnyuk
    @plokhotnyuk
    там же, у цього ж автора натрапив на lock-free чергу, яку адаптував у своїх реальзаціях для різніх біблиотек (Scalaz https://github.com/scalaz/scalaz/blob/series/7.3.x/concurrent/src/main/scala/scalaz/concurrent/Actor.scala, Akka https://github.com/akka/akka/blob/master/akka-actor/src/main/java/akka/dispatch/AbstractNodeQueue.java та https://github.com/akka/akka/blob/master/akka-actor/src/main/java/akka/dispatch/AbstractBoundedNodeQueue.java, а також для інтерфейсу мінімалістичного актора запропонованого Віктором https://github.com/plokhotnyuk/actors/blob/master/src/test/scala/com/github/gist/viktorklang/Actor.scala )
    можна англійскою теж)
    Vitaly Pushkar
    @vitaly-pushkar
    хммм, то ти настільки крутий :) я не помітив, що ти контріб'ютив в scalaz
    Andriy Plokhotnyuk
    @plokhotnyuk
    не я крутий, а усі ті хлопці у котрих я брав їх золото так складав до купи...
    ось наприклад одну із спрощенних реалізацій цієї черги використали автори одного з найкращих підручника по FP: https://github.com/fpinscala/fpinscala/blob/master/exercises/src/main/scala/fpinscala/parallelism/Actor.scala
    Vitaly Pushkar
    @vitaly-pushkar
    Вона лежить поруч зі мною зараз :) Я організував міні книжковий клуб тут в компанії, де ми з кількома моїми співробітниками збираємось двічі на тиждень по годині часу, обговорюємо наступний прочитаний розділ і вправи з цієї книжки.
    Вона мені також дуже подобається
    Andriy Plokhotnyuk
    @plokhotnyuk
    :+1:
    доречі у гіттері багато різних емоток є https://www.webpagefx.com/tools/emoji-cheat-sheet/
    Vitaly Pushkar
    @vitaly-pushkar
    :simple_smile: - те, що я очікував від ":)"
    я тобі написав в ПП, щоб не відлякувати потенційне ком'юніті твого репозиторію українською
    Andriy Plokhotnyuk
    @plokhotnyuk
    не хвилюйся, людей з open-mind таким не злякаєш - вони цінують коли люди спілкуются в тему навіть на рідній мові... навіть ті хто не втримався проти антиукраїнської пропаганди з РФ розуміють це серцем...
    Vitaly Pushkar
    @vitaly-pushkar
    я скоріше мав на увазі "відлякувати не-англійською"
    але тобі видніше :+1:
    Andriy Plokhotnyuk
    @plokhotnyuk
    ok, let us speak English! but any lang is acceptable here)