Commit Graph

15 Commits

Author SHA1 Message Date
8b17695163 Conan create fixed 2025-07-16 17:49:20 +02:00
81f2e706d0 Fix version number 2025-07-01 10:39:48 +02:00
9338c818fd Add file name validation and other optimizations 2025-06-27 22:40:32 +02:00
007286983f Implement move semantics 2025-06-27 22:23:01 +02:00
86bd37b458 Refactor sumarizeFile methods to extract duplicated code 2025-06-27 20:09:20 +02:00
d4787979b8 Added comments and size limit check 2025-06-27 20:01:44 +02:00
c82f770375 Fix getSize return type 2025-06-27 19:57:25 +02:00
7a69526409 Added summary of ArffFile and tests 2025-06-27 19:48:56 +02:00
9c1c427620 Enhance error handling with exceptions and add tests 2025-06-27 19:02:52 +02:00
c408352daa Eliminate redundant memory and enhance memory usage
1. Eliminated Redundant Memory Usage

  - Before: Maintained both X (float) and Xs (string) vectors simultaneously → 2x memory usage
  - After: Use temporary categoricalData only during processing, deallocated automatically → ~50% memory reduction

  2. Implemented Memory Pre-allocation

  - Before: Vectors grew dynamically causing memory fragmentation
  - After: X.assign(numFeatures, std::vector<float>(numSamples)) pre-allocates all memory upfront
  - Benefit: Eliminates reallocation overhead and memory fragmentation

  3. Added Robust Exception Handling

  - Before: stof(token) could crash on malformed data
  - After: Wrapped in try-catch with descriptive error messages
  - Improvement: Prevents crashes and provides debugging information

  4. Optimized String Processing

  - Before: type += type_w + " " caused O(n²) string concatenation
  - After: Used std::ostringstream for efficient string building
  - Benefit: Better performance on files with complex attribute types
2025-06-27 18:20:06 +02:00
a4329f5f9d Update changelog 2024-07-21 23:22:35 +02:00
cf32b9ae58 Fix numeric_features problem 2024-06-12 21:59:59 +02:00
9e1ef5bce2 Complete adding string features 2024-06-12 21:10:53 +02:00
00068c05ed Implement string features 2024-06-12 18:17:03 +02:00
40ac38011a Commit Inicial 2024-05-21 12:44:33 +02:00