kwave
18.07.70
|
#include <time.h>
#include <stdlib.h>
#include <string.h>
#include <stdint.h>
#include "cputest.h"
#include <stdio.h>
Go to the source code of this file.
Macros | |
#define | _(m) m |
#define | xprintf printf |
#define | LOG_MODULE "memcpy" |
#define | LOG_VERBOSE |
#define | HAVE_AVX |
#define | BUFSIZE 1024*1024 |
Functions | |
void | probe_fast_memcpy (void) |
static uint64_t | rdtsc (int config_flags) |
Variables | |
void *(* | xine_fast_memcpy )(void *to, const void *from, size_t len) |
struct { | |
const char name [16] | |
void *(*const function )(void *to, const void *from, size_t len) | |
uint32_t cpu_require | |
} | memcpy_method [] |
static uint64_t | memcpy_timing [sizeof(memcpy_method)/sizeof(memcpy_method[0])] = { 0, } |
#define _ | ( | m | ) | m |
Definition at line 66 of file memcpy.c.
Referenced by Kwave::AboutContributor::AboutContributor(), Kwave::AboutDialog::AboutDialog(), Kwave::FileInfoDialog::accept(), Kwave::FlacEncoder::VorbisCommentContainer::add(), addDataStrings(), addIfExists(), Kwave::CodecBase::addMimeType(), Kwave::MenuManager::addNumberedMenuEntry(), Kwave::MultiStateWidget::addPixmap(), Kwave::PlayBackALSA::alsaDeviceName(), Kwave::RecordALSA::alsaDeviceName(), Kwave::AmplifyFreePlugin::AmplifyFreePlugin(), Kwave::LabelItem::appendContextMenu(), Kwave::FileInfoPlugin::apply(), Kwave::FileInfoDialog::autoGenerateKeywords(), Kwave::PlayerToolBar::blinkPause(), Kwave::MP3EncoderDialog::browseFile(), Kwave::TopWidget::clipboardChanged(), Kwave::GotoPlugin::command(), Kwave::InsertAtPlugin::command(), Kwave::Filter::command(), Kwave::SignalWidget::contextMenuEditCopy(), Kwave::SignalWidget::contextMenuEditCut(), Kwave::SignalWidget::contextMenuEditPaste(), Kwave::SignalWidget::contextMenuEditRedo(), Kwave::SignalWidget::contextMenuEditUndo(), Kwave::SignalWidget::contextMenuEvent(), Kwave::LabelItem::contextMenuLabelDelete(), Kwave::TrackView::contextMenuLabelNew(), Kwave::LabelItem::contextMenuLabelProperties(), Kwave::SignalWidget::contextMenuSaveSelection(), Kwave::SignalWidget::contextMenuSelectionExpandToLabels(), Kwave::SignalWidget::contextMenuSelectionNextLabels(), Kwave::SignalWidget::contextMenuSelectionPrevLabels(), Kwave::SignalManager::continueWithoutUndo(), Kwave::SaveBlocksPlugin::createDisplayList(), Kwave::SaveBlocksPlugin::createFileName(), Kwave::K3BExportPlugin::createFileName(), Kwave::CurveWidget::CurveWidget(), Kwave::CodecManager::decodingFilter(), Kwave::PluginManager::defaultParams(), Kwave::FileContext::delegateCommand(), Kwave::FileInfoDialog::describeWidget(), Kwave::CompressionWidget::describeWidget(), Kwave::UndoDeleteMetaDataAction::description(), Kwave::UndoModifyMetaDataAction::description(), Kwave::UndoTransaction::description(), Kwave::K3BExportPlugin::detectBlockMetaData(), Kwave::RIFFParser::detectEndianness(), Kwave::ScaleWidget::drawLinear(), Kwave::ScaleWidget::drawLog(), Kwave::TopWidget::dropEvent(), Kwave::SignalView::dropEvent(), Kwave::UndoDeleteMetaDataAction::dump(), Kwave::UndoModifyMetaDataAction::dump(), Kwave::UndoTransaction::dump(), Kwave::MetaData::dump(), Kwave::DebugPlugin::dump_children(), Kwave::SaveBlocksDialog::emitUpdate(), Kwave::MimeData::encode(), Kwave::MP3Encoder::encode(), Kwave::MP3Encoder::encodeID3Tags(), Kwave::CodecManager::encodingFilter(), Kwave::Parser::escape(), Kwave::Parser::escapeForFileName(), Kwave::MenuManager::executeCommand(), Kwave::TopWidget::executeCommand(), Kwave::App::executeCommand(), Kwave::FileContext::executeCommand(), Kwave::PluginManager::executePlugin(), Kwave::FileDialog::FileDialog(), Kwave::RecordOSS::fileFilter(), Kwave::PlayBackOSS::fileFilter(), Kwave::RecordDevice::fileFilter(), Kwave::PlayBackALSA::fileFilter(), Kwave::PlayBackQt::fileFilter(), Kwave::PlayBackPulseAudio::fileFilter(), Kwave::PlayBackDevice::fileFilter(), Kwave::FileProgress::FileProgress(), Kwave::RecordTypesMap::fill(), Kwave::PlayBackTypesMap::fill(), Kwave::Functions::FunctionTypesMap::fill(), Kwave::SampleFormat::Map::fill(), Kwave::WindowFunction::InitializedTypesMap::fill(), Kwave::FileInfo::PropertyTypesMap::fill(), Kwave::Compression::fillMap(), Kwave::Filter::Filter(), Kwave::SaveBlocksPlugin::findBase(), Kwave::SaveBlocksPlugin::firstIndex(), Kwave::FileProgress::fitUrlLabel(), Kwave::GenreType::fromID3(), Kwave::Parser::fromUrl(), Kwave::AmplifyFreeDialog::getCommand(), Kwave::Curve::getCommand(), Kwave::FileDialog::guessFilterFromFileExt(), Kwave::TrackView::handleContextMenu(), Kwave::MP3Decoder::handleError(), Kwave::GenreType::id(), Kwave::FileContext::init(), Kwave::TopWidget::init(), Kwave::RecordQt::initialize(), Kwave::FileInfoDialog::initInfo(), Kwave::CompressionWidget::initInfo(), Kwave::SampleRatePlugin::interpreteParameters(), Kwave::AmplifyFreePlugin::interpreteParameters(), Kwave::AmplifyFreeDialog::invokeHelp(), Kwave::StringEnterDialog::invokeHelp(), Kwave::VolumeDialog::invokeHelp(), Kwave::MemoryDialog::invokeHelp(), Kwave::SonagramDialog::invokeHelp(), Kwave::MP3EncoderDialog::invokeHelp(), Kwave::FileInfoDialog::invokeHelp(), Kwave::SelectRangeDialog::invokeHelp(), Kwave::NoiseDialog::invokeHelp(), Kwave::LowPassDialog::invokeHelp(), Kwave::PitchShiftDialog::invokeHelp(), Kwave::NewSignalDialog::invokeHelp(), Kwave::NotchFilterDialog::invokeHelp(), Kwave::BandPassDialog::invokeHelp(), Kwave::PlayBackDialog::invokeHelp(), Kwave::RecordDialog::invokeHelp(), Kwave::K3BExportPlugin::knownPatterns(), Kwave::LabelPropertiesWidget::labelName(), Kwave::MP3CodecPlugin::load(), Kwave::StringEnterPlugin::load(), Kwave::DebugPlugin::load(), Kwave::K3BExportPlugin::load(), Kwave::Filter::load(), Kwave::TopWidget::loadFile(), Kwave::MainWidget::loadLabels(), Kwave::CurveWidget::loadPresetList(), Kwave::Logger::log(), main(), Kwave::MenuItem::MenuItem(), Kwave::MenuSub::MenuSub(), Kwave::TopWidget::metaDataChanged(), Kwave::Label::metaDataType(), Kwave::CodecBase::mimeTypeOf(), Kwave::OverViewWidget::mouseDoubleClickEvent(), Kwave::MP3EncoderDialog::MP3EncoderDialog(), Kwave::ms2string(), Kwave::AboutPlugin::name(), Kwave::GenreType::name(), Kwave::Functions::name(), Kwave::App::newInstance(), Kwave::TopWidget::newSignal(), Kwave::MetaData::MetaDataPriv::newUid(), Kwave::Parser::nextParam(), Kwave::MemoryManager::nextSwapFileName(), Kwave::PlayBackOSS::open(), Kwave::AsciiDecoder::open(), Kwave::MP3Decoder::open(), Kwave::FlacDecoder::open(), Kwave::WavDecoder::open(), Kwave::VorbisDecoder::open(), Kwave::PlayBackQt::open(), Kwave::RecordALSA::open(), Kwave::PlayBackPulseAudio::open(), Kwave::Logger::open(), Kwave::PlayBackALSA::openDevice(), Kwave::TopWidget::openFile(), Kwave::FileContext::parseCommands(), Kwave::OpusDecoder::parseComment(), Kwave::OggDecoder::parseHeader(), Kwave::MP3Decoder::parseId3Frame2String(), Kwave::MP3Decoder::parseID3Tags(), Kwave::MP3Decoder::parseMp3Header(), Kwave::VorbisDecoder::parseTag(), Kwave::MenuNode::path(), Kwave::SaveBlocksWidget::pattern(), Kwave::SaveBlocksDialog::pattern(), Kwave::K3BExportDialog::pattern(), Kwave::PlayerToolBar::PlayerToolBar(), probe_fast_memcpy(), Kwave::App::processCmdline(), Kwave::RecordDialog::rate2string(), Kwave::RecordDialog::RecordDialog(), Kwave::RecordPlugin::resetRecording(), Kwave::ReversePlugin::run(), Kwave::DebugPlugin::run(), sanitized(), Kwave::MP3EncoderDialog::save(), Kwave::SonagramWindow::save(), Kwave::Filter::save(), Kwave::SignalManager::save(), Kwave::K3BExportPlugin::saveBlocks(), Kwave::SaveBlocksWidget::SaveBlocksWidget(), Kwave::FileDialog::saveConfig(), Kwave::K3BExportPlugin::saveDocumentData(), Kwave::FileContext::saveFileAs(), Kwave::K3BExportPlugin::saveGeneralDocumentData(), Kwave::K3BExportPlugin::saveK3BFile(), Kwave::MainWidget::saveLabels(), Kwave::PluginManager::savePluginDefaults(), Kwave::CurveWidget::savePreset(), Kwave::PlayBackQt::scanDevices(), Kwave::PlayBackALSA::scanDevices(), Kwave::RecordALSA::scanDevices(), Kwave::RecordQt::scanDevices(), Kwave::PlayBackPulseAudio::scanDevices(), Kwave::RecordPulseAudio::scanDevices(), scanDirectory(), Kwave::MP3EncoderDialog::searchPath(), Kwave::PluginManager::searchPluginModules(), Kwave::FileDialog::selectedExtension(), Kwave::TopWidget::selectionChanged(), Kwave::PlayBackDialog::selectPlaybackDevice(), Kwave::RecordDialog::selectRecordDevice(), Kwave::PlayBackDialog::setChannels(), Kwave::PlayBackDialog::setDevice(), Kwave::RecordPlugin::setDevice(), Kwave::PlayBackDialog::setMethod(), Kwave::RecordPlugin::setMethod(), Kwave::AmplifyFreeDialog::setParams(), Kwave::RecordDialog::setState(), Kwave::PlayBackDialog::setSupportedDevices(), Kwave::RecordDialog::setSupportedDevices(), Kwave::RecordDialog::setTracks(), Kwave::TopWidget::setUndoRedoInfo(), Kwave::NewSignalPlugin::setup(), Kwave::SaveBlocksPlugin::setup(), Kwave::SelectRangePlugin::setup(), Kwave::AmplifyFreePlugin::setup(), Kwave::GotoPluginBase::setup(), Kwave::DebugPlugin::setup(), Kwave::RecordPlugin::setup(), Kwave::PlayBackPlugin::setup(), Kwave::K3BExportPlugin::setup(), Kwave::OpusEncoder::setupBitrate(), Kwave::OpusEncoder::setupDownMix(), Kwave::FileInfoDialog::setupFileInfoTab(), Kwave::FileInfoDialog::setupMiscellaneousTab(), Kwave::SignalManager::signalName(), Kwave::SonagramWindow::SonagramWindow(), Kwave::MenuItem::specialCommand(), Kwave::MenuSub::specialCommand(), Kwave::MenuRoot::specialCommand(), Kwave::MenuNode::specialCommand(), Kwave::Parser::splitCommands(), Kwave::GotoPluginBase::start(), Kwave::SaveBlocksPlugin::start(), Kwave::K3BExportPlugin::start(), Kwave::RecordPlugin::startRecording(), Kwave::string2date(), Kwave::RecordOSS::supportedDevices(), Kwave::PlayBackOSS::supportedDevices(), Kwave::PlayBackALSA::supportedDevices(), Kwave::RecordALSA::supportedDevices(), Kwave::PlayBackQt::supportedDevices(), Kwave::PlayBackPulseAudio::supportedDevices(), Kwave::RecordQt::supportedDevices(), Kwave::RecordPulseAudio::supportedDevices(), Kwave::PlayBackPlugin::testPlayBack(), Kwave::Parser::toBool(), Kwave::TopWidget::toolbarEditCopy(), Kwave::TopWidget::toolbarEditCut(), Kwave::TopWidget::toolbarEditDelete(), Kwave::TopWidget::toolbarEditErase(), Kwave::TopWidget::toolbarEditPaste(), Kwave::TopWidget::toolbarEditRedo(), Kwave::TopWidget::toolbarEditUndo(), Kwave::TopWidget::toolbarFileClose(), Kwave::TopWidget::toolbarFileNew(), Kwave::TopWidget::toolbarFileOpen(), Kwave::TopWidget::toolbarFileSave(), Kwave::TopWidget::toolbarFileSaveAs(), Kwave::PlayerToolBar::toolbarForward(), Kwave::PlayerToolBar::toolbarForwardNext(), Kwave::PlayerToolBar::toolbarRecord(), Kwave::TopWidget::toolbarRecord(), Kwave::PlayerToolBar::toolbarRewind(), Kwave::PlayerToolBar::toolbarRewindPrev(), Kwave::SelectionBorderItem::toolTip(), Kwave::LabelItem::toolTip(), Kwave::TopWidget::TopWidget(), Kwave::FileInfoDialog::tracksChanged(), Kwave::NewSignalDialog::tracksChanged(), Kwave::TrackView::TrackView(), Kwave::UndoReverseAction::undo(), Kwave::RecordDialog::updateBufferState(), Kwave::VolumeDialog::updateDisplay(), Kwave::NoiseDialog::updateDisplay(), Kwave::TopWidget::updateMenu(), Kwave::TopWidget::updateRecentFiles(), Kwave::PitchShiftDialog::updateSpeed(), Kwave::PlayerToolBar::updateState(), Kwave::ZoomToolBar::updateToolbar(), Kwave::urlScheme(), Kwave::WavDecoder::WavDecoder(), Kwave::MainWidget::wheelEvent(), Kwave::OpusEncoder::writeOpusTags(), Kwave::zoom2string(), Kwave::ZoomToolBar::zoomAll(), Kwave::ZoomToolBar::zoomIn(), Kwave::ZoomToolBar::zoomNormal(), Kwave::ZoomToolBar::zoomOut(), Kwave::ZoomToolBar::zoomSelection(), Kwave::ZoomToolBar::ZoomToolBar(), and Kwave::Logger::~Logger().
#define BUFSIZE 1024*1024 |
Definition at line 600 of file memcpy.c.
Referenced by probe_fast_memcpy().
#define xprintf printf |
Definition at line 67 of file memcpy.c.
Referenced by probe_fast_memcpy(), and rdtsc().
void probe_fast_memcpy | ( | void | ) |
Definition at line 604 of file memcpy.c.
References _, BUFSIZE, cpu_require, lprintf, memcpy_method, memcpy_timing, name, rdtsc(), xine_fast_memcpy, xine_mm_accel(), and xprintf.
Referenced by addDataStrings(), and main().
|
static |
Definition at line 564 of file memcpy.c.
References cpu_require, lprintf, memcpy_method, name, xine_fast_memcpy, xine_mm_accel(), and xprintf.
Referenced by probe_fast_memcpy().
uint32_t cpu_require |
Definition at line 513 of file memcpy.c.
Referenced by probe_fast_memcpy(), and rdtsc().
void*(*const function) (void *to, const void *from, size_t len) |
const { ... } memcpy_method[] |
Referenced by probe_fast_memcpy(), and rdtsc().
|
static |
Definition at line 530 of file memcpy.c.
Referenced by probe_fast_memcpy().
const char name[16] |
Definition at line 510 of file memcpy.c.
Referenced by Kwave::RIFFParser::addGarbageChunk(), Kwave::PlayBackALSA::alsaDeviceName(), Kwave::RecordALSA::alsaDeviceName(), Kwave::Compression::assign(), Kwave::SignalManager::canRedo(), Kwave::PlayBackPulseAudio::connectToServer(), Kwave::RecordPulseAudio::connectToServer(), Kwave::PluginManager::createPluginInstance(), Kwave::PluginManager::defaultParams(), Kwave::UndoDeleteMetaDataAction::description(), Kwave::UndoModifyMetaDataAction::description(), Kwave::RIFFParser::detectEndianness(), Kwave::OggEncoder::encode(), Kwave::CodecManager::encodingMimeTypes(), Kwave::FileContext::executeCommand(), Kwave::PluginManager::executePlugin(), Kwave::Interpolation::find(), Kwave::FileInfoDialog::info(), Kwave::RecordALSA::initialize(), Kwave::RecordPulseAudio::initialize(), Kwave::PluginManager::loadAllPlugins(), Kwave::MainWidget::loadLabels(), Kwave::CurveWidget::loadPresetList(), Kwave::FileContext::metaDataChanged(), Kwave::Label::metaDataType(), Kwave::MP3EncoderDialog::MP3EncoderDialog(), Kwave::App::newInstance(), Kwave::PlayBackPulseAudio::notifySinkInfo(), Kwave::RecordPulseAudio::notifySourceInfo(), Kwave::AsciiDecoder::open(), Kwave::WavDecoder::open(), Kwave::PlayBackPulseAudio::open(), Kwave::Logger::open(), Kwave::TopWidget::openFiles(), Kwave::Label::operator==(), Kwave::RIFFParser::parse(), Kwave::FileContext::parseCommands(), Kwave::FlacDecoder::parseVorbisComments(), probe_fast_memcpy(), rdtsc(), Kwave::SignalManager::redo(), Kwave::Filter::save(), Kwave::FileContext::saveFileAs(), Kwave::MainWidget::saveLabels(), Kwave::PluginManager::savePluginDefaults(), Kwave::CurveWidget::savePreset(), Kwave::PlayBackALSA::scanDevices(), Kwave::RecordALSA::scanDevices(), Kwave::PlayBackPulseAudio::scanDevices(), Kwave::RecordPulseAudio::scanDevices(), Kwave::PluginManager::searchPluginModules(), Kwave::SignalManager::undo(), Kwave::UndoAddMetaDataAction::UndoAddMetaDataAction(), Kwave::MP3EncoderDialog::updateEncoderInfo(), Kwave::TopWidget::updateMenu(), Kwave::WavDecoder::WavDecoder(), Kwave::FileContext::windowCaption(), Kwave::WavEncoder::writeInfoChunk(), Kwave::WavEncoder::writeLabels(), Kwave::GenreType::~GenreType(), and Kwave::PluginManager::~PluginManager().
void *(* xine_fast_memcpy)(void *to, const void *from, size_t len) |
Definition at line 87 of file memcpy.c.
Referenced by probe_fast_memcpy(), and rdtsc().