Форум программистов, компьютерный форум, киберфорум
Наши страницы
Python
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
Dead_Messiah
8 / 8 / 2
Регистрация: 22.10.2010
Сообщений: 126
Завершенные тесты: 1
1

Как установить модуль rdtsc?

15.11.2013, 12:47. Просмотров 957. Ответов 13
Метки нет (Все метки)

Здравствуйте!

Решил найти пример использования модуля Threading.
Нашёл пример. Собственно, вот он:
Python
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
from rdtsc import rdtsc
from calibr import calibr, delay_in_cycle
import getopt
import sys
import threading
import time
import string
 
debuglevel = 0
threadnum = 2
delay = 1
active = 0
 
def thrfun( *args ):         # функция потока
    st = rdtsc() - args[ 2 ] # время старта потока
    ss = "\t%i : %s <= старт: %u" % \
         ( args[ 1 ], threading.currentThread().getName(), st )
    if not active : time.sleep( args[ 0 ] )
    else : delay_in_cycle( args[ 0 ] )
    st = rdtsc() - args[ 2 ] # время завершения потока
    print ("%s - финиш: %u" % ( ss, st ))
    return
 
opts, args = getopt.getopt( sys.argv[1:], "vt:d:a" )
for opt, arg in opts:        # опции (ключи) командной строки (-v, -t, -d, -a)
    if 0 == cmp( opt[ 1: ], 'v' ): debuglevel = debuglevel + 1
    if 0 == cmp( opt[ 1: ], 't' ): threadnum = string.atoi( arg )
    if 0 == cmp( opt[ 1: ], 'd' ): delay = string.atoi( arg )
    if 0 == cmp( opt[ 1: ], 'a' ): active = 1
if debuglevel > 0 :
    print (opts)
    print (args)
    print (debuglevel)
    print (threadnum)
 
threads = []
for n in range( threadnum ): # создание и запуск потоков
    parm = [ delay, n, 0 ]
    t = threading.Thread( target=thrfun, args=parm )
    threads.append( t )
    t.setDaemon( 1 )
    print ("\t%i : %s =>" % ( n, t.getName() ))
    parm[ 2 ] = rdtsc()
    t.start()
for n in range( threadnum ): # ожидание завершения всех потоков
    threads[ n ].join()
print ("завершены все %i потоков, \
       завершается ожидавший главный поток" % threadnum)
После нажатия F5 выдаётся следующее:

Python
1
2
3
4
Traceback (most recent call last):
  File "/home/isapgod/Threads.py", line 1, in <module>
    import rdtsc
ImportError: No module named rdtsc
Вопрос: как это лечится? В студии, например, в папку с библиотеками кинул недостающую библиотеку и всё нормально. А тут гуггл не выдаёт внятных результатов по этому поводу.
ЗЫЖ использую Python 2.7.3

Заранее спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.11.2013, 12:47
Ответы с готовыми решениями:

Как установить модуль requests?
Открываю setup в python - ошибка какая-то Добавлено через 39 секунд no such...

Как установить модуль requests?
я не знаю что такое PIP, поэтому нажал на downlod tarball, скачал, то что было...

Как установить модуль lxml?
Подскажите как установить модуль lmxl на python3.3 ?

Как установить модуль pygame в eclipse?
# Импортируем библиотеку pygame import pygame from pygame import * ...

Как правильно установить модуль JIRA
Всем доброго времени суток, хочу написать плагинчик под JIRA, пишу из под винды...

13
ilnurgi
139 / 139 / 38
Регистрация: 20.02.2012
Сообщений: 597
15.11.2013, 14:37 2
Цитата Сообщение от Dead_Messiah Посмотреть сообщение
Вопрос: как это лечится?
установкой модуля rdtsc
0
Dead_Messiah
8 / 8 / 2
Регистрация: 22.10.2010
Сообщений: 126
Завершенные тесты: 1
15.11.2013, 14:52  [ТС] 3
Цитата Сообщение от ilnurgi Посмотреть сообщение
установкой модуля rdtsc
Это понятно, но покажите, пожалуйста, откуда его скачать и куда закинуть?

Юзаю убунту.


PS: Только не надо фраз типа "тебя что, в гуггле забанили?"
Ибо на запрос "скачать модуль rdtsc"/"скачать rdtsc" ничего адекватного не выдаёт.
0
ilnurgi
139 / 139 / 38
Регистрация: 20.02.2012
Сообщений: 597
15.11.2013, 15:54 4
вам модуль rdtsc нужен только для запуска данного скрипта?
или он вам вообще нужен?

может для потока вам этого достаточно?
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import sys
import threading
import time
import string
  
def thrfun(n):         
    # функция потока
    print ("поток номер %d" %n)
    return
 
threads = []
for n in range(5): # создание и запуск потоков
    t = threading.Thread(target=thrfun, args=[n])
    threads.append(t)
    t.setDaemon(1)
    print ("\t%i : %s =>" % ( n, t.getName() ))
    t.start()
for n in range( threadnum ): # ожидание завершения всех потоков
    threads[ n ].join()
print ("завершены все %i потоков, \
       завершается ожидавший главный поток" % threadnum)
0
Dead_Messiah
8 / 8 / 2
Регистрация: 22.10.2010
Сообщений: 126
Завершенные тесты: 1
15.11.2013, 15:58  [ТС] 5
ilnurgi, спасибо за хороший пример. Модуль rdtsc мне нужен как вообще (использование в недалёком будущем), так и для этого скрипта.
0
accept
4833 / 3255 / 455
Регистрация: 10.12.2008
Сообщений: 10,569
15.11.2013, 20:19 6
Цитата Сообщение от Dead_Messiah Посмотреть сообщение
Это понятно, но покажите, пожалуйста, откуда его скачать и куда закинуть?
скорее всего, его надо создать
0
Dead_Messiah
8 / 8 / 2
Регистрация: 22.10.2010
Сообщений: 126
Завершенные тесты: 1
15.11.2013, 20:48  [ТС] 7
accept, он написан на ассемблере. Некоторые вещи на ассемблере я могу сделать, типа диспетчера процессов, например. А такое я просто не осилю. Опыта и силёнок не хватит.
0
accept
4833 / 3255 / 455
Регистрация: 10.12.2008
Сообщений: 10,569
15.11.2013, 20:52 8
Цитата Сообщение от Dead_Messiah Посмотреть сообщение
Нашёл пример. Собственно, вот он:
там, где нашёл, должен быть и модуль этот, готовый или в виде инструкции, как изготовить
0
Dead_Messiah
8 / 8 / 2
Регистрация: 22.10.2010
Сообщений: 126
Завершенные тесты: 1
17.11.2013, 01:05  [ТС] 9
accept, нашёл текст модуля, и написано, как его скомпилить. Но у меня не работает :\

Код
$ gcc -c -fpic rdtsc_wrap.c rdtsc.c -I/usr/include/python2.7
$ ld -shared rdtsc_wrap.o rdtsc.o -lc -o rdtscmodule.so
Первая строка не пашет
Но пашет вот так
Код
$ gcc -c -fpic rdtsc_wrap.c -o rdtsc.c -I/usr/include/python2.7
А вторая строка не выполняется. Пишет:
Код
ld: cannot find rdtsc_wrap.o: No such file or directory
ld: cannot find rdtsc.o: No such file or directory
Вот код самого модуля:

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <Python.h>
extern unsigned long long rdtsc( void );
  
PyObject* rdtsc_wrap( PyObject* self, PyObject* args ) {
    if( self != NULL ) return NULL; // обработка ошибки вызова
    return Py_BuildValue( "L", rdtsc() );
} 
  
// таблица методов
static PyMethodDef rdtscmethods[] = {
    { "rdtsc", rdtsc_wrap, METH_NOARGS },
    { NULL, NULL }
};
  
// функция инициализации модуля
void initrdtsc() {
    Py_InitModule( "rdtsc", rdtscmethods );
}
0
accept
4833 / 3255 / 455
Регистрация: 10.12.2008
Сообщений: 10,569
17.11.2013, 07:35 10
Цитата Сообщение от Dead_Messiah Посмотреть сообщение
Bash
1
gcc -c -fpic
обычно пишут -fPIC

Добавлено через 57 секунд
Цитата Сообщение от Dead_Messiah Посмотреть сообщение
Но пашет вот так
это неправильно
1
Dead_Messiah
8 / 8 / 2
Регистрация: 22.10.2010
Сообщений: 126
Завершенные тесты: 1
17.11.2013, 14:51  [ТС] 11
accept,
Код
cc1: ошибка: unrecognized command line option «-fPic»
0
accept
4833 / 3255 / 455
Регистрация: 10.12.2008
Сообщений: 10,569
17.11.2013, 21:15 12
не -fPic, а -fPIC
0
Olej
322 / 170 / 24
Регистрация: 25.03.2012
Сообщений: 712
19.11.2013, 18:46 13
Цитата Сообщение от Dead_Messiah Посмотреть сообщение
accept, нашёл текст модуля, и написано, как его скомпилить. Но у меня не работает :\
А спрашивать надо там, где и нашёл ... вот здесь: Python - параллелизм ... и в соседних там темах.

А не здесь ... где кроме "бла-бла-бла" ничего не ответят

 Комментарий модератора 
правила
5.8. Запрещено публиковать ссылки на другие форумы, а также их пропаганда. Публикация ссылок на форумы допустима только в разделе "Готовые движки, cms и форумы" для решения технических проблем и с предварительного одобрения администрации.
1
accept
19.11.2013, 19:32     Как установить модуль rdtsc?
  #14

Не по теме:

Цитата Сообщение от Olej Посмотреть сообщение
А не здесь ... где кроме "бла-бла-бла" ничего не ответят
здесь не у всех время есть заниматься, дел хватает

0
19.11.2013, 19:32
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.11.2013, 19:32
Привет! Вот еще темы с ответами:

Python(X,Y) как установить недостающий модуль
Доброго времени суток. Вопрос. У меня на производстве установили Python(X,Y)...

Как установить модуль Прогресс Бар на Питон 3.4.4 [Windows 7 (32)]?
Всем привет! Помогите, пожалуйста, с вопросами по установке пакетов на Python....

Как установить модуль без .exe и не находящийся в списке PyPI
Для моей статистической работы нужно установить написаный в питоне модуль...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru