|
|
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
Всем привет! Пожалуйста, поделитесь ссылкой или готовым c# class-ом для замера продолжительности события в наносекундах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2011, 10:28 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
Testor1Всем привет! Пожалуйста, поделитесь ссылкой или готовым c# class-ом для замера продолжительности события в наносекундах. Нужно написать подобие ping-а ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2011, 10:56 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
нафига вам для ping наносекунды, причем на C#? но это не значит, что настоящие извращенцы этого не могут :) итак: берете расширение дебаггера SOS для .net ставите в нем точку останова на вызове !DumpHeap, !DumpObject, !DumpMT, !DumpMD Ваша первая задача точно стырить внутренние структуры для описания типов под конкретную версию точки нет. Т.е. вам нужно найти структуру описания Типа (куда ссылается OBJREF), далее оттуда вам нужно перейти к MethodDef (эта та структура на которую указывает TypeRef у каждого объекта), там есть перечисление MethodDef. У MethodDef есть поле указывающее на либо на скопилированный код либо на IL (ну и флаг, говорячий куда смотрит указатель, типа IsJitted). так вот - далее дело за малым - вставить в уже в откомпилированный код вызовы rdtsc (это asm) и куда-нть записать общая задача безусловно сложна, а вот для одной единственной функции написать затыку которая реально считает время в тактах - впринципе я думаю не очень сложно, хотя и повозиться придется (можно сделать unsafe вставку (вначале функции и в конце), которая оставляет несколько байт для того, чтобы сказать rdtsc а потом результат из eax перегнать в память) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2011, 21:43 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
аписко, в TypeRef ссылается на MethodTable, а в MethodTable есть указатели на MethodDesc, а уже в нем - указатель на скомпилированный код либо на IL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2011, 21:51 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
Testor1Всем привет! Пожалуйста, поделитесь ссылкой или готовым c# class-ом для замера продолжительности события в наносекундах. http://msdn.microsoft.com/ru-ru/library/bb397808%28v=vs.90%29.aspx Не устроит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2011, 22:19 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
DENIS_CHELTestor1Всем привет! Пожалуйста, поделитесь ссылкой или готовым c# class-ом для замера продолжительности события в наносекундах. http://msdn.microsoft.com/ru-ru/library/bb397808%28v=vs.90%29.aspx Не устроит? товарисч хочет НАНОсекунды :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2011, 22:29 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
Александр2DENIS_CHELпропущено... http://msdn.microsoft.com/ru-ru/library/bb397808%28v=vs.90%29.aspx Не устроит? товарисч хочет НАНОсекунды :) Цель супер извращенная, но нужно измерить удаленность сетевого (ip) узла с точностью чем меньше тем лучше. не спрашивайте зачем - просто очень нужно, если это возможно. Есть понимание что каждое звено в сети вносит свои задержки/погрешность в этой не простой затее + еще и загруженность канала. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2011, 22:37 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
это адские попытки HFTить на C#? )))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2011, 22:46 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
А за что Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2011, 22:47 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
Александр2товарисч хочет НАНОсекунды :) Ну да, на стареньком семпроне разрешение этого таймера 1 / 3 579 545, т.е. примерно 1/4 микросекунды. При двух подряд вызовах QueryPerformanceCounter тикает на 8 тиков, т.е. "пустой" замер занял 0.000002235 сек. На более новых платформах может и побольше разрешение. Но, блин, из вышеприведенных чисел автор-то должен уяснить, что 1/1000 от 1/1000 сек (1 микросекунда) ему с головой хватит не зависимо от того, что он меряет ибо даже просто померять "ничего" занимает 2 микросекунды (на слабом CPU конечно). Т.е. мерять еще в 1000 раз точнее обломается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2011, 23:09 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
Testor1Есть понимание что каждое звено в сети вносит свои задержки/погрешность в этой не простой затее + еще и загруженность канала. Но нет понимания, что уровень НАНОсекунд в данном случае - это уже теория, а не практика. На практике каждый пук твоего приложения обходится в сотни раз длиннее. А еще удивляет выбранный тобой инструмент. Почему не C++? И почему многозадачная винда, которая твое приложение много раз в секунду может откладывать в сторону. Если понадобится, то даже на миллисекунды, а не на микросекунды. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2011, 23:12 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
Edd.DragonTestor1Есть понимание что каждое звено в сети вносит свои задержки/погрешность в этой не простой затее + еще и загруженность канала. Но нет понимания, что уровень НАНОсекунд в данном случае - это уже теория, а не практика. На практике каждый пук твоего приложения обходится в сотни раз длиннее. А еще удивляет выбранный тобой инструмент. Почему не C++? И почему многозадачная винда, которая твое приложение много раз в секунду может откладывать в сторону. Если понадобится, то даже на миллисекунды, а не на микросекунды. В идее, это должен быть ansembler :) нужно грузится чуть ли не на уровне биоса и так делать. Но это нереально трудоемко. Задача разовая и результат очень нужен. Можно зайти в safemode + network и там запустить С++ вспоминать надо. c# знаю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2011, 23:19 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
Edd.Dragon, авторПочему не C++? Или вообще asm с полным контролем происходящего. И внедриться на уровень ядра конечно же. Да и еще хотелось бы узнать, каков разброс замеров,если один и тот же узел пропинговать сотню раз? Я так понимаю, что задача применима только к локалке. И то, после испытаний может оказаться, что она ничего не показывает. Т.е. например время прохода пакета через свич и сетевухи занимает 99% времени и лишь 1% времени приходится на передвижение по кабелям. В итоге разница пинга между 50-метровым сегментом и 10-метровым составит допустим 0.5% по времени. И что дальше? Разброс измерений допустим 2-3%. Как ты собираешься увидеть разницу в 0.5% в таком разбросе? Она теряется )) А если мерять внешний мир, то извини - бред, а не задача ))) Узел на расстоянии 100 км, проходя через тормозной сервер, пингуется 300 мс, а узел на другом конце планеты - 50 мс. Какие выводы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2011, 23:20 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
Edd.Dragon, авторВ итоге разница пинга между 50-метровым сегментом и 10-метровым составит допустим 0.5% по времени. На самом деле ее вообще не будет. Т.е. в наносекундах может и будет, только обычный комп для этого не подходящий измеритель. Проще купить спец. прибор. Ну а если не для локалки, то выше уже написал по этому поводу )) P.S.: Хочешь вычислить недоброжелателя в домашней локалке что ли? Так тогда лучше применить социально-психологические методы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2011, 23:23 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
Edd.DragonEdd.Dragon, авторПочему не C++? Или вообще asm с полным контролем происходящего. И внедриться на уровень ядра конечно же. Да и еще хотелось бы узнать, каков разброс замеров,если один и тот же узел пропинговать сотню раз? Я так понимаю, что задача применима только к локалке. И то, после испытаний может оказаться, что она ничего не показывает. Т.е. например время прохода пакета через свич и сетевухи занимает 99% времени и лишь 1% времени приходится на передвижение по кабелям. В итоге разница пинга между 50-метровым сегментом и 10-метровым составит допустим 0.5% по времени. И что дальше? Разброс измерений допустим 2-3%. Как ты собираешься увидеть разницу в 0.5% в таком разбросе? Она теряется )) А если мерять внешний мир, то извини - бред, а не задача ))) Узел на расстоянии 100 км, проходя через тормозной сервер, пингуется 300 мс, а узел на другом конце планеты - 50 мс. Какие выводы? Конечный IP - ADSL модем. Он бывает не загруженным. Пункт в 9 хопах. Если вычислить минимальное время прохождение пакета в ночное время (выбираем минимальное из тестов) до ADLS устройства и отдельно до ADSL модема, то можно вычислить расстояние между ними - вычитаем = (время до модема - время до роутера) * скорость света возникла смешная проблема если на модеме есть открытые порты, то на роутере их нет. то есть нет возможности зацепиться за открытие TCP порта. как можно по другому сделать на C# ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2011, 23:38 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
Testor1, авторЕсли вычислить минимальное время прохождение пакета в ночное время (выбираем минимальное из тестов) до ADLS устройства и отдельно до ADSL модема, то можно вычислить расстояние между ними - вычитаем = (время до модема - время до роутера) * скорость света Ты читаешь внимательно? узел1: 2 узел2: 12 узел3: 78 узел4: 215 вычисли расстояние. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2011, 23:50 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
Или ты знаешь способ как пропинговать узел3 с обоих его сторон, чтобы вычислить время задержки сигнала на узле3? :o P.S.: А почему скорость света? Известно, что все сегменты сети оптические? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2011, 23:52 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
Testor1Edd.Dragonпропущено... Но нет понимания, что уровень НАНОсекунд в данном случае - это уже теория, а не практика. На практике каждый пук твоего приложения обходится в сотни раз длиннее. А еще удивляет выбранный тобой инструмент. Почему не C++? И почему многозадачная винда, которая твое приложение много раз в секунду может откладывать в сторону. Если понадобится, то даже на миллисекунды, а не на микросекунды. В идее, это должен быть ansembler :) нужно грузится чуть ли не на уровне биоса и так делать. Но это нереально трудоемко. Задача разовая и результат очень нужен. Можно зайти в safemode + network и там запустить С++ вспоминать надо. c# знаю извините, но мне кажется вы гоните, причем по жесткому :) человека, для которого С++ вспоминать надо, наносекунды слушаться не будут :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2011, 00:05 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
Александр2Testor1пропущено... В идее, это должен быть ansembler :) нужно грузится чуть ли не на уровне биоса и так делать. Но это нереально трудоемко. Задача разовая и результат очень нужен. Можно зайти в safemode + network и там запустить С++ вспоминать надо. c# знаю извините, но мне кажется вы гоните, причем по жесткому :) человека, для которого С++ вспоминать надо, наносекунды слушаться не будут :) ну я на c++ писал взломщик RSA, но это было давно ... уже не молод. не так легко переключаться между языками сейчас больше на sql пишу. а сейчас нужно решать конкретную задачу. использую то чем владею и что подходит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2011, 00:09 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
Testor1Александр2пропущено... извините, но мне кажется вы гоните, причем по жесткому :) человека, для которого С++ вспоминать надо, наносекунды слушаться не будут :) ну я на c++ писал взломщик RSA, но это было давно ... уже не молод. не так легко переключаться между языками сейчас больше на sql пишу. а сейчас нужно решать конкретную задачу. использую то чем владею и что подходит. отдайте на оутсорс и все дела, нет смысла самому корячиться, если не получается ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2011, 00:15 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
Testor1, Так что на счет выяснения времени прохождения промежуточных узлов - как? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2011, 00:16 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
Александр2отдайте на оутсорс и все дела, нет смысла самому корячиться, если не получается Ну, человека, который без тени улыбки напишет микроскоп-орехокол найти будет трудно ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2011, 00:17 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
Edd.DragonTestor1, Так что на счет выяснения времени прохождения промежуточных узлов - как? Контекст вопроса ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2011, 00:18 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
Testor1, Да выше же. Два подряд сообщения моих с вопросами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2011, 00:40 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
Edd.DragonTestor1, Да выше же. Два подряд сообщения моих с вопросами. И там первым вопросом: " Ты читаешь внимательно? " ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2011, 00:41 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
Edd.DragonTestor1, авторЕсли вычислить минимальное время прохождение пакета в ночное время (выбираем минимальное из тестов) до ADLS устройства и отдельно до ADSL модема, то можно вычислить расстояние между ними - вычитаем = (время до модема - время до роутера) * скорость света Ты читаешь внимательно? узел1: 2 узел2: 12 узел3: 78 узел4: 215 вычисли расстояние. только нужен не обычный пинг в случае когда загрузка сети минимальна то 215-78 = 137 * на скорость электрического тока реально скорость еще меньше из-за кодирование сигнала. в теории я могу подключить разных людей, которые будут пинговать этот адрес с разных IP но находясь в этом городе возможно я так как-то смогу уменьшить погрешность ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2011, 00:47 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
[quot Testor1] Ну если у тебя есть свой человек, на пути к которому присутствуют все те узлы, которые есть на пути искомого хоста, то да, задача решаема, т.к. каждый из 6 промежуточных хостов ты можешь пропинговать в обе стороны. Но допустим имеем пути я - 1 - 2 - 3 - 4 - 5 - 6 - аноним я - 1 - 2 - 3 - 4 - 5 - 6 - друг мы выясняем, что "6 - друг" = 5 км "6 - аноним" = 3 км координаты друга известны. чертим вокруг координаты друга круг радиусом 5 км. Узел 6 находится в любой точке этой окружности. А аноним находится на 3-километровой окружности от этой любой точки. Т.е. в итоге мы выяснили, что аноним находится в радиусе от 2 до 8 километров от друга в неизвесном от друга направлении. Не очень-то полезная информация. Это почти то же самое, что утверждение "они в одном городе". А если же пути следующие: я - 1 - 2 - 3 - 4 - 5 - 6 - аноним я - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - друг то это гораздо хуже. Собственно и выйдет - они в одном городе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2011, 01:39 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
[quot Edd.Dragon]Testor1Ну если у тебя есть свой человек, на пути к которому присутствуют все те узлы, которые есть на пути искомого хоста, то да, задача решаема, т.к. каждый из 6 промежуточных хостов ты можешь пропинговать в обе стороны. Но допустим имеем пути я - 1 - 2 - 3 - 4 - 5 - 6 - аноним я - 1 - 2 - 3 - 4 - 5 - 6 - друг мы выясняем, что "6 - друг" = 5 км "6 - аноним" = 3 км координаты друга известны. чертим вокруг координаты друга круг радиусом 5 км. Узел 6 находится в любой точке этой окружности. А аноним находится на 3-километровой окружности от этой любой точки. Т.е. в итоге мы выяснили, что аноним находится в радиусе от 2 до 8 километров от друга в неизвесном от друга направлении. Не очень-то полезная информация. Это почти то же самое, что утверждение "они в одном городе". А если же пути следующие: я - 1 - 2 - 3 - 4 - 5 - 6 - аноним я - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - друг то это гораздо хуже. Собственно и выйдет - они в одном городе. определив на какой атс стоит оборудование, я могу сузить поиск. центр радиуса - АТС. Ведь это АДСЛ. Радиус не равномерно застрроен домами. Есть пустыри. То есть не все так плохо :) Вопрос - как на с# написать правильный пинг :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2011, 09:08 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
Testor1...Нужно написать подобие ping-а тут уже выше написали - это мягко говоря глупость. Сточки зрения анализа удалённости - в сети нет фиксированных таймингов как таковых (как ни странно это звучит). Вы должны будете делать разные тесты, в разное время, разной интенсивности для выявления достоверности результата. По поводу замеров. Физически выжать из писюка можно, то что Вы хотите. Но шарп отдыхает. Как минимум Вам придёться писать на уровне ядра. Но даже сделав всё это - погрешность измерений будет плюс минус километр. Для начала Вам необходимо решить задачу по перепрограммированию 8253 (комплект x86 семейства. на пнях по идеи должно быть всё вверх совместимо) - так называемый PIT (программируемый интервальный таймер). Там 3 канала (гейта). Идеально найти свободный (с минимальными привнесениями в систему) - но это вряд ли. На самых первых компах один гейт заведовал системным таймером (тот что 18 с хвостиком раз в секунду), второй для регенерации памяти и пдп (если не ошибаюсь). третий вроде как чего то там и звук(не помню уже - копайте да обрящите). Если под форточками сможете покрамсать какой либо из них - то вы справились с задачей. Далее 1) перепрограммировать один из каналов 8253 на нужную частоту (там есть предделитель тактовой - собственно надо его сбросить в одын). 2) считываете показания. 3) посылаете пинг 4) принимаете пинг 5) считываете показания. 6) вычисляете время. оно равно второе показание, минус первое, минус шаги проца между считываниями и посылкой/приёмкой пакетов. 7) повторяете это энное кол-во раз с таймаутом успокоения, в разное время суток и недели. собственно всё. Но. (как же без них). Как правильно тут прозвучало - среда вытесняющая. Соответственно фазы 2,3,4,5 должны быть как можно ближе друг к другу по времени и в монопольном режиме. но перед тем как делать, всё же подумайте - сможете ли вы померять 5 см. длины, резинкой? удачи вам (круглый) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2011, 12:36 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
kolobok0, Понимаю вашу мысль ... и согласен с ней, но ... бывают не стандартные решения Сложно написать пинг на C#, который дает точность в микросекундах ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2011, 13:03 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
Testor1kolobok0, Понимаю вашу мысль ... и согласен с ней, но ... бывают не стандартные решения Сложно написать пинг на C#, который дает точность в микросекундах ? Чем ближе - тем пинг будет меньше :) но это не 100% утверждение есть другие факторы, но все же ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2011, 13:16 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
Testor1...Сложно написать пинг на C#, который дает точность в микросекундах ? если учесть что шарп исполняется под своей машиной, которую может прервать сборщик мусора (к примеру), кстати на несколько СЕКУНД - это реально.... то Вы сами ответите на свой вопрос :) предположим что что такие казусы будут редки. тогда всё то же самое что я писал выше, за исключением программирования 8253 - чисто опрос его счётчиков. Либо системных, любой API функцией. Точность переключения задач - несколько десятков милисекунд. Если Вам это достаточно - то пробуйте. но сдаётся мне Вы будете мерять 5 см. резиновым метром :) (круглый) ЗЫ Можно попробывать натификэшен от сетевого уровня внутри программы - но опять же, в цепочку включаются обработчики ивентов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2011, 14:31 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
Testor1ну я на c++ писал взломщик RSA, но это было давно ... уже не молод. не так легко переключаться между языками Мерять с такой точностью довольно трудно. Вобщем, процессор и твой исполняемый код под .net "шумит" с большей гранулярностью чем наносекунда. Поэтому чтобы получить наносекунды нужно делать очень-очень много измерений и находить арифметическое среднее. Я щас не помню формул но предположим что измерений надо будет сделать около сотни. Но тебе ждать будет скучно и захочестся видеть решение "грубее" но быстрее. Отсюда вобщем-то напрашивается вывод что для принятия решения по твоей проблеме можно сделать 5-6 замеров с достигая точности милисекунд и этого уже будет достаточно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2011, 15:56 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
Testor1Сложно написать пинг на C#, который дает точность в микросекундах ? Этот вопрос был успешно решен еще на первой странице )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2011, 16:09 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
mayton, Ничего тебе среднее не даст, не говори глупости. Ты хоть 1000 раз обычной линейкой померь болт. Но разделив сумму на 1000 ты никак не получишь точность более 0.5 мм, которые ты с успехом получаешь и при 1 измерении (цена деления - 1мм, плюс ты ее визуально можешь разделить пополам и получить 0.5 мм). Цена деления в шарпе (если никто мешать не будет!!!) порядка 1 микросекунды. Всё. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2011, 16:13 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
Edd.Dragon, один болт или очень много болтов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2011, 16:18 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
mayton, 1000 пингов - это как раз 1000 замеров одного болта. Почему нам не достаточно одного замера? Потому что у нас нет стабильной линейки. У нас есть "шумящая" линейка, потому каждый замер одного и того же болта отличается друг от друга. В итоге среднее по 1000 замерам нивелирует шум нашей нестабильной линейки, а не увеличивает ее точность. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2011, 16:25 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
А много болтов - это проложить 100 идентичных сегментов сети друг за другом с репитерами. При этом гарантировать, что задержка сигнала на репитерах известна с достаточной точностью и ее разброс не больше требуемой точности измерения. Замерить прохождение сигнала по всей длине из 100 сегментов,вычесть время репитеров, разделить на 100. Такое измерение будет в 100 раз точнее, чем замерять отдельно взятый короткий сегмент. Опять таки все 99 репитеров и 100 сегментов должны показывать одинаковое время, а не болтаться в диапазоне в 1000 раз превышающем измеряемое время. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2011, 16:32 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
кстати о репитерах ))) между модемом клиента и модемом на АТС ведь не цельный кабель проложен ))) В итоге, если посчитать, что он цельный - получится, что между клиентом и АТС 200 км, а не 2 км ))) А что бы так не вышло, нужно знать из каких запчастей (сколько оптики, сколько обычного кабеля, сколько репитеров или свичей) состоит этот последний сегмент (остальные нас не интересуют, т.к. мы якобы знаем расположение АТС). А нам это все не известно. И никакими пингами мы не получим количество и время прохождения пингов, количество и тип кабеля. Так что, бинго недостижимо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2011, 16:36 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
maytonTestor1ну я на c++ писал взломщик RSA, но это было давно ... уже не молод. не так легко переключаться между языками Мерять с такой точностью довольно трудно. Вобщем, процессор и твой исполняемый код под .net "шумит" с большей гранулярностью чем наносекунда. Поэтому чтобы получить наносекунды нужно делать очень-очень много измерений и находить арифметическое среднее. Я щас не помню формул но предположим что измерений надо будет сделать около сотни. Но тебе ждать будет скучно и захочестся видеть решение "грубее" но быстрее. Отсюда вобщем-то напрашивается вывод что для принятия решения по твоей проблеме можно сделать 5-6 замеров с достигая точности милисекунд и этого уже будет достаточно. Почему среднее, а не наименьшее из серии тестов ? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2011, 23:29 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
Edd.Dragon, От устройства DSLAM - до модема - кабель максиму 10 км. Иначе инет не будет работать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2011, 23:47 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
Testor1Edd.Dragon, От устройства DSLAM - до модема - кабель максиму 10 км. Иначе инет не будет работать В смысле? Т.е. к чему это? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2011, 23:54 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
а) Провести в цикле 1000 замеров б) Замерять время за которое выполнился пункт "а" допустим 5 микросекунд в) Разделить 5 микросекунд на 1000 получить, 5 нс, точное усредненное время. Повысили точность измерения + Получили наносекунды. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2011, 11:12 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
Bazistа) Провести в цикле 1000 замеров б) Замерять время за которое выполнился пункт "а" допустим 5 микросекунд в) Разделить 5 микросекунд на 1000 получить, 5 нс, точное усредненное время. Повысили точность измерения + Получили наносекунды. Ну как бы это и есть сабжевый вопрос) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2011, 11:17 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
Bazistа) Провести в цикле 1000 замеров б) Замерять время за которое выполнился пункт "а" допустим 5 микросекунд в) Разделить 5 микросекунд на 1000 получить, 5 нс, точное усредненное время. Повысили точность измерения + Получили наносекунды. С ручника... ))) Пинг, он допустим 2 мс - один. Тысячу пингов - 2000 мс (2 сек). Делим на 1000 - получаем "в среднем 2мс". А нам надо с точностью наносек. Т.е .получать, не 2 мс, а при замерах, а 2.0000005. И что бы вот это 5 было не шумом, а реальным замером. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2011, 18:02 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
Edd.DragonТ.е .получать, не 2 мс, а при замерах, а 2.0000005. Т.е. получать при замере не 2 мс, а 2.0000005 мс (или 0.002000005 с!!!) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2011, 18:03 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
Edd.Dragonmayton, 1000 пингов - это как раз 1000 замеров одного болта. Почему нам не достаточно одного замера? Потому что у нас нет стабильной линейки. У нас есть "шумящая" линейка, потому каждый замер одного и того же болта отличается друг от друга. В итоге среднее по 1000 замерам нивелирует шум нашей нестабильной линейки, а не увеличивает ее точность. (ух-ты. сабж продолжается. я и не заметил сорри) Верно. Но статистика абстрагируется от точности измерительного прибора. Если взять к примеру Performance Counters в MSWindows или v$*stat представления в RDBMS Oracle. Большинство из них - это просто целочисленные счётчики событий. Их мгновенное значение не имеет никакого смысла. Но если мы меряем текущее значение v1, ожидаем некоторое время t1 и меряем еще одно v2 во время t2 и далее можем получать усреднённые значения скорости генерации событий (v2-v1)/(t2-t1) с любой точностью. Это дешёвая и эффективная методика оценки производительности систем работающих под нагрузкой. Эффективнее я еще не видел. Я не буду спорить по поводу "абсолютной погрешности" измерительного прибора "цены деления" и прочих вещей. Но я ЗНАЮ как оценить или как СРАВНИТЬ две системы имея грубый инструмент вроде сабжевого ping и т.п. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2011, 18:25 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
maytonНо статистика абстрагируется от точности измерительного прибора. А вопрос то как получить желаемую точность. В том то и дело, что статистика в простейшем случае нам даст, грубо говоря, матожидание и разброс случ. величины. Поможет выявить закономерности в выборке. А вопрос точности - это уже к ней. Я это понимаю )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2011, 18:45 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
Кроме того, ТС утверждает, что статистика ему и не нужна. Ему нужно минимальное измерение из замеров в разные моменты. По большому счету он прав. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2011, 18:48 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
Опечатка: А вопрос точности - это уже НЕ к ней. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2011, 18:49 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
Edd.DragonКроме того, ТС утверждает, что статистика ему и не нужна. Ему нужно минимальное измерение из замеров в разные моменты. По большому счету он прав. Все гениально просто - чем ближе к цели, тем меньше пинг :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2011, 20:40 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
а как современные гигабитные сетевухи вычисляют длину кабеля? при чем до обрыва тоже. то есть совершенно неважно есть устройство с той стороны или нет его... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2011, 20:55 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
жесть. Открою вам секрет из метрологии, если провести не тысячу замеров, а допустим сто тысяч или сто миллионов, то с точностью до наносекунд можно замерять даже на наручных механических часах ... Обьясняется это обычным математическим рядом. Допустим линейка у нас ток микросекунду показывает, итого. Реальное время 0.999 микросекунд, один замер показывает ровно 1 микросекунду. Сделав тысячу замеров, получаем 999 микросекунд, что не противоречит точности линейки. Делим 999/1000 = 0.999 микросекунды. Короче увеличение общего количества замеров в десять раз увеличивает точность замера в десять раз. Метрология, наука о измерениях, ничего более. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2011, 21:25 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
eNoseа как современные гигабитные сетевухи вычисляют длину кабеля? при чем до обрыва тоже. то есть совершенно неважно есть устройство с той стороны или нет его... 1. Длину кабеля или длину сегмента между двумя пингующимися устройствами, который может состоять из N кусков неизвестной природы кабеля, репитеров, свичей и т.д.? 2. Сетевухи работают под управлением многозадачной среды, а код, который посылает сигналы, работает не просто в этой среде, а еще и в managed-окружении, которая уже работает в ОС? 3. Сетевухи имеют в своем арсенале только доступные в C# или WinAPI функции или же могут замерять и время, и уровень сигнала, замерять с точностью, которую обеспечили проектировщики платы, создавая ее для этой задачи, т.е. создали такую возможность аппаратно (а ТС решает задачу программно вопроки возможностям)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2011, 21:58 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
eNoseа как современные гигабитные сетевухи вычисляют длину кабеля? при чем до обрыва тоже. то есть совершенно неважно есть устройство с той стороны или нет его... Я не знал о таком протоколе. А где об этом можно почитать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2011, 22:13 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
Bazistжесть. Открою вам секрет из метрологии, если провести не тысячу замеров, а допустим сто тысяч или сто миллионов, то с точностью до наносекунд можно замерять даже на наручных механических часах ... Прочий бред проскипан... Возьми сто миллионов болтов и портняжный метр (тряпочный такой, с сантиметровыми делениями) Задача - определить диаметр болтов с точностью до 0,1 мм. Решай! Метролог, блин!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2011, 22:22 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
###Bazistжесть. Открою вам секрет из метрологии, если провести не тысячу замеров, а допустим сто тысяч или сто миллионов, то с точностью до наносекунд можно замерять даже на наручных механических часах ... Прочий бред проскипан... Возьми сто миллионов болтов и портняжный метр (тряпочный такой, с сантиметровыми делениями) Задача - определить диаметр болтов с точностью до 0,1 мм. Решай! Метролог, блин!!! Если каждый болт будет фиксированой ширины, например меньше на микрометр. То выложеная стопка из миллиона болтов будет меньше на целый метр и не потребует высокоточных штангельциркулей. КЭП ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2011, 22:44 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
Тоже с взвешиванием, одно зернышко например мака никто не может взвесить до тысячных долей грамма. Нет таких весов. Но возьмите стакан мака, пересчитайте крупицы, взвесьте все вместе и разделите на количество маковых зернышек и получите очень точный вес одного зернышка мака. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2011, 22:47 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
Bazist, Тебе пора менять ник на Троллист. Ничего другого на форумах от тебя не исходит. Либо предоставляй пруфлинки, либо не неси вненаучную чушь. То, что при взвешивании не меняющего свой вес куска мяса, путем усреднения мы уменьшаем случайную составляющую погрешности взвешивания (весы показывают то 707, то 705, и т.д.) - это очевидно и даже интуитивно понятно. Но весы показывают граммы. И усредненный результат точно так же имеет точность 1 грамм. Если погрешность измерения 1 грамм. То погрешность 1000 измерений - 1000 грамм. А погрешность среднего - снова 1 грамм. При этом в этом среднем уровень случайной составляющей во сколько-то там раз ниже, чем ее уровень в отдельно взятом измерении. Не? А у нас еще и кусок мяса вес свой меняет. При чем в серьезных пределах. Метрология намекает, что в таком случае усреднение не пригодно даже для уменьшения случайной составляющей. Так что увы и ах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2011, 22:52 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
###Возьми сто миллионов болтов и портняжный метр (тряпочный такой, с сантиметровыми делениями) Задача - определить диаметр болтов с точностью до 0,1 мм. Решай! Метролог, блин!!! Тряпичный растягивается ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2011, 22:54 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
BazistТоже с взвешиванием, одно зернышко например мака никто не может взвесить до тысячных долей грамма. Нет таких весов. Но возьмите стакан мака, пересчитайте крупицы, взвесьте все вместе и разделите на количество маковых зернышек и получите очень точный вес одного зернышка мака. Ты вообще разницу между 1000 взвешиваниями 1 зернышка и 1 взвешивания 1000 понимаешь? Раньше ты первое предлагал. А для увеличения точности нужно второе, КО! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2011, 22:55 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
Ты все напутал. Дело не в усреднении результатов тысячи измерений, нахождения арифметического среднего. А замера грубой линейкой суммы тысячи измерений один за одним. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2011, 22:56 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
Edd.DragonBazistТоже с взвешиванием, одно зернышко например мака никто не может взвесить до тысячных долей грамма. Нет таких весов. Но возьмите стакан мака, пересчитайте крупицы, взвесьте все вместе и разделите на количество маковых зернышек и получите очень точный вес одного зернышка мака. Ты вообще разницу между 1000 взвешиваниями 1 зернышка и 1 взвешивания 1000 понимаешь? Раньше ты первое предлагал. А для увеличения точности нужно второе, КО! одно измерение но тысячи пингов которые идут один за одним, я же там написал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2011, 22:58 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
###Bazistжесть. Открою вам секрет из метрологии, если провести не тысячу замеров, а допустим сто тысяч или сто миллионов, то с точностью до наносекунд можно замерять даже на наручных механических часах ... Прочий бред проскипан... Возьми сто миллионов болтов и портняжный метр (тряпочный такой, с сантиметровыми делениями) Задача - определить диаметр болтов с точностью до 0,1 мм. Решай! Метролог, блин!!! Ну... у нас в реальной жизни никто не ставит постановки типа взять сто миллионов болтов, но чисто инженерно, сложив их стопочкой можно мерять группы или как-то там по массе... Впрочем к сабж это весьма отдалено. Ведь мы меряем IT-шные характеристики времени которые удобнее считать кумулятивно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2011, 22:59 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
Это не отдаленно, суперточные линейки и не нужны никогда в технике. Но замеры нужны вплоть до наносекунд. Есть другие способы получить достоверные данные до требуемой точности на грубых линейках. Как в той задаче сколько весит одно маковое зернышко. Если стакан весит 354 грамма на электронных весах, при том что в стакане миллион зернышек, то вес одного зернышка 0.00035465 грамма ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2011, 23:03 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
mayton, Вы сугубо теоретически рассуждаете? Или реально знаете что-то про "кумулятивные" пинги? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2011, 23:04 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
Bazistодно измерение но тысячи пингов которые идут один за одним, я же там написал. 1 пинг - это измерение. 1000 пингов - это 1000 измерений. Уже совсем мимо кассы начал придумывать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2011, 23:04 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
BazistЭто не отдаленно, суперточные линейки и не нужны никогда в технике. Но замеры нужны вплоть до наносекунд. Есть другие способы получить достоверные данные до требуемой точности на грубых линейках. Как в той задаче сколько весит одно маковое зернышко. Если стакан весит 354 грамма на электронных весах, при том что в стакане миллион зернышек, то вес одного зернышка 0.00035465 грамма Про болты задачу реши - тЭоретик!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2011, 23:05 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
Edd.DragonBazistодно измерение но тысячи пингов которые идут один за одним, я же там написал. 1 пинг - это измерение. 1000 пингов - это 1000 измерений. Уже совсем мимо кассы начал придумывать. Ты чо дурак ? Возьми в цикл Код: plaintext 1. 2. 3. 4. 5. 6. Чо сложно для понимания до сих пор ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2011, 23:06 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
###, она уже решена. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2011, 23:07 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
BazistЕсли стакан весит 354 грамма на электронных весах, при том что в стакане миллион зернышек, то вес одного зернышка 0.00035465 грамма 1. Но мильен пингов - это мильен взвешиваний по зернышку... На каждое из которых весы покажут либо 0, либо 1 грамм. 2. Пинги у нас вообще по весу отличаться могут в десятки раз. Так что мильен пингов без толку делить на мильен. У нас точного значения как такового ))) Но точность измерения - есть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2011, 23:10 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
###mayton, Вы сугубо теоретически рассуждаете? Или реально знаете что-то про "кумулятивные" пинги? Давайте вспомним как ping вообще работает. Насколько я знаю есть разные имплементации. В Windows и Linux даже разные типы протоколов работают (TCP/ICMP). И возможно есть разные способы "интерпретации" результатов. Просто я хочу устаканить "начальные условия". Чтобы потом не было обидно за бесцельно потраченное... Надеюсь понятно сказал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2011, 23:10 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
Edd.DragonBazistЕсли стакан весит 354 грамма на электронных весах, при том что в стакане миллион зернышек, то вес одного зернышка 0.00035465 грамма 1. Но мильен пингов - это мильен взвешиваний по зернышку... На каждое из которых весы покажут либо 0, либо 1 грамм. 2. Пинги у нас вообще по весу отличаться могут в десятки раз. Так что мильен пингов без толку делить на мильен. У нас точного значения как такового ))) Но точность измерения - есть. эта тема уже достойна ПТ, премия дарвина. Я запощу, не поленюсь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2011, 23:11 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
Bazist###, она уже решена. Где? Сложить "стопочкой" сто мильёнов болтов? Позови посмотреть, когда будешь складывать!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2011, 23:12 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
###Bazist###, она уже решена. Где? Сложить "стопочкой" сто мильёнов болтов? Позови посмотреть, когда будешь складывать!!! А чтобы измерять средний рост китайца ты будешь собирать ВСЕХ китайцев? Не чуди, ты если учился в универе должен был проходить методы мат-статистики. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2011, 23:15 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
mayton###mayton, Вы сугубо теоретически рассуждаете? Или реально знаете что-то про "кумулятивные" пинги? Давайте вспомним как ping вообще работает. Насколько я знаю есть разные имплементации. В Windows и Linux даже разные типы протоколов работают (TCP/ICMP). И возможно есть разные способы "интерпретации" результатов. Просто я хочу устаканить "начальные условия". Чтобы потом не было обидно за бесцельно потраченное... Надеюсь понятно сказал. Если честно - первый раз слышу, что ping реализуется на чем-то отличном от ICMP. RFC Хотя - возможно я отстал от жизни... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2011, 23:17 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
Сложил сто миллионов измерений: Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2011, 23:18 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
Поправил Bazist Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2011, 23:18 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
[quot mayton]###пропущено... А чтобы измерять средний рост китайца ты будешь собирать ВСЕХ китайцев? Не чуди, ты если учился в универе должен был проходить методы мат-статистики. mayton, речь шла об измерении диаметра болтов порнняжным метром, т.е. заведомо неподходящим инструментом Это не моя идея - взять замеров побольше ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2011, 23:21 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
###Если честно - первый раз слышу, что ping реализуется на чем-то отличном от ICMP. RFC Хотя - возможно я отстал от жизни... Верно ICMP. Я спутал с работой tracert и traceroute. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2011, 23:21 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2011, 23:21 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
###mayton, речь шла об измерении диаметра болтов порнняжным метром, т.е. заведомо неподходящим инструментом Это не моя идея - взять замеров побольше Есть линейка, просто миллиметровка швейная. Ширина одного болта 0.9 см. Как измерить точно ? Сложить десять болтов. Их ширина будет ровно 9 см с точностью до миллиметра, а не 10 см если мерять по одному. Чо еще не понятно ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2011, 23:23 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
Bazist###mayton, речь шла об измерении диаметра болтов порнняжным метром, т.е. заведомо неподходящим инструментом Это не моя идея - взять замеров побольше Есть линейка, просто миллиметровка швейная. Ширина одного болта 0.9 см. Как измерить точно ? Сложить десять болтов. Их ширина будет ровно 9 см с точностью до миллиметра, а не 10 см если мерять по одному. Чо еще не понятно ? Ну не складываются болты!!!!!!! Так же как и пинги!!!!!!!!!!! Чтож ты за тупица-то такая? 2 Модератор - прошу прощения, но он достал тупостью!!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2011, 23:27 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
BazistEdd.Dragonпропущено... 1 пинг - это измерение. 1000 пингов - это 1000 измерений. Уже совсем мимо кассы начал придумывать. Ты чо дурак ? Возьми в цикл Код: plaintext 1. 2. 3. 4. 5. 6. Чо сложно для понимания до сих пор ? Очень сложно, потому что это применимо, когда разброс этих пингов сравним с требуемой точностью измерения , т.е. когда мы можем сказать, что взяли для измерения 1000 одинаковых болтов. А ты взял 1000 совершенно разных болтов, так что ты измерил? Вес какого из болтов ты измерил с точностью 0.001 грамма? Вес среднего болта? Когда в твоем наборе, может быть, болта с таким весом и вовсе нет? Если бы у тебя были 1000 идентичных пингов, вот тогда бы ты так и поступил. Например меряя уровеьн сигнала в кусе кабеля (без промежуточных устройств) и на аппаратном уровне, а не под управлением многозадачной ос через managed-среду. P.S.: Дураками обзываются только дети и слабаки (короче, психологически не защищенные люди, исчерпавшие запас аргументов). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2011, 23:27 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
почему не складываются ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2011, 23:28 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
Edd.DragonBazistпропущено... Ты чо дурак ? Возьми в цикл Код: plaintext 1. 2. 3. 4. 5. 6. Чо сложно для понимания до сих пор ? Очень сложно, потому что это применимо, когда разброс этих пингов сравним с требуемой точностью измерения , т.е. когда мы можем сказать, что взяли для измерения 1000 одинаковых болтов. А ты взял 1000 совершенно разных болтов, так что ты измерил? Вес какого из болтов ты измерил с точностью 0.001 грамма? Вес среднего болта? Когда в твоем наборе, может быть, болта с таким весом и вовсе нет? Если бы у тебя были 1000 идентичных пингов, вот тогда бы ты так и поступил. Например меряя уровеьн сигнала в кусе кабеля (без промежуточных устройств) и на аппаратном уровне, а не под управлением многозадачной ос через managed-среду. P.S.: Дураками обзываются только дети и слабаки (короче, психологически не защищенные люди, исчерпавшие запас аргументов). Если у вас один пинг 10 микросекунд допустим , а второй 15 микросекунд, третий 8 микросекунд то понятно что мерять до наносекунд там просто нечего и незачем. Но автор спрашивал какие есть средства ОСи для получения точности в наносекунды. Ему и ответил, что проблем нет на существующих линейках промерять до требуемой точности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2011, 23:31 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
BazistЕсли у вас один пинг 10 микросекунд допустим , а второй 15 микросекунд, третий 8 микросекунд то понятно что мерять до наносекунд там просто нечего и незачем. Но автор спрашивал какие есть средства ОСи для получения точности в наносекунды. Ему и ответил, что проблем нет на существующих линейках промерять до требуемой точности. А, так ты видите ли рассуждал о сферическом пинге в вакууме! Ну круто конечно. А ничего, что я вроде на слова не скупился и изначально пытался обратить твое внимание на то, что пинги (точнее их разброс) имеют уровень миллисекунд (не локалку же меряем), т.е. в 1 000 000 раз больше требуемой точности. А так же показывал, что пустой замер Код: plaintext 1. 2. дает end-start порядка микросекунд, т.е. в 1 000 раз больше требуемой точности. Но тебя ж изначально это не смутило )))) А потом я еще и дурак. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2011, 23:37 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
Я напомню что автор спрашивал Testor1Всем привет! Пожалуйста, поделитесь ссылкой или готовым c# class-ом для замера продолжительности события в наносекундах. Если у вас разброс измерений в микросекунды, то чего вы здесь четвертую страницу вообще обсуждаете ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2011, 23:40 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
Edd.Dragonдает end-start порядка микросекунд При разрешении таймера ~0.25 микросекунды результат у меня вышел 8 тиков этого таймера. Даже если у него будет в 10 раз быстрее - этого мало. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2011, 23:40 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
BazistЯ напомню что автор спрашивал Testor1Всем привет! Пожалуйста, поделитесь ссылкой или готовым c# class-ом для замера продолжительности события в наносекундах. Если у вас разброс измерений в микросекунды, то чего вы здесь четвертую страницу вообще обсуждаете ? Спасибо, что напомнил, предыдущее мое сообщение касается как раз C#, а может даже винды в целом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2011, 23:41 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
И автор то спрашивал, а ты ведь все-таки пинги складывал, а не абстрактные события. Какие тогда пинги, если автор не спрашивал о них? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2011, 23:43 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
Но вообще если такой разброс пингов то тем более нужно делать тысячу измерений по тому шаблону который я показал. Тогда можно вычислить некоторое среднее значение которое будет наиболее достоверным в существующих условиях. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2011, 23:43 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
Если б ты написал, что мол знаешь способ повысить точность измерения одинаково длящихся событий, то никто бы и не возразил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2011, 23:44 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
Короче нужна апроксимация ряда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2011, 23:44 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
Edd.DragonЕсли б ты написал, что мол знаешь способ повысить точность измерения одинаково длящихся событий, то никто бы и не возразил. Если в стакане есть зернышки которые весят в два раза больше чем другие зернышки, то всеравно нужно взвешивать все вместе и делить на количество и получать более менее точный вес одного зернышка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2011, 23:45 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
BazistНо вообще если такой разброс пингов то тем более нужно делать тысячу измерений по тому шаблону который я показал. Тогда можно вычислить некоторое среднее значение которое будет наиболее достоверным в существующих условиях. Делать надо как можно больше. Но цель не сколько среднее, сколько минимальное взятью. Т.е. такое, при котором было наименьшее влияние нагрузок и прочих протормозок. Только все-равно ему это не поможет вычислить расстояние между двумя ADSL модемами (АТС и клиент), т.к. они не соединены напрямую сплошным куском кабеля. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2011, 23:46 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
Я тут в качестве КЭПа от Метрологии. Если у вас нет предмета измерений то чо вы в этом топике до сих пор делаете. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2011, 23:51 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
BazistЯ тут в качестве КЭПа от Метрологии. Если у вас нет предмета измерений то чо вы в этом топике до сих пор делаете. Выясням, действительно ли у нас нет предмета измерения! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2011, 23:53 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
Edd.DragonBazistЯ тут в качестве КЭПа от Метрологии. Если у вас нет предмета измерений то чо вы в этом топике до сих пор делаете. Выясням, действительно ли у нас нет предмета измерения! Я понял. Ну копайте, там иНоз писал про обрывы, у электриков точно есть http://www.technokabel.com.ua/st_technokabel/nva_new/catalogue/Reflektor_RP-109.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2011, 00:16 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
Топик превращается в завалинку юмориста?:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2011, 07:14 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
народ, заканчивайте с "тупицами". обсуждайте в рамках дружественной и непринужденной атмосферы :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2011, 08:03 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
BazistEdd.DragonЕсли б ты написал, что мол знаешь способ повысить точность измерения одинаково длящихся событий, то никто бы и не возразил. Если в стакане есть зернышки которые весят в два раза больше чем другие зернышки, то всеравно нужно взвешивать все вместе и делить на количество и получать более менее точный вес одного зернышка. Зависит от модели распределения, Кэп. Смотри: У нас имеются: 1. 10 Коров 2. 2 Барана 3. 7 Кенгуру 4. 1 Одноногий пастух - инвалид Спрашивается, какое среднее количество ног у представителей этого стада??? ;o) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2011, 09:52 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
Bazist можно вычислить некоторое среднее значение которое будет наиболее достоверным в существующих условиях.Молодец, ты уже умеешь вычислять средние значения. Теперь прочитай про "дисперсию", "среднеквадратическое отклонение" и другие параметры в статистике. Например: 4.2.1. Повышение точности путем усреднения результатов измерений парочка предложений оттуда, совсем немного, для легкости восприятия: авторСлучайная составляющая погрешности может быть снижена путем усреднения результатов многократных измерений. Если в составе погрешности преобладает систематическая компонента, то усреднение не приводит к повышению точности.авторИтак, усреднение некоррелированных измерений (см. (3.2)) позволяет уменьшить погрешность результата в sqrt(N) раз. ( пока что ты прав, но читай дальше ) Однако это утверждение справедливо при соблюдении нескольких условий, выполнимость которых довольно трудно проверить на практике. Во-первых, усреднение дает эффект только для случайной составляющей погрешности. Погрешность измерений перестает уменьшаться, когда становится настолько малой, что суммарная погрешность определяется систематической составляющей. Систематическая погрешность складывается из нелинейности АЦП и операционных усилителей, температурной зависимости напряжения смещения нуля и коэффициента передачи измерительного канала (температурно-зависимые погрешности учитываются как дополнительные), низкочастотных шумов, у которых время автокорреляции больше времени выполнения серии повторных измерений (к ним относится, в частности, "старение" элементов), динамической погрешности .( здесь можно подставить описание "твоего" инструмента измерения ) Практически редко удается снизить общую погрешность измерений более чем в 2...3 раза с помощью усреднения. BazistЯ напомню что автор спрашивал Testor1Пожалуйста, поделитесь ссылкой или готовым c# class-ом для замера продолжительности события в наносекундах. Вы клоны? Немного похож стиль, и степень незнания, ;) хотя Testor1 говорит "привет" и "пожалуйста", что для Базиста нетипично ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2011, 19:51 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
S.G., Почему все зациклились на средней величине? Ведь понятно, что для решение задачи она не подходит. Нужно использовать минимально зафиксированную величину в час наименьшей нагрузки канала. То есть в 3-5 часов ночи :) понять как работает ICMP - это тема. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2011, 09:56 |
|
||
|
c# class для замера продолжительность события в наносекундах
|
|||
|---|---|---|---|
|
#18+
Testor1Почему все зациклились на средней величине? Ведь понятно, что для решение задачи она не подходит. Видите ли, коллега, не всем понятно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2011, 10:50 |
|
||
|
|

start [/forum/topic.php?all=1&fid=16&tid=1342771]: |
0ms |
get settings: |
5ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
177ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
103ms |
get tp. blocked users: |
1ms |
| others: | 208ms |
| total: | 525ms |

| 0 / 0 |
