<HTML><BODY>7 лет назад этим Тутубалин развлекался :)<br><br><a href="http://blog.lexa.ru/2007/01/04/o_peremnozhenii_matric_i_prochix_arxitekturnix_zam.html">http://blog.lexa.ru/2007/01/04/o_peremnozhenii_matric_i_prochix_arxitekturnix_zam.html</a><br><a href="http://blog.lexa.ru/2007/01/20/umnozhenie_matric_int_float_i_double.html">http://blog.lexa.ru/2007/01/20/umnozhenie_matric_int_float_i_double.html</a><br><a href="http://blog.lexa.ru/2007/01/27/umnozhenie_matric_serija_2_woodcrest_protiv_optero.html">http://blog.lexa.ru/2007/01/27/umnozhenie_matric_serija_2_woodcrest_protiv_optero.html</a><br><a href="http://blog.lexa.ru/2007/02/22/umnozhenie_matric_serija_4_nvidia_g80_cuda_cublas.html">http://blog.lexa.ru/2007/02/22/umnozhenie_matric_serija_4_nvidia_g80_cuda_cublas.html</a><br><a href="http://blog.lexa.ru/2007/10/16/umnozhenie_matric_serija_5_vichislenija_na_gpu_2.html">http://blog.lexa.ru/2007/10/16/umnozhenie_matric_serija_5_vichislenija_na_gpu_2.html</a><br><br><br>Tue, 09 Sep 2014 10:17:28 +0400 от Dmitry Smal <mialinx@gmail.com>:<br>
<blockquote style="border-left:1px solid #0857A6; margin:10px; padding:0 0 0 10px;">
<div id="">
<div class="js-helper js-readmsg-msg">
<style type="text/css"></style>
<div>
<base target="_self" href="https://e.mail.ru/">
<div id="style_14102434910000000126_BODY">
<div>Кстати, забавная история про PDL. <br>
Как-то нужно было перемножить мне пару матриц.. 100x200 так.<br>
Решил сравнить PDL и чистый C (школьный алгоритм) - PDL оказался
быстре (!) причем не просто быстрее, а принципиально быстрее.<br>
Школьный алгоритм на C - O(n^3) как и полагается, PDL - O(n^2). <br>
Вскрытие показало, что $x * $y в PDL это не обычное, а
поэлементное умножение матриц.<br>
Что в большинстве случаев не то что нужно. Так что here be
dragons.<br>
<br>
<br>
BTW, даже стандартный школьный алгоритм можно оптимизировать:<br>
Следить, что бы последовательно извлекаемые числа находились в
памяти последовательно - и не выпадали из кеша.<br>
Для этого второую матрицу нужно будет транспонировать и умножать
немного по-другому.<br>
<br>
On 09/08/2014 09:25 PM, Andrey Kovbovich wrote:<br>
</div>
<blockquote cite="mid:CAPTWO-Y0eEugABRM6k8FvhyhCS6QwP77gZQ2ETPtRU=D-vp+bA@mail.gmail.com" type="cite">
<div dir="ltr">Perl + PDL</div>
<div><br>
<div>8 сентября 2014 г., 21:01 пользователь
Daniel Podolsky <span dir="ltr"><<a moz-do-not-send="true" href="//e.mail.ru/compose/?mailto=mailto%3aonokonem@gmail.com" target="_blank">onokonem@gmail.com</a>></span>
написал:<br>
<blockquote style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">JVM!<br>
<br>
:)<br>
<div>
<div><br>
2014-09-08 20:52 GMT+04:00 Иван Соколов <<a moz-do-not-send="true" href="//e.mail.ru/compose/?mailto=mailto%3avaneska.ru@gmail.com" target="_blank">vaneska.ru@gmail.com</a>>:<br>
> Go?<br>
><br>
> 8 сентября 2014 г., 20:46 пользователь Daniel
Podolsky <<a moz-do-not-send="true" href="//e.mail.ru/compose/?mailto=mailto%3aonokonem@gmail.com" target="_blank">onokonem@gmail.com</a>><br>
> написал:<br>
><br>
>> те, которые с JIT, могут оказаться на некоторых
задачах быстрее C,<br>
>> благодаря оптимизатору на стадии исполнения.<br>
>><br>
>> 2014-09-08 20:24 GMT+04:00 Андрей Костенко <<a moz-do-not-send="true" href="//e.mail.ru/compose/?mailto=mailto%3aandrey@kostenko.name" target="_blank">andrey@kostenko.name</a>>:<br>
>> > 1. Все компилируемые<br>
>> > 2. Все с JIT<br>
>> ><br>
>> > W dniu poniedziałek, 8 września 2014
Михаил Монашёв<br>
>> > <<a moz-do-not-send="true" href="//e.mail.ru/compose/?mailto=mailto%3apostmaster@softsearch.ru" target="_blank">postmaster@softsearch.ru</a>>
napisał(a):<br>
>> ><br>
>> >> Здравствуйте.<br>
>> >><br>
>> >> Скажите, пожалуйста, какие
языки програмиирования на простых<br>
>> >> арифметических операциях и
операциях с доступом к данным, например<br>
>> >> перемножение матриц или сортировке,
дают скорости близкие к сишным?<br>
>> >><br>
>> >> --<br>
>> >> С уважением,<br>
>> >> Михаил
mailto:<a moz-do-not-send="true" href="//e.mail.ru/compose/?mailto=mailto%3apostmaster@softsearch.ru" target="_blank">postmaster@softsearch.ru</a><br>
>> >><br>
>> >> --<br>
>> >> Moscow.pm mailing list<br>
>> >> <a moz-do-not-send="true" href="//e.mail.ru/compose/?mailto=mailto%3amoscow%2dpm@pm.org" target="_blank">moscow-pm@pm.org</a> |
<a moz-do-not-send="true" href="http://moscow.pm.org" target="_blank">http://moscow.pm.org</a><br>
>> ><br>
>> ><br>
>> > --<br>
>> > Moscow.pm mailing list<br>
>> > <a moz-do-not-send="true" href="//e.mail.ru/compose/?mailto=mailto%3amoscow%2dpm@pm.org" target="_blank">moscow-pm@pm.org</a> |
<a moz-do-not-send="true" href="http://moscow.pm.org" target="_blank">http://moscow.pm.org</a><br>
>> ><br>
>> --<br>
>> Moscow.pm mailing list<br>
>> <a moz-do-not-send="true" href="//e.mail.ru/compose/?mailto=mailto%3amoscow%2dpm@pm.org" target="_blank">moscow-pm@pm.org</a> |
<a moz-do-not-send="true" href="http://moscow.pm.org" target="_blank">http://moscow.pm.org</a><br>
><br>
><br>
><br>
><br>
> --<br>
> С уважением,<br>
> Иван<br>
><br>
> --<br>
> Moscow.pm mailing list<br>
> <a moz-do-not-send="true" href="//e.mail.ru/compose/?mailto=mailto%3amoscow%2dpm@pm.org" target="_blank">moscow-pm@pm.org</a> |
<a moz-do-not-send="true" href="http://moscow.pm.org" target="_blank">http://moscow.pm.org</a><br>
><br>
--<br>
Moscow.pm mailing list<br>
<a moz-do-not-send="true" href="//e.mail.ru/compose/?mailto=mailto%3amoscow%2dpm@pm.org" target="_blank">moscow-pm@pm.org</a>
| <a moz-do-not-send="true" href="http://moscow.pm.org" target="_blank">http://moscow.pm.org</a><br>
</div>
</div>
</blockquote>
</div>
<br>
</div>
<br>
<fieldset></fieldset>
<br>
</blockquote>
<br>
</div>
<div>-- <br>
Moscow.pm mailing list<br>
<a href="/compose?To=moscow%2dpm@pm.org">moscow-pm@pm.org</a> | <a href="http://moscow.pm.org" target="_blank">http://moscow.pm.org</a><br>
<br>
</div>
<base target="_self" href="https://e.mail.ru/">
</div>
</div>
</div>
</blockquote>
<br></BODY></HTML>