Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

🚀 first last isPlainObject head #132

Merged
merged 6 commits into from
Nov 25, 2024

Conversation

yceffort-naver
Copy link
Contributor

this closes #73
this closes #85
this closes #101
this closes #66

@yceffort-naver yceffort-naver self-assigned this Nov 23, 2024
@yceffort-naver yceffort-naver marked this pull request as ready for review November 23, 2024 14:42
@yceffort-naver yceffort-naver requested a review from a team as a code owner November 23, 2024 14:42
Copy link
Contributor

github-actions bot commented Nov 23, 2024

✅ All utility modules are properly registered

@npayfebot
Copy link
Collaborator

npayfebot commented Nov 23, 2024

changeset-detect-add-actions

@naverpay/hidash 패키지에 변경사항이 감지되었습니다.

만약, 버전 변경이 필요 없다면 skip-detect-change을 label에 추가해주세요.

.changeset에 변경사항을 추가하고싶다면 아래에서 하나를 선택해주세요

X.0.0 major bump
0.X.0 minor bump
0.0.X patch bump

Copy link
Contributor

github-actions bot commented Nov 23, 2024

Benchmark Results

Method Test Performance Comparison hidash ops/sec lodash@4.17.21 ops/sec
clamp src/clamp.bench.ts > clamp performance hidash is 2.22x faster 112.32 🏆 50.67
cloneDeep src/cloneDeep.bench.ts > cloneDeep performance hidash is 3.57x faster 3.28 🏆 0.92
every src/every.bench.ts > every performance hidash is 1.89x faster 52.10 🏆 27.60
groupBy src/groupBy.bench.ts > groupBy basic performance hidash is 1.95x faster 614.65 🏆 315.81
groupBy src/groupBy.bench.ts > groupBy complex performance hidash is 1.24x faster 36.26 🏆 29.25
groupBy src/groupBy.bench.ts > groupBy large array performance (simple key) hidash is 1.19x faster 3481.81 🏆 2928.94
groupBy src/groupBy.bench.ts > groupBy large array performance (complex operations) hidash is 1.24x faster 2969.42 🏆 2385.16
gt src/gt.bench.ts > gt performance hidash is 3.41x faster 176.40 🏆 51.70
has src/has.bench.ts > has performance hidash is 2.32x faster 490.55 🏆 211.12
includes src/includes.bench.ts > includes performance hidash is 6.71x faster 40.22 🏆 5.99
isEmpty src/isEmpty.bench.ts > isEmpty performance hidash is 11.22x faster 222.39 🏆 19.82
isEqual src/isEqual.bench.ts > isEqual performance hidash is 6.36x faster 5.51 🏆 0.87
keys src/keys.bench.ts > keys performance hidash is 3.06x faster 15.82 🏆 5.17
mapValues src/mapValues.bench.ts > mapValues performance hidash is 1.19x faster 291.24 🏆 244.23
merge src/merge.bench.ts > merge performance hidash is 1.28x faster 279.25 🏆 217.33
omit src/omit.bench.ts > omit performance hidash is 2.39x faster 66.31 🏆 27.74
repeat src/repeat.bench.ts > repeat performance hidash is 2.43x faster 1680.52 🏆 692.39
size ⚠️ src/size.bench.ts > size performance lodash is 1.01x faster 70.73 71.63 🏆
sum src/sum.bench.ts > sum performance hidash is 2.58x faster 155.62 🏆 60.36
sumBy src/sumBy.bench.ts > sumBy performance hidash is 3.51x faster 306.67 🏆 87.36
toNumber src/toNumber.bench.ts > toNumber performance hidash is 8.54x faster 101.90 🏆 11.93

Note: Higher operations per second (ops/sec) numbers are better. Each test compares hidash vs lodash implementation.

⚠️ indicates where hidash is slower than lodash.

🏆 indicates the faster implementation.

View Full Benchmark Data
{
  "files": [
    {
      "filepath": "/home/runner/work/hidash/hidash/src/clamp.bench.ts",
      "groups": [
        {
          "fullName": "src/clamp.bench.ts > clamp performance",
          "benchmarks": [
            {
              "id": "610821723_0_0",
              "name": "hidash",
              "rank": 1,
              "rme": 0.31593890482972803,
              "samples": [],
              "totalTime": 507.48815500000006,
              "min": 8.830264,
              "max": 9.493101999999908,
              "hz": 112.31789242450397,
              "period": 8.903300964912281,
              "mean": 8.903300964912281,
              "variance": 0.01123469108160301,
              "sd": 0.10599382567679597,
              "sem": 0.014039225175802791,
              "df": 56,
              "critical": 2.0036,
              "moe": 0.028128991562238474,
              "p75": 8.913020000000074,
              "p99": 9.493101999999908,
              "p995": 9.493101999999908,
              "p999": 9.493101999999908,
              "sampleCount": 57,
              "median": 8.869358000000034
            },
            {
              "id": "610821723_0_1",
              "name": "lodash",
              "rank": 2,
              "rme": 0.2281373893554236,
              "samples": [],
              "totalTime": 513.1582219999993,
              "min": 19.564865000000054,
              "max": 20.107156999999916,
              "hz": 50.66663435434546,
              "period": 19.736854692307666,
              "mean": 19.736854692307666,
              "variance": 0.012421891446458902,
              "sd": 0.11145353940749886,
              "sem": 0.021857837396069967,
              "df": 25,
              "critical": 2.06,
              "moe": 0.04502714503590413,
              "p75": 19.79466400000001,
              "p99": 20.107156999999916,
              "p995": 20.107156999999916,
              "p999": 20.107156999999916,
              "sampleCount": 26,
              "median": 19.709524999999985
            }
          ]
        }
      ]
    },
    {
      "filepath": "/home/runner/work/hidash/hidash/src/cloneDeep.bench.ts",
      "groups": [
        {
          "fullName": "src/cloneDeep.bench.ts > cloneDeep performance",
          "benchmarks": [
            {
              "id": "-32101011_0_0",
              "name": "hidash",
              "rank": 1,
              "rme": 0.4075886971969322,
              "samples": [],
              "totalTime": 3049.1036870000003,
              "min": 303.51556500000015,
              "max": 308.9602890000001,
              "hz": 3.2796523262345847,
              "period": 304.91036870000005,
              "mean": 304.91036870000005,
              "variance": 3.018585275871053,
              "sd": 1.737407630888921,
              "sem": 0.5494165337766104,
              "df": 9,
              "critical": 2.262,
              "moe": 1.2427801994026926,
              "p75": 305.24010499999986,
              "p99": 308.9602890000001,
              "p995": 308.9602890000001,
              "p999": 308.9602890000001,
              "sampleCount": 10,
              "median": 304.50147049999987
            },
            {
              "id": "-32101011_0_1",
              "name": "lodash",
              "rank": 2,
              "rme": 0.982235959780624,
              "samples": [],
              "totalTime": 10894.370721999996,
              "min": 1080.9622170000002,
              "max": 1130.238154999999,
              "hz": 0.9179052425493551,
              "period": 1089.4370721999996,
              "mean": 1089.4370721999996,
              "variance": 223.79519488158033,
              "sd": 14.9597859236548,
              "sem": 4.730699682727495,
              "df": 9,
              "critical": 2.262,
              "moe": 10.700842682329595,
              "p75": 1088.3528849999984,
              "p99": 1130.238154999999,
              "p995": 1130.238154999999,
              "p999": 1130.238154999999,
              "sampleCount": 10,
              "median": 1083.3010460000014
            }
          ]
        }
      ]
    },
    {
      "filepath": "/home/runner/work/hidash/hidash/src/every.bench.ts",
      "groups": [
        {
          "fullName": "src/every.bench.ts > every performance",
          "benchmarks": [
            {
              "id": "-686471173_0_0",
              "name": "hidash",
              "rank": 1,
              "rme": 0.183428242795091,
              "samples": [],
              "totalTime": 518.2220129999996,
              "min": 19.076614999999947,
              "max": 19.43030600000003,
              "hz": 52.10122172096927,
              "period": 19.193407888888874,
              "mean": 19.193407888888874,
              "variance": 0.00791688142595019,
              "sd": 0.0889768589350635,
              "sem": 0.017123604485935424,
              "df": 26,
              "critical": 2.056,
              "moe": 0.035206130823083236,
              "p75": 19.216857000000005,
              "p99": 19.43030600000003,
              "p995": 19.43030600000003,
              "p999": 19.43030600000003,
              "sampleCount": 27,
              "median": 19.180628999999954
            },
            {
              "id": "-686471173_0_1",
              "name": "lodash",
              "rank": 2,
              "rme": 0.20556237794089172,
              "samples": [],
              "totalTime": 507.2808460000001,
              "min": 36.05635600000005,
              "max": 36.56516600000009,
              "hz": 27.598124609656555,
              "period": 36.23434614285715,
              "mean": 36.23434614285715,
              "variance": 0.016647485942601237,
              "sd": 0.12902513686333078,
              "sem": 0.034483418316014314,
              "df": 13,
              "critical": 2.16,
              "moe": 0.07448418356259093,
              "p75": 36.281946999999946,
              "p99": 36.56516600000009,
              "p995": 36.56516600000009,
              "p999": 36.56516600000009,
              "sampleCount": 14,
              "median": 36.227735999999936
            }
          ]
        }
      ]
    },
    {
      "filepath": "/home/runner/work/hidash/hidash/src/groupBy.bench.ts",
      "groups": [
        {
          "fullName": "src/groupBy.bench.ts > groupBy basic performance",
          "benchmarks": [
            {
              "id": "1840289664_0_0",
              "name": "hidash groupBy",
              "rank": 1,
              "rme": 0.2911053778773111,
              "samples": [],
              "totalTime": 501.0943429999994,
              "min": 1.577596000000085,
              "max": 1.9353130000000078,
              "hz": 614.6547138330004,
              "period": 1.626929685064933,
              "mean": 1.626929685064933,
              "variance": 0.0017983598496630515,
              "sd": 0.042407073108893655,
              "sem": 0.002416367248727766,
              "df": 307,
              "critical": 1.96,
              "moe": 0.004736079807506421,
              "p75": 1.6586670000000368,
              "p99": 1.7393180000000257,
              "p995": 1.783188999999993,
              "p999": 1.9353130000000078,
              "sampleCount": 308,
              "median": 1.6127509999999745
            },
            {
              "id": "1840289664_0_1",
              "name": "lodash groupBy",
              "rank": 2,
              "rme": 0.32885608653758874,
              "samples": [],
              "totalTime": 500.294884,
              "min": 3.1051360000001296,
              "max": 3.7847560000000158,
              "hz": 315.81374316032384,
              "period": 3.1664233164556963,
              "mean": 3.1664233164556963,
              "variance": 0.004459587223403131,
              "sd": 0.06678014093578367,
              "sem": 0.005312742755974455,
              "df": 157,
              "critical": 1.96,
              "moe": 0.010412975801709932,
              "p75": 3.1916389999998955,
              "p99": 3.3494830000000775,
              "p995": 3.7847560000000158,
              "p999": 3.7847560000000158,
              "sampleCount": 158,
              "median": 3.176484999999957
            }
          ]
        },
        {
          "fullName": "src/groupBy.bench.ts > groupBy complex performance",
          "benchmarks": [
            {
              "id": "1840289664_1_0",
              "name": "hidash groupBy",
              "rank": 1,
              "rme": 0.6903728558409113,
              "samples": [],
              "totalTime": 524.0155890000003,
              "min": 26.954341999999997,
              "max": 28.702887999999803,
              "hz": 36.258463295449765,
              "period": 27.57976784210528,
              "mean": 27.57976784210528,
              "variance": 0.15604509543256664,
              "sd": 0.3950254364374105,
              "sem": 0.09062505039782748,
              "df": 18,
              "critical": 2.101,
              "moe": 0.19040323088583552,
              "p75": 27.63440300000002,
              "p99": 28.702887999999803,
              "p995": 28.702887999999803,
              "p999": 28.702887999999803,
              "sampleCount": 19,
              "median": 27.507286000000022
            },
            {
              "id": "1840289664_1_1",
              "name": "lodash groupBy",
              "rank": 2,
              "rme": 0.7065250557264582,
              "samples": [],
              "totalTime": 512.8194399999988,
              "min": 33.92071900000019,
              "max": 35.73531699999967,
              "hz": 29.250061191128076,
              "period": 34.18796266666659,
              "mean": 34.18796266666659,
              "variance": 0.1902121454243085,
              "sd": 0.4361331739552823,
              "sem": 0.11260910129715937,
              "df": 14,
              "critical": 2.145,
              "moe": 0.24154652228240686,
              "p75": 34.12053199999991,
              "p99": 35.73531699999967,
              "p995": 35.73531699999967,
              "p999": 35.73531699999967,
              "sampleCount": 15,
              "median": 34.07067899999993
            }
          ]
        },
        {
          "fullName": "src/groupBy.bench.ts > groupBy large array performance (simple key)",
          "benchmarks": [
            {
              "id": "1840289664_2_0",
              "name": "hidash groupBy",
              "rank": 1,
              "rme": 0.6509821356904661,
              "samples": [],
              "totalTime": 500.02716200000077,
              "min": 0.25828199999978096,
              "max": 0.7684979999999086,
              "hz": 3481.8108541071565,
              "period": 0.2872068707639292,
              "mean": 0.2872068707639292,
              "variance": 0.0015842160917939646,
              "sd": 0.03980221214698958,
              "sem": 0.0009539109291575424,
              "df": 1740,
              "critical": 1.96,
              "moe": 0.0018696654211487831,
              "p75": 0.2870159999997668,
              "p99": 0.5297390000000632,
              "p995": 0.546860999999808,
              "p999": 0.5598249999998188,
              "sampleCount": 1741,
              "median": 0.2791109999998298
            },
            {
              "id": "1840289664_2_1",
              "name": "lodash groupBy",
              "rank": 2,
              "rme": 0.2991119239911778,
              "samples": [],
              "totalTime": 500.18027700001494,
              "min": 0.3199970000000576,
              "max": 0.5410099999999147,
              "hz": 2928.9439575402457,
              "period": 0.3414199843003515,
              "mean": 0.3414199843003515,
              "variance": 0.000397713937602983,
              "sd": 0.019942766548374954,
              "sem": 0.0005210346346587543,
              "df": 1464,
              "critical": 1.96,
              "moe": 0.0010212278839311585,
              "p75": 0.3447340000002441,
              "p99": 0.44051200000012614,
              "p995": 0.4750060000001213,
              "p999": 0.504652999999962,
              "sampleCount": 1465,
              "median": 0.3374499999999898
            }
          ]
        },
        {
          "fullName": "src/groupBy.bench.ts > groupBy large array performance (complex operations)",
          "benchmarks": [
            {
              "id": "1840289664_3_0",
              "name": "hidash groupBy",
              "rank": 1,
              "rme": 0.8710899989980588,
              "samples": [],
              "totalTime": 500.09741600000143,
              "min": 0.3065919999999096,
              "max": 1.5474389999999403,
              "hz": 2969.42146167777,
              "period": 0.33676593670033766,
              "mean": 0.33676593670033766,
              "variance": 0.003326570102571315,
              "sd": 0.05767642588242891,
              "sem": 0.001496701221749375,
              "df": 1484,
              "critical": 1.96,
              "moe": 0.0029335343946287748,
              "p75": 0.33136800000011135,
              "p99": 0.5453979999992953,
              "p995": 0.6085259999999835,
              "p999": 1.027407999999923,
              "sampleCount": 1485,
              "median": 0.32335299999976996
            },
            {
              "id": "1840289664_3_1",
              "name": "lodash groupBy",
              "rank": 2,
              "rme": 0.45734175099643515,
              "samples": [],
              "totalTime": 500.1771160000071,
              "min": 0.39887499999986176,
              "max": 0.7837040000003981,
              "hz": 2385.1551017379675,
              "period": 0.41925994635373603,
              "mean": 0.41925994635373603,
              "variance": 0.0011417650638968514,
              "sd": 0.03379001426304599,
              "sem": 0.0009782912142249445,
              "df": 1192,
              "critical": 1.96,
              "moe": 0.0019174507798808912,
              "p75": 0.41799100000025646,
              "p99": 0.5654660000000149,
              "p995": 0.6245260000005146,
              "p999": 0.7834130000001096,
              "sampleCount": 1193,
              "median": 0.4096049999998286
            }
          ]
        }
      ]
    },
    {
      "filepath": "/home/runner/work/hidash/hidash/src/gt.bench.ts",
      "groups": [
        {
          "fullName": "src/gt.bench.ts > gt performance",
          "benchmarks": [
            {
              "id": "982859571_0_0",
              "name": "hidash",
              "rank": 1,
              "rme": 0.36050216594132944,
              "samples": [],
              "totalTime": 504.54113200000023,
              "min": 5.473626999999965,
              "max": 5.97754900000001,
              "hz": 176.39790763382192,
              "period": 5.66900148314607,
              "mean": 5.66900148314607,
              "variance": 0.009409378276889702,
              "sd": 0.09700194986127703,
              "sem": 0.010282186120943688,
              "df": 88,
              "critical": 1.9876,
              "moe": 0.020436873133987673,
              "p75": 5.7234339999999975,
              "p99": 5.97754900000001,
              "p995": 5.97754900000001,
              "p999": 5.97754900000001,
              "sampleCount": 89,
              "median": 5.651640000000043
            },
            {
              "id": "982859571_0_1",
              "name": "lodash",
              "rank": 2,
              "rme": 0.2155503919240318,
              "samples": [],
              "totalTime": 502.8768850000006,
              "min": 19.217904999999973,
              "max": 19.733608000000004,
              "hz": 51.70251561671993,
              "period": 19.341418653846176,
              "mean": 19.341418653846176,
              "variance": 0.01064910703031376,
              "sd": 0.1031945106597912,
              "sem": 0.020238108598074383,
              "df": 25,
              "critical": 2.06,
              "moe": 0.04169050371203323,
              "p75": 19.374708000000055,
              "p99": 19.733608000000004,
              "p995": 19.733608000000004,
              "p999": 19.733608000000004,
              "sampleCount": 26,
              "median": 19.32420300000001
            }
          ]
        }
      ]
    },
    {
      "filepath": "/home/runner/work/hidash/hidash/src/has.bench.ts",
      "groups": [
        {
          "fullName": "src/has.bench.ts > has performance",
          "benchmarks": [
            {
              "id": "-879981028_0_0",
              "name": "hidash",
              "rank": 1,
              "rme": 0.355864489891589,
              "samples": [],
              "totalTime": 501.4752290000007,
              "min": 2.003280000000018,
              "max": 2.693879000000038,
              "hz": 490.55264502406686,
              "period": 2.0385171910569135,
              "mean": 2.0385171910569135,
              "variance": 0.003369931155037248,
              "sd": 0.05805110812927905,
              "sem": 0.0037012034710750172,
              "df": 245,
              "critical": 1.96,
              "moe": 0.0072543588033070336,
              "p75": 2.03607199999999,
              "p99": 2.2028720000000703,
              "p995": 2.452609000000052,
              "p999": 2.693879000000038,
              "sampleCount": 246,
              "median": 2.025987999999984
            },
            {
              "id": "-879981028_0_1",
              "name": "lodash",
              "rank": 2,
              "rme": 0.24700108061414985,
              "samples": [],
              "totalTime": 502.08073300000035,
              "min": 4.67259399999989,
              "max": 4.976009999999974,
              "hz": 211.12142536646576,
              "period": 4.7366106886792485,
              "mean": 4.7366106886792485,
              "variance": 0.0036897209723495733,
              "sd": 0.06074307345162552,
              "sem": 0.005899888847969274,
              "df": 105,
              "critical": 1.983,
              "moe": 0.01169947958552307,
              "p75": 4.749737999999979,
              "p99": 4.95662399999992,
              "p995": 4.976009999999974,
              "p999": 4.976009999999974,
              "sampleCount": 106,
              "median": 4.714842500000032
            }
          ]
        }
      ]
    },
    {
      "filepath": "/home/runner/work/hidash/hidash/src/includes.bench.ts",
      "groups": [
        {
          "fullName": "src/includes.bench.ts > includes performance",
          "benchmarks": [
            {
              "id": "23343445_0_0",
              "name": "hidash",
              "rank": 1,
              "rme": 0.24783563040948128,
              "samples": [],
              "totalTime": 522.1382399999999,
              "min": 24.667513999999983,
              "max": 25.1674670000001,
              "hz": 40.21923389483981,
              "period": 24.86372571428571,
              "mean": 24.86372571428571,
              "variance": 0.01832527859431791,
              "sd": 0.13537089271448982,
              "sem": 0.02954035060751884,
              "df": 20,
              "critical": 2.086,
              "moe": 0.061621171367284296,
              "p75": 24.980076999999994,
              "p99": 25.1674670000001,
              "p995": 25.1674670000001,
              "p999": 25.1674670000001,
              "sampleCount": 21,
              "median": 24.80824700000005
            },
            {
              "id": "23343445_0_1",
              "name": "lodash",
              "rank": 2,
              "rme": 2.7699672331200085,
              "samples": [],
              "totalTime": 1669.5328829999999,
              "min": 157.18379800000002,
              "max": 174.03700200000003,
              "hz": 5.989699335559598,
              "period": 166.9532883,
              "mean": 166.9532883,
              "variance": 41.797857093689636,
              "sd": 6.465126224111145,
              "sem": 2.044452422867542,
              "df": 9,
              "critical": 2.262,
              "moe": 4.6245513805263805,
              "p75": 173.39399200000025,
              "p99": 174.03700200000003,
              "p995": 174.03700200000003,
              "p999": 174.03700200000003,
              "sampleCount": 10,
              "median": 168.27590699999996
            }
          ]
        }
      ]
    },
    {
      "filepath": "/home/runner/work/hidash/hidash/src/isEmpty.bench.ts",
      "groups": [
        {
          "fullName": "src/isEmpty.bench.ts > isEmpty performance",
          "benchmarks": [
            {
              "id": "484400915_0_0",
              "name": "hidash",
              "rank": 1,
              "rme": 0.31459416434032794,
              "samples": [],
              "totalTime": 503.625945,
              "min": 4.39739800000001,
              "max": 5.104178000000047,
              "hz": 222.38727196630032,
              "period": 4.496660223214286,
              "mean": 4.496660223214286,
              "variance": 0.005706631697545262,
              "sd": 0.07554225107544295,
              "sem": 0.007138071779415131,
              "df": 111,
              "critical": 1.9818,
              "moe": 0.014146230652444906,
              "p75": 4.519296000000054,
              "p99": 4.679054000000065,
              "p995": 5.104178000000047,
              "p999": 5.104178000000047,
              "sampleCount": 112,
              "median": 4.489491500000014
            },
            {
              "id": "484400915_0_1",
              "name": "lodash",
              "rank": 2,
              "rme": 0.2717555125976049,
              "samples": [],
              "totalTime": 504.5104450000001,
              "min": 50.06474800000001,
              "max": 50.65430000000015,
              "hz": 19.82119517862509,
              "period": 50.45104450000001,
              "mean": 50.45104450000001,
              "variance": 0.036737690230724346,
              "sd": 0.19167078606486787,
              "sem": 0.060611624487984433,
              "df": 9,
              "critical": 2.262,
              "moe": 0.13710349459182078,
              "p75": 50.62021499999992,
              "p99": 50.65430000000015,
              "p995": 50.65430000000015,
              "p999": 50.65430000000015,
              "sampleCount": 10,
              "median": 50.475044000000025
            }
          ]
        }
      ]
    },
    {
      "filepath": "/home/runner/work/hidash/hidash/src/isEqual.bench.ts",
      "groups": [
        {
          "fullName": "src/isEqual.bench.ts > isEqual performance",
          "benchmarks": [
            {
              "id": "-2001751796_0_0",
              "name": "hidash",
              "rank": 1,
              "rme": 0.11949354536529305,
              "samples": [],
              "totalTime": 1813.245719000001,
              "min": 180.8818299999998,
              "max": 181.90570200000002,
              "hz": 5.514972347771469,
              "period": 181.32457190000008,
              "mean": 181.32457190000008,
              "variance": 0.09175231146528892,
              "sd": 0.30290644011854373,
              "sem": 0.09578742687080018,
              "df": 9,
              "critical": 2.262,
              "moe": 0.21667115958175,
              "p75": 181.50422200000003,
              "p99": 181.90570200000002,
              "p995": 181.90570200000002,
              "p999": 181.90570200000002,
              "sampleCount": 10,
              "median": 181.2962845000004
            },
            {
              "id": "-2001751796_0_1",
              "name": "lodash",
              "rank": 2,
              "rme": 0.7645897798563074,
              "samples": [],
              "totalTime": 11538.905394000001,
              "min": 1147.5312679999988,
              "max": 1181.3693009999988,
              "hz": 0.866633329466398,
              "period": 1153.8905394,
              "mean": 1153.8905394,
              "variance": 152.12514362459544,
              "sd": 12.333902205895564,
              "sem": 3.9003223408405034,
              "df": 9,
              "critical": 2.262,
              "moe": 8.822529134981218,
              "p75": 1148.7065519999996,
              "p99": 1181.3693009999988,
              "p995": 1181.3693009999988,
              "p999": 1181.3693009999988,
              "sampleCount": 10,
              "median": 1148.3498290000007
            }
          ]
        }
      ]
    },
    {
      "filepath": "/home/runner/work/hidash/hidash/src/keys.bench.ts",
      "groups": [
        {
          "fullName": "src/keys.bench.ts > keys performance",
          "benchmarks": [
            {
              "id": "-965569332_0_0",
              "name": "hidash",
              "rank": 1,
              "rme": 0.6022700337388106,
              "samples": [],
              "totalTime": 632.1813309999999,
              "min": 62.66590499999995,
              "max": 64.25755700000002,
              "hz": 15.818246299968642,
              "period": 63.21813309999999,
              "mean": 63.21813309999999,
              "variance": 0.28332222394835327,
              "sd": 0.5322802118699823,
              "sem": 0.16832178229461367,
              "df": 9,
              "critical": 2.262,
              "moe": 0.3807438715504161,
              "p75": 63.348299,
              "p99": 64.25755700000002,
              "p995": 64.25755700000002,
              "p999": 64.25755700000002,
              "sampleCount": 10,
              "median": 63.10411349999998
            },
            {
              "id": "-965569332_0_1",
              "name": "lodash",
              "rank": 2,
              "rme": 0.32480548330735537,
              "samples": [],
              "totalTime": 1933.4198829999996,
              "min": 192.49950999999965,
              "max": 195.47348299999976,
              "hz": 5.172182249663976,
              "period": 193.34198829999997,
              "mean": 193.34198829999997,
              "variance": 0.7707505875106672,
              "sd": 0.8779240214908504,
              "sem": 0.27762395204857,
              "df": 9,
              "critical": 2.262,
              "moe": 0.6279853795338654,
              "p75": 193.68386099999998,
              "p99": 195.47348299999976,
              "p995": 195.47348299999976,
              "p999": 195.47348299999976,
              "sampleCount": 10,
              "median": 193.03421849999995
            }
          ]
        }
      ]
    },
    {
      "filepath": "/home/runner/work/hidash/hidash/src/mapValues.bench.ts",
      "groups": [
        {
          "fullName": "src/mapValues.bench.ts > mapValues performance",
          "benchmarks": [
            {
              "id": "-1099634856_0_0",
              "name": "hidash",
              "rank": 1,
              "rme": 0.7838381871040091,
              "samples": [],
              "totalTime": 501.31005399999935,
              "min": 3.305291000000011,
              "max": 4.876764999999978,
              "hz": 291.23692779558775,
              "period": 3.4336305068493105,
              "mean": 3.4336305068493105,
              "variance": 0.02752964848920262,
              "sd": 0.1659206089947919,
              "sem": 0.01373168730445808,
              "df": 145,
              "critical": 1.96,
              "moe": 0.026914107116737834,
              "p75": 3.4358550000000037,
              "p99": 4.212394999999958,
              "p995": 4.876764999999978,
              "p999": 4.876764999999978,
              "sampleCount": 146,
              "median": 3.397267499999998
            },
            {
              "id": "-1099634856_0_1",
              "name": "lodash",
              "rank": 2,
              "rme": 1.5000135368020255,
              "samples": [],
              "totalTime": 503.62196600000004,
              "min": 3.9601930000001175,
              "max": 6.590715000000046,
              "hz": 244.2308086299794,
              "period": 4.094487528455285,
              "mean": 4.094487528455285,
              "variance": 0.12077649740815494,
              "sd": 0.34752913174028294,
              "sem": 0.031335646525255084,
              "df": 122,
              "critical": 1.96,
              "moe": 0.061417867189499965,
              "p75": 4.045983999999862,
              "p99": 6.115106999999966,
              "p995": 6.590715000000046,
              "p999": 6.590715000000046,
              "sampleCount": 123,
              "median": 4.0359249999999065
            }
          ]
        }
      ]
    },
    {
      "filepath": "/home/runner/work/hidash/hidash/src/merge.bench.ts",
      "groups": [
        {
          "fullName": "src/merge.bench.ts > merge performance",
          "benchmarks": [
            {
              "id": "-138082434_0_0",
              "name": "hidash",
              "rank": 1,
              "rme": 0.40624396037761956,
              "samples": [],
              "totalTime": 501.3437680000002,
              "min": 3.5075689999999895,
              "max": 4.413831000000016,
              "hz": 279.24950689723136,
              "period": 3.5810269142857156,
              "mean": 3.5810269142857156,
              "variance": 0.007712672632107824,
              "sd": 0.08782182321102099,
              "sem": 0.0074222987544809976,
              "df": 139,
              "critical": 1.96,
              "moe": 0.014547705558782755,
              "p75": 3.6146980000000895,
              "p99": 3.8259390000000053,
              "p995": 4.413831000000016,
              "p999": 4.413831000000016,
              "sampleCount": 140,
              "median": 3.5508145000000013
            },
            {
              "id": "-138082434_0_1",
              "name": "lodash",
              "rank": 2,
              "rme": 0.24945760297098749,
              "samples": [],
              "totalTime": 501.5343340000004,
              "min": 4.508857999999918,
              "max": 4.8103399999999965,
              "hz": 217.33307694144807,
              "period": 4.601232422018352,
              "mean": 4.601232422018352,
              "variance": 0.003654144796174185,
              "sd": 0.06044952271254245,
              "sem": 0.005790014178314615,
              "df": 108,
              "critical": 1.9824,
              "moe": 0.011478124107090893,
              "p75": 4.62665800000002,
              "p99": 4.783170000000041,
              "p995": 4.8103399999999965,
              "p999": 4.8103399999999965,
              "sampleCount": 109,
              "median": 4.606931000000031
            }
          ]
        }
      ]
    },
    {
      "filepath": "/home/runner/work/hidash/hidash/src/omit.bench.ts",
      "groups": [
        {
          "fullName": "src/omit.bench.ts > omit performance",
          "benchmarks": [
            {
              "id": "1678384855_0_0",
              "name": "hidash",
              "rank": 1,
              "rme": 0.4133088477931473,
              "samples": [],
              "totalTime": 512.7313290000002,
              "min": 14.949551000000042,
              "max": 15.730147999999986,
              "hz": 66.31153213577083,
              "period": 15.080333205882358,
              "mean": 15.080333205882358,
              "variance": 0.031872978053195965,
              "sd": 0.17853004804008754,
              "sem": 0.030617650644299145,
              "df": 33,
              "critical": 2.0357,
              "moe": 0.062328351416599766,
              "p75": 15.058993999999984,
              "p99": 15.730147999999986,
              "p995": 15.730147999999986,
              "p999": 15.730147999999986,
              "sampleCount": 34,
              "median": 15.027055000000018
            },
            {
              "id": "1678384855_0_1",
              "name": "lodash",
              "rank": 2,
              "rme": 0.5073039689709593,
              "samples": [],
              "totalTime": 504.6843000000001,
              "min": 35.73876300000006,
              "max": 36.82723499999997,
              "hz": 27.740113968276795,
              "period": 36.04887857142858,
              "mean": 36.04887857142858,
              "variance": 0.10035535962134519,
              "sd": 0.3167891406303966,
              "sem": 0.08466545914924946,
              "df": 13,
              "critical": 2.16,
              "moe": 0.18287739176237885,
              "p75": 36.02091999999993,
              "p99": 36.82723499999997,
              "p995": 36.82723499999997,
              "p999": 36.82723499999997,
              "sampleCount": 14,
              "median": 35.966883999999936
            }
          ]
        }
      ]
    },
    {
      "filepath": "/home/runner/work/hidash/hidash/src/repeat.bench.ts",
      "groups": [
        {
          "fullName": "src/repeat.bench.ts > repeat performance",
          "benchmarks": [
            {
              "id": "791924677_0_0",
              "name": "hidash",
              "rank": 1,
              "rme": 0.3761124710719035,
              "samples": [],
              "totalTime": 500.44017100000116,
              "min": 0.5531820000001062,
              "max": 0.8337869999999725,
              "hz": 1680.520567162859,
              "period": 0.5950537110582653,
              "mean": 0.5950537110582653,
              "variance": 0.0010965581244936288,
              "sd": 0.03311431902506269,
              "sem": 0.001141873069829748,
              "df": 840,
              "critical": 1.96,
              "moe": 0.002238071216866306,
              "p75": 0.6157289999999875,
              "p99": 0.6676160000000095,
              "p995": 0.7323069999999916,
              "p999": 0.8337869999999725,
              "sampleCount": 841,
              "median": 0.6105499999999893
            },
            {
              "id": "791924677_0_1",
              "name": "lodash",
              "rank": 2,
              "rme": 0.4327413260090621,
              "samples": [],
              "totalTime": 501.1661689999992,
              "min": 1.3899650000000747,
              "max": 2.133813000000032,
              "hz": 692.3851238649762,
              "period": 1.4442829077809773,
              "mean": 1.4442829077809773,
              "variance": 0.003528406540379221,
              "sd": 0.05940039175274201,
              "sem": 0.0031887801053334906,
              "df": 346,
              "critical": 1.96,
              "moe": 0.006250009006453641,
              "p75": 1.4636920000000373,
              "p99": 1.708238999999935,
              "p995": 1.8303869999999733,
              "p999": 2.133813000000032,
              "sampleCount": 347,
              "median": 1.4506380000000263
            }
          ]
        }
      ]
    },
    {
      "filepath": "/home/runner/work/hidash/hidash/src/size.bench.ts",
      "groups": [
        {
          "fullName": "src/size.bench.ts > size performance",
          "benchmarks": [
            {
              "id": "-1842224801_0_0",
              "name": "hidash",
              "rank": 2,
              "rme": 0.4791003246970025,
              "samples": [],
              "totalTime": 508.9772749999998,
              "min": 13.862427000000025,
              "max": 14.9254719999999,
              "hz": 70.73007336133035,
              "period": 14.138257638888883,
              "mean": 14.138257638888883,
              "variance": 0.04002336142651886,
              "sd": 0.200058395041345,
              "sem": 0.033343065840224166,
              "df": 35,
              "critical": 2.0315,
              "moe": 0.06773643825441539,
              "p75": 14.220155999999974,
              "p99": 14.9254719999999,
              "p995": 14.9254719999999,
              "p999": 14.9254719999999,
              "sampleCount": 36,
              "median": 14.10013650000002
            },
            {
              "id": "-1842224801_0_1",
              "name": "lodash",
              "rank": 1,
              "rme": 0.2948574162045753,
              "samples": [],
              "totalTime": 502.5666530000001,
              "min": 13.795171999999866,
              "max": 14.228350999999975,
              "hz": 71.6322895383192,
              "period": 13.960184805555558,
              "mean": 13.960184805555558,
              "variance": 0.014780029252789643,
              "sd": 0.12157314363291608,
              "sem": 0.02026219060548601,
              "df": 35,
              "critical": 2.0315,
              "moe": 0.04116264021504483,
              "p75": 14.058502999999973,
              "p99": 14.228350999999975,
              "p995": 14.228350999999975,
              "p999": 14.228350999999975,
              "sampleCount": 36,
              "median": 13.957294499999989
            }
          ]
        }
      ]
    },
    {
      "filepath": "/home/runner/work/hidash/hidash/src/sum.bench.ts",
      "groups": [
        {
          "fullName": "src/sum.bench.ts > sum performance",
          "benchmarks": [
            {
              "id": "139721099_0_0",
              "name": "hidash",
              "rank": 1,
              "rme": 0.4824254832126211,
              "samples": [],
              "totalTime": 501.2368309999995,
              "min": 6.322633999999994,
              "max": 6.989806999999985,
              "hz": 155.61506093713228,
              "period": 6.4261132179487115,
              "mean": 6.4261132179487115,
              "variance": 0.01890127966308219,
              "sd": 0.13748192485953267,
              "sem": 0.015566762612844181,
              "df": 77,
              "critical": 1.9915,
              "moe": 0.031001207743479187,
              "p75": 6.439912999999933,
              "p99": 6.989806999999985,
              "p995": 6.989806999999985,
              "p999": 6.989806999999985,
              "sampleCount": 78,
              "median": 6.35003549999999
            },
            {
              "id": "139721099_0_1",
              "name": "lodash",
              "rank": 2,
              "rme": 0.21126417247401003,
              "samples": [],
              "totalTime": 513.5517450000001,
              "min": 16.488414000000148,
              "max": 16.976965000000064,
              "hz": 60.363926910617344,
              "period": 16.566185322580647,
              "mean": 16.566185322580647,
              "variance": 0.009106404865827126,
              "sd": 0.09542748485539754,
              "sem": 0.017139282239109165,
              "df": 30,
              "critical": 2.042,
              "moe": 0.03499841433226091,
              "p75": 16.58045500000003,
              "p99": 16.976965000000064,
              "p995": 16.976965000000064,
              "p999": 16.976965000000064,
              "sampleCount": 31,
              "median": 16.537885999999958
            }
          ]
        }
      ]
    },
    {
      "filepath": "/home/runner/work/hidash/hidash/src/sumBy.bench.ts",
      "groups": [
        {
          "fullName": "src/sumBy.bench.ts > sumBy performance",
          "benchmarks": [
            {
              "id": "-1788940556_0_0",
              "name": "hidash",
              "rank": 1,
              "rme": 0.4978264148113075,
              "samples": [],
              "totalTime": 502.1729509999996,
              "min": 3.1194639999999936,
              "max": 3.5338070000000243,
              "hz": 306.6672541667823,
              "period": 3.2608633181818156,
              "mean": 3.2608633181818156,
              "variance": 0.01056403039777386,
              "sd": 0.10278146913609408,
              "sem": 0.008282366810613047,
              "df": 153,
              "critical": 1.96,
              "moe": 0.01623343894880157,
              "p75": 3.3378209999999626,
              "p99": 3.5099030000000084,
              "p995": 3.5338070000000243,
              "p999": 3.5338070000000243,
              "sampleCount": 154,
              "median": 3.261072999999982
            },
            {
              "id": "-1788940556_0_1",
              "name": "lodash",
              "rank": 2,
              "rme": 0.15975627914489898,
              "samples": [],
              "totalTime": 503.660673,
              "min": 11.367371999999932,
              "max": 11.619393999999943,
              "hz": 87.36040425375838,
              "period": 11.446833477272726,
              "mean": 11.446833477272726,
              "variance": 0.003615390789187171,
              "sd": 0.06012811978756005,
              "sem": 0.009064655122040034,
              "df": 43,
              "critical": 2.0174,
              "moe": 0.01828703524320356,
              "p75": 11.486565000000155,
              "p99": 11.619393999999943,
              "p995": 11.619393999999943,
              "p999": 11.619393999999943,
              "sampleCount": 44,
              "median": 11.43405150000001
            }
          ]
        }
      ]
    },
    {
      "filepath": "/home/runner/work/hidash/hidash/src/toNumber.bench.ts",
      "groups": [
        {
          "fullName": "src/toNumber.bench.ts > toNumber performance",
          "benchmarks": [
            {
              "id": "1951008924_0_0",
              "name": "hidash",
              "rank": 1,
              "rme": 0.33930279891414594,
              "samples": [],
              "totalTime": 500.51438699999983,
              "min": 9.687433999999996,
              "max": 10.432673000000023,
              "hz": 101.89517289539975,
              "period": 9.81400758823529,
              "mean": 9.81400758823529,
              "variance": 0.014011284960527273,
              "sd": 0.11836927371800197,
              "sem": 0.016575013654817828,
              "df": 50,
              "critical": 2.009,
              "moe": 0.03329920243252901,
              "p75": 9.845469000000037,
              "p99": 10.432673000000023,
              "p995": 10.432673000000023,
              "p999": 10.432673000000023,
              "sampleCount": 51,
              "median": 9.781078999999977
            },
            {
              "id": "1951008924_0_1",
              "name": "lodash",
              "rank": 2,
              "rme": 0.26944022930335754,
              "samples": [],
              "totalTime": 838.3930700000008,
              "min": 83.58905000000004,
              "max": 84.61845200000016,
              "hz": 11.92757950635254,
              "period": 83.83930700000008,
              "mean": 83.83930700000008,
              "variance": 0.09973211689179567,
              "sd": 0.3158039215902736,
              "sem": 0.09986596862384886,
              "df": 9,
              "critical": 2.262,
              "moe": 0.22589682102714612,
              "p75": 83.84185200000002,
              "p99": 84.61845200000016,
              "p995": 84.61845200000016,
              "p999": 84.61845200000016,
              "sampleCount": 10,
              "median": 83.74655899999993
            }
          ]
        }
      ]
    }
  ]
}

Last updated by GitHub Actions

@yujeong-jeon
Copy link
Contributor

혹시 벤치마크에서 테스트가 안된걸까요?? 표에서 안보이네용

@yceffort-naver
Copy link
Contributor Author

아뇨! 저거 모두 테스트 할만한 성질의 것들이 아니라서.. 추가하지 않았습니다 (더 개선할 여지가 없음..)

Copy link
Contributor

@yujeong-jeon yujeong-jeon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

아하 이해했습니다! isPlainObject 제가 한다고 해놓고 다른걸 먼저 하느라 뒺전이었는데 구현해주셔서 감사합니다!

@yceffort-naver
Copy link
Contributor Author

앗-ㅁ-;;;;; 죄송합니다 ㅋㅋㅋ 생각없이 가져갔네요..

@yceffort-naver yceffort-naver merged commit e01139c into main Nov 25, 2024
8 checks passed
@yceffort-naver yceffort-naver deleted the feature/saturday_coding_night branch November 25, 2024 02:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

isPlainObject last first head
3 participants