<commit_before>#ifndef TUVOK_PERF_COUNTER_H
#define TUVOK_PERF_COUNTER_H

/// Valid performance counters the system should track.
/// When adding a new counter, please add a (units) clause so we know how to
/// interpret the value!
enum PerfCounter {
  PERF_DISK_READ=0,   // reading bricks from disk (seconds)
  PERF_DECOMPRESSION, // decompressing brick data (seconds)
  PERF_COMPRESSION,   // compressing brick data (seconds)
  PERF_BRICKS,        // number of bricks read/processed (counter)
  PERF_BRICK_COPY,    // copying data into rebricked bricks (seconds)
  PERF_MM_PRECOMPUTE, // computing min/max for new bricks (seconds)
  PERF_END_IO, // invalid; end of IO-based metrics

  PERF_READ_HTABLE=1000, // reading hash table from GPU (seconds)
  PERF_CONDENSE_HTABLE,  // condensing hash table [removing empties] (seconds)
  PERF_RENDER,           // (seconds)
  PERF_UPLOAD_BRICKS,    // uploading bricks to GPU [tex updates] (seconds)
  PERF_END_RENDER, // invalid; end of render-based metrics
  PERF_END // invalid; used for sizing table.
};

/// interface for classes which can be queried in this way.
struct PerfQueryable {
  virtual double PerfQuery(enum PerfCounter) = 0;
};

#endif
/*
   For more information, please see: http://software.sci.utah.edu

   The MIT License

   Copyright (c) 2013 Interactive Visualization and Data Analysis Group

   Permission is hereby granted, free of charge, to any person obtaining a<commit_msg>Add new perfcounter.<commit_after>#ifndef TUVOK_PERF_COUNTER_H
#define TUVOK_PERF_COUNTER_H

/// Valid performance counters the system should track.
/// When adding a new counter, please add a (units) clause so we know how to
/// interpret the value!
enum PerfCounter {
  PERF_DISK_READ=0,   // reading bricks from disk (seconds)
  PERF_DECOMPRESSION, // decompressing brick data (seconds)
  PERF_COMPRESSION,   // compressing brick data (seconds)
  PERF_BRICKS,        // number of bricks read/processed (counter)
  PERF_BRICK_COPY,    // copying data into rebricked bricks (seconds)
  PERF_MM_PRECOMPUTE, // computing min/max for new bricks (seconds)
  PERF_RAYCAST,       // raycasting part of rendering (seconds)
  PERF_END_IO, // invalid; end of IO-based metrics

  PERF_READ_HTABLE=1000, // reading hash table from GPU (seconds)
  PERF_CONDENSE_HTABLE,  // condensing hash table [removing empties] (seconds)
  PERF_RENDER,           // (seconds)
  PERF_UPLOAD_BRICKS,    // uploading bricks to GPU [tex updates] (seconds)
  PERF_END_RENDER, // invalid; end of render-based metrics
  PERF_END // invalid; used for sizing table.
};

/// interface for classes which can be queried in this way.
struct PerfQueryable {
  virtual double PerfQuery(enum PerfCounter) = 0;
};

#endif
/*
   For more information, please see: http://software.sci.utah.edu

   The MIT License

   Copyright (c) 2013 Interactive Visualization and Data Analysis Group

   Permission is hereby granted, free of charge, to any person obtaining a
{'fraction_non_alphanumeric': 0.08296795952782463, 'fraction_numerical': 0.006745362563237774, 'mean_word_length': 3.700475435816165, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1011119', 'n_tokens_mistral': 964, 'n_tokens_neox': 914, 'n_words': 321}