Page MenuHomePhabricator

nilayvaish (Nilay Vaish)
User

Projects

User does not belong to any projects.

User Details

User Since
Aug 15 2020, 3:07 PM (145 w, 4 d)

Recent Activity

Mar 20 2023

nilayvaish added a comment to D146421: [release/16.x][libc++] Revert the bitset sort optimization.

Okay so unfortunately, that didn't fix the issue like we were expecting. I tried a few things and the only thing that reliably fixed the issue we were seeing was reverting 4eddbf9f10a6d1881c93d84f4363d6d881daf848 (aka D122780) entirely. I think I will need to get a reproducer before deciding what's the next step (i.e. whether the issue is sufficiently vexing that it's worth reverting or not).

Mar 20 2023, 10:14 AM · Restricted Project, Unknown Object (Project)
nilayvaish accepted D146421: [release/16.x][libc++] Revert the bitset sort optimization.
Mar 20 2023, 8:31 AM · Restricted Project, Unknown Object (Project)

Mar 6 2023

nilayvaish committed rG1edc72385a55: Checked that complexity of std::sort_heap is 2N log(N) comparisons (authored by nilayvaish).
Checked that complexity of std::sort_heap is 2N log(N) comparisons
Mar 6 2023, 8:43 AM · Unknown Object (Project), Restricted Project
nilayvaish closed D144538: Checked that complexity of std::sort_heap is 2N log(N) comparisons.
Mar 6 2023, 8:42 AM · Unknown Object (Project), Restricted Project
nilayvaish added inline comments to D144538: Checked that complexity of std::sort_heap is 2N log(N) comparisons.
Mar 6 2023, 6:17 AM · Unknown Object (Project), Restricted Project
nilayvaish updated the diff for D144538: Checked that complexity of std::sort_heap is 2N log(N) comparisons.

Addressed review comments.

Mar 6 2023, 6:16 AM · Unknown Object (Project), Restricted Project

Mar 5 2023

nilayvaish updated the diff for D144538: Checked that complexity of std::sort_heap is 2N log(N) comparisons.

Addressed review comments.

Mar 5 2023, 1:06 PM · Unknown Object (Project), Restricted Project
nilayvaish updated the diff for D144538: Checked that complexity of std::sort_heap is 2N log(N) comparisons.

Addressed review comments.

Mar 5 2023, 12:58 PM · Unknown Object (Project), Restricted Project

Mar 1 2023

nilayvaish added a comment to D144538: Checked that complexity of std::sort_heap is 2N log(N) comparisons.

Pinging reviewers!

Mar 1 2023, 7:57 AM · Unknown Object (Project), Restricted Project

Feb 26 2023

nilayvaish added a comment to D144538: Checked that complexity of std::sort_heap is 2N log(N) comparisons.

Please add a test that counts the number of comparisons to show that it actually only takes 2N log(N) comparisons.

Feb 26 2023, 4:53 PM · Unknown Object (Project), Restricted Project
nilayvaish updated the diff for D144538: Checked that complexity of std::sort_heap is 2N log(N) comparisons.

Removed #include <iostream> as it is not required.

Feb 26 2023, 3:32 PM · Unknown Object (Project), Restricted Project
nilayvaish updated the diff for D144538: Checked that complexity of std::sort_heap is 2N log(N) comparisons.

Updated the test used for testing the complexity of heap sort implementation.

Feb 26 2023, 12:55 PM · Unknown Object (Project), Restricted Project

Feb 21 2023

nilayvaish added reviewers for D144538: Checked that complexity of std::sort_heap is 2N log(N) comparisons: Mordante, ldionne.
Feb 21 2023, 11:47 PM · Unknown Object (Project), Restricted Project
nilayvaish published D144538: Checked that complexity of std::sort_heap is 2N log(N) comparisons for review.
Feb 21 2023, 11:46 PM · Unknown Object (Project), Restricted Project

Dec 22 2022

nilayvaish committed rG4eddbf9f10a6: std::sort: add BlockQuickSort partitioning algorithm for arithmetic types (authored by nilayvaish).
std::sort: add BlockQuickSort partitioning algorithm for arithmetic types
Dec 22 2022, 2:48 PM · Unknown Object (Project), Restricted Project
nilayvaish closed D122780: Modify std::sort: add BlockQuickSort partitioning algorithm for arithmetic types.
Dec 22 2022, 2:47 PM · Unknown Object (Project), Restricted Project
nilayvaish updated the diff for D122780: Modify std::sort: add BlockQuickSort partitioning algorithm for arithmetic types.

Rebase to HEAD

Dec 22 2022, 9:23 AM · Unknown Object (Project), Restricted Project

Dec 21 2022

nilayvaish updated the diff for D122780: Modify std::sort: add BlockQuickSort partitioning algorithm for arithmetic types.

Rebase to head

Dec 21 2022, 3:56 PM · Unknown Object (Project), Restricted Project
nilayvaish committed rG589421af1714: [NFC] test commit (authored by nilayvaish).
[NFC] test commit
Dec 21 2022, 3:16 PM

Dec 19 2022

nilayvaish added a comment to D122780: Modify std::sort: add BlockQuickSort partitioning algorithm for arithmetic types.

@ldionne : this diff is ready for submission. If you could do so, that would be great.

Dec 19 2022, 2:05 PM · Unknown Object (Project), Restricted Project
nilayvaish updated the diff for D122780: Modify std::sort: add BlockQuickSort partitioning algorithm for arithmetic types.

Rebase to HEAD

Dec 19 2022, 2:01 PM · Unknown Object (Project), Restricted Project

Dec 7 2022

nilayvaish updated the diff for D122780: Modify std::sort: add BlockQuickSort partitioning algorithm for arithmetic types.

Corrected errors pointed out by the CI

Dec 7 2022, 12:45 PM · Unknown Object (Project), Restricted Project
nilayvaish added a comment to D122780: Modify std::sort: add BlockQuickSort partitioning algorithm for arithmetic types.

I'm not able to apply the latest version of the patch, and it looks like CI isn't either. Which revision is this patch based on top of?

Your stack still has D122858 in it, which is making arc patch unhappy locally, but even taking the raw patch and using git apply is failing for me.

Dec 7 2022, 10:58 AM · Unknown Object (Project), Restricted Project
nilayvaish updated the diff for D122780: Modify std::sort: add BlockQuickSort partitioning algorithm for arithmetic types.

Properly update the diff

Dec 7 2022, 10:57 AM · Unknown Object (Project), Restricted Project
nilayvaish abandoned D139557: Changed more std::move calls to _Ops::__iter_move.
Dec 7 2022, 10:46 AM · Restricted Project, Unknown Object (Project)
nilayvaish requested review of D139557: Changed more std::move calls to _Ops::__iter_move.
Dec 7 2022, 10:46 AM · Restricted Project, Unknown Object (Project)
nilayvaish updated the diff for D122780: Modify std::sort: add BlockQuickSort partitioning algorithm for arithmetic types.

Changed more std::move to _Ops::__iter_move

Dec 7 2022, 8:08 AM · Unknown Object (Project), Restricted Project

Dec 6 2022

nilayvaish updated the diff for D122780: Modify std::sort: add BlockQuickSort partitioning algorithm for arithmetic types.

Changed to use _Ops::__iter_move instead of std::move.

Dec 6 2022, 2:06 PM · Unknown Object (Project), Restricted Project

Dec 5 2022

nilayvaish updated the diff for D122780: Modify std::sort: add BlockQuickSort partitioning algorithm for arithmetic types.

Rebase to the HEAD revision

Dec 5 2022, 11:37 AM · Unknown Object (Project), Restricted Project

Dec 1 2022

nilayvaish added a comment to D122780: Modify std::sort: add BlockQuickSort partitioning algorithm for arithmetic types.

I would next rebase this change and redo the internal testing I did previously. Would post the rebased diff soon.

Dec 1 2022, 7:10 AM · Unknown Object (Project), Restricted Project
nilayvaish updated subscribers of D122780: Modify std::sort: add BlockQuickSort partitioning algorithm for arithmetic types.

@ldionne : thanks for the accepting the change. We are trying to evaluate the effect of the change on Android APK's size. You might recall there were several comments about increased APK size in https://reviews.llvm.org/D113413 after it was submitted. I think it would be better if we are aware of the change in APK's size beforehand.

The evaluation is taking time, hopefully would get done soon.

Thanks for the update. We'll be eager to hear about the results if you are allowed to share them. Hopefully there is no prohibitive code size regression. If so, it may be worth investigating if externally instantiating some of these templates in the dylib could mitigate the regression. IIRC this optimization was only enabled for integer types, right?

Dec 1 2022, 7:09 AM · Unknown Object (Project), Restricted Project

Nov 28 2022

nilayvaish added a comment to D122780: Modify std::sort: add BlockQuickSort partitioning algorithm for arithmetic types.

@ldionne : thanks for the accepting the change. We are trying to evaluate the effect of the change on Android APK's size. You might recall there were several comments about increased APK size in https://reviews.llvm.org/D113413 after it was submitted. I think it would be better if we are aware of the change in APK's size beforehand.

Nov 28 2022, 1:53 PM · Unknown Object (Project), Restricted Project

Nov 11 2022

nilayvaish abandoned D93233: [libc++] Replaces std::sort by Bitset sorting algorithm..
Nov 11 2022, 4:37 PM · Restricted Project, Unknown Object (Project), Restricted Project

Oct 31 2022

nilayvaish added a comment to D122780: Modify std::sort: add BlockQuickSort partitioning algorithm for arithmetic types.

Pinging @ldionne. Can you comment on the data that would help you to make the decision? I am trying to convince folks at Google on trying out this diff. The main question being asked is what data you would like to see?

Oct 31 2022, 12:06 PM · Unknown Object (Project), Restricted Project

Oct 19 2022

nilayvaish added a comment to D122780: Modify std::sort: add BlockQuickSort partitioning algorithm for arithmetic types.

As it stands, we basically have to decide whether to optimize for randomly sorted data or to also take into account common patterns IIUC. That's not a super easy call to make, since we're talking about 40-50% improvements and 40-50% regressions in each case. I remember @Morwenn had mentioned pdqsort previously, and that seemed to be an algorithm that would handle both random data and also patterns properly. Would that solve the problems of this algorithm?

Oct 19 2022, 12:08 PM · Unknown Object (Project), Restricted Project

Oct 13 2022

nilayvaish added a comment to D122780: Modify std::sort: add BlockQuickSort partitioning algorithm for arithmetic types.

It seems like you rebased onto main with the branchless sort changes and also re-ran the benchmarks against that. Looking at the results, it looks like this basically improves the performance by a fairly significant margin for randomly distributed integers, but seems to also decrease the performance quite a bit for integers with some sort of structure (e.g. already sorted, descending or ascending). In particular, I assume the reduction of branch mispredictions is not a huge factor anymore since we introduced branchless sorting, or am I off here? The fact that it doesn't seem to provide improvements across the board definitely make it a trickier change to vet, since we'll have to decide whether we want to make this tradeoff.

As it stands, we basically have to decide whether to optimize for randomly sorted data or to also take into account common patterns IIUC. That's not a super easy call to make, since we're talking about 40-50% improvements and 40-50% regressions in each case. I remember @Morwenn had mentioned pdqsort previously, and that seemed to be an algorithm that would handle both random data and also patterns properly. Would that solve the problems of this algorithm?

Sorry if this isn't super helpful, but I literally don't know how to make this call. I'd very much welcome the perspective of other folks who have given a lot of thought to sorting algorithms.

FWIW, making a major change to std::sort isn't a problem, as long as we have sufficient tests to validate its correctness, and that we are confident about its performance.

Oct 13 2022, 1:40 AM · Unknown Object (Project), Restricted Project

Jul 15 2022

nilayvaish added a comment to D129716: [libc++][NFC] Use is_void instead of is_same<void, ...>.

Can you explain what the benefit of this change is? And why the different behaviour of std::same_as and std::is_void_v is not an issue. I'm not even sure we should call this an NFC patch.

In general it would be good to add this kind of information to the commit message/review description.

Jul 15 2022, 11:21 PM · Unknown Object (Project), Restricted Project

Jul 6 2022

nilayvaish added inline comments to D128929: [libc++] Implements 128-bit support in to_chars..
Jul 6 2022, 12:40 PM · Restricted Project, Unknown Object (Project)

Jul 5 2022

nilayvaish added inline comments to D128929: [libc++] Implements 128-bit support in to_chars..
Jul 5 2022, 10:55 PM · Restricted Project, Unknown Object (Project)

Jun 14 2022

nilayvaish added a comment to D122780: Modify std::sort: add BlockQuickSort partitioning algorithm for arithmetic types.

Pinging the reviewers!

Jun 14 2022, 9:49 AM · Unknown Object (Project), Restricted Project

May 25 2022

nilayvaish added a comment to D122780: Modify std::sort: add BlockQuickSort partitioning algorithm for arithmetic types.

Sorry it's taking so long. Louis doesn't have a lot of time currently and I think he should take a look first and say if we want to go this direction.

May 25 2022, 9:07 PM · Unknown Object (Project), Restricted Project
nilayvaish accepted D125958: [libc++] Use __libcpp_clz for a tighter __log2i function.
May 25 2022, 9:03 PM · Restricted Project, Unknown Object (Project)

May 23 2022

nilayvaish added a comment to D122780: Modify std::sort: add BlockQuickSort partitioning algorithm for arithmetic types.

Pinging the reviewers again!

May 23 2022, 2:44 PM · Unknown Object (Project), Restricted Project

May 21 2022

nilayvaish requested changes to D125958: [libc++] Use __libcpp_clz for a tighter __log2i function.

Can you take a look at the failed test?

May 21 2022, 12:31 PM · Restricted Project, Unknown Object (Project)

May 13 2022

nilayvaish added a comment to D122780: Modify std::sort: add BlockQuickSort partitioning algorithm for arithmetic types.

Pinging the reviewers!

May 13 2022, 1:12 PM · Unknown Object (Project), Restricted Project

May 5 2022

nilayvaish added a comment to D122780: Modify std::sort: add BlockQuickSort partitioning algorithm for arithmetic types.

Pinging the reviewers!

May 5 2022, 6:58 PM · Unknown Object (Project), Restricted Project

Apr 27 2022

nilayvaish updated the diff for D122780: Modify std::sort: add BlockQuickSort partitioning algorithm for arithmetic types.

Change block_size to enum.

Apr 27 2022, 7:03 PM · Unknown Object (Project), Restricted Project
nilayvaish updated the diff for D122780: Modify std::sort: add BlockQuickSort partitioning algorithm for arithmetic types.

Drop inline for __block_size

Apr 27 2022, 5:40 PM · Unknown Object (Project), Restricted Project
nilayvaish updated the diff for D122780: Modify std::sort: add BlockQuickSort partitioning algorithm for arithmetic types.

Move block_size to detail namespace
Include bits for libcpp_* functions.

Apr 27 2022, 3:09 PM · Unknown Object (Project), Restricted Project
nilayvaish updated the diff for D122780: Modify std::sort: add BlockQuickSort partitioning algorithm for arithmetic types.

Previous diff failed to apply. So uploading a new one.

Apr 27 2022, 2:12 PM · Unknown Object (Project), Restricted Project
nilayvaish added inline comments to D122780: Modify std::sort: add BlockQuickSort partitioning algorithm for arithmetic types.
Apr 27 2022, 2:09 PM · Unknown Object (Project), Restricted Project
nilayvaish updated the diff for D122780: Modify std::sort: add BlockQuickSort partitioning algorithm for arithmetic types.

Changes to address reviewer comments.

Apr 27 2022, 2:08 PM · Unknown Object (Project), Restricted Project

Apr 22 2022

nilayvaish added a comment to D122780: Modify std::sort: add BlockQuickSort partitioning algorithm for arithmetic types.

Ping!

Apr 22 2022, 10:46 AM · Unknown Object (Project), Restricted Project

Apr 11 2022

nilayvaish added a comment to D122780: Modify std::sort: add BlockQuickSort partitioning algorithm for arithmetic types.

Updated performance numbers:

Apr 11 2022, 5:12 PM · Unknown Object (Project), Restricted Project

Apr 8 2022

nilayvaish updated the diff for D122780: Modify std::sort: add BlockQuickSort partitioning algorithm for arithmetic types.

Rebase

Apr 8 2022, 2:25 PM · Unknown Object (Project), Restricted Project
nilayvaish added a comment to D122858: [libcxx][NFC] Format sort.h.

I'm fine with this -- the main reason is that we will be touching most lines of this file in the near future with the other sort-related patches. But let's not take this as a precedent to start running clang-format on a file before every patch.

Apr 8 2022, 1:39 PM · Unknown Object (Project), Restricted Project
nilayvaish updated the diff for D122858: [libcxx][NFC] Format sort.h.

Address review comments.

Apr 8 2022, 11:33 AM · Unknown Object (Project), Restricted Project
nilayvaish updated the diff for D122858: [libcxx][NFC] Format sort.h.

Rebased since the small sort diff got submitted.

Apr 8 2022, 7:31 AM · Unknown Object (Project), Restricted Project

Apr 5 2022

nilayvaish accepted D123129: [libc++] Add tests for std::string default constructor and destructor.

Minor comments, otherwise looks good to me.

Apr 5 2022, 10:41 AM · Restricted Project, Unknown Object (Project)
nilayvaish added a comment to D122858: [libcxx][NFC] Format sort.h.

Folks, this is a formatting only change to enable further changes. Please take a look.

Apr 5 2022, 8:04 AM · Unknown Object (Project), Restricted Project

Apr 1 2022

nilayvaish added a comment to D122780: Modify std::sort: add BlockQuickSort partitioning algorithm for arithmetic types.

Could you do the formatting changes in its own patch?

Apr 1 2022, 5:09 PM · Unknown Object (Project), Restricted Project
nilayvaish updated the diff for D122780: Modify std::sort: add BlockQuickSort partitioning algorithm for arithmetic types.

Fix a badly resolved merge.

Apr 1 2022, 4:41 PM · Unknown Object (Project), Restricted Project
nilayvaish updated the diff for D122780: Modify std::sort: add BlockQuickSort partitioning algorithm for arithmetic types.

Rebase

Apr 1 2022, 4:33 PM · Unknown Object (Project), Restricted Project
nilayvaish updated the diff for D122858: [libcxx][NFC] Format sort.h.

Rebase

Apr 1 2022, 4:22 PM · Unknown Object (Project), Restricted Project

Mar 31 2022

nilayvaish added reviewers for D122858: [libcxx][NFC] Format sort.h: ldionne, philnik.
Mar 31 2022, 7:19 PM · Unknown Object (Project), Restricted Project
nilayvaish published D122858: [libcxx][NFC] Format sort.h for review.
Mar 31 2022, 7:18 PM · Unknown Object (Project), Restricted Project
nilayvaish retitled D122780: Modify std::sort: add BlockQuickSort partitioning algorithm for arithmetic types from Replaces std::sort by Bitset sorting algorithm to Modify std::sort: add BlockQuickSort partitioning algorithm for arithmetic types.
Mar 31 2022, 11:05 AM · Unknown Object (Project), Restricted Project
nilayvaish added a reviewer for D122780: Modify std::sort: add BlockQuickSort partitioning algorithm for arithmetic types: ldionne.

This diff is based on https://reviews.llvm.org/D93233. We have other changes there (updates to fixed length sorting functions, bitonic sort) that we might consider later.

Mar 31 2022, 10:47 AM · Unknown Object (Project), Restricted Project
nilayvaish published D122780: Modify std::sort: add BlockQuickSort partitioning algorithm for arithmetic types for review.
Mar 31 2022, 10:45 AM · Unknown Object (Project), Restricted Project

Dec 13 2021

nilayvaish accepted D115599: [libc++][NFC] Mark std::string functions as constexpr.
Dec 13 2021, 6:07 PM · Restricted Project, Unknown Object (Project)
nilayvaish accepted D115687: [libc++] Make __compressed_pair fully constexpr.
Dec 13 2021, 5:58 PM · Unknown Object (Project)

Dec 12 2021

nilayvaish accepted D115598: [libc++][NFC] Remove goto from std::string.
Dec 12 2021, 2:18 PM · Unknown Object (Project)
nilayvaish requested changes to D115598: [libc++][NFC] Remove goto from std::string.
Dec 12 2021, 12:11 PM · Unknown Object (Project)
nilayvaish accepted D115598: [libc++][NFC] Remove goto from std::string.
Dec 12 2021, 12:04 PM · Unknown Object (Project)
nilayvaish added inline comments to D115598: [libc++][NFC] Remove goto from std::string.
Dec 12 2021, 11:01 AM · Unknown Object (Project)

Dec 3 2021

nilayvaish added a comment to D115018: Remove duplicate comment.

Louis, can you commit this for me?

Dec 3 2021, 8:12 AM · Unknown Object (Project)
nilayvaish accepted D108326: [SystemZ][z/OS] Fix handling of dirs with filesystem tests.

Looks fine to me.

Dec 3 2021, 8:02 AM · Unknown Object (Project)

Dec 2 2021

nilayvaish added a reviewer for D115018: Remove duplicate comment: ldionne.
Dec 2 2021, 6:30 PM · Unknown Object (Project)
nilayvaish published D115018: Remove duplicate comment for review.
Dec 2 2021, 6:30 PM · Unknown Object (Project)

Nov 19 2021

nilayvaish accepted D114282: [libc++] Remove uses of printf in some test support headers.
Nov 19 2021, 2:35 PM · Unknown Object (Project)

Nov 18 2021

nilayvaish accepted D114136: [libc++] Test that our algorithms never copy a user-provided comparator..
Nov 18 2021, 8:38 AM · Unknown Object (Project)
nilayvaish added inline comments to D114136: [libc++] Test that our algorithms never copy a user-provided comparator..
Nov 18 2021, 8:29 AM · Unknown Object (Project)

Nov 17 2021

nilayvaish added a comment to D114133: [libc++] Minor fixups in the new introsort code..

So I was writiing https://reviews.llvm.org/D114135 in parallel. I have added a test which fails with out the change. I am wondering if we should add it. Error message from the failed test below:

Nov 17 2021, 8:13 PM · Unknown Object (Project)
nilayvaish accepted D114133: [libc++] Minor fixups in the new introsort code..

Can you explain when do we need to use _Comp_ref? Why is adding _Compare sufficient?

Nov 17 2021, 8:06 PM · Unknown Object (Project)
nilayvaish added inline comments to D113413: Add introsort to avoid O(n^2) behavior and a benchmark for adversarial quick sort input..
Nov 17 2021, 7:54 PM · Restricted Project, Unknown Object (Project)
nilayvaish accepted D114109: [libc++] Enable <atomic> when threads are disabled.
Nov 17 2021, 12:24 PM · Unknown Object (Project)

Nov 16 2021

nilayvaish added a comment to D113413: Add introsort to avoid O(n^2) behavior and a benchmark for adversarial quick sort input..

Do you need someone to commit this for you? If so, please provide Author Name <email@domain> for attribution. Thanks!

Nov 16 2021, 8:23 AM · Restricted Project, Unknown Object (Project)

Nov 15 2021

nilayvaish added a comment to D113413: Add introsort to avoid O(n^2) behavior and a benchmark for adversarial quick sort input..

Pinging @ldionne.

Nov 15 2021, 11:52 AM · Restricted Project, Unknown Object (Project)
nilayvaish added a reviewer for D113910: Remove not needed call to __is_long(): ldionne.
Nov 15 2021, 10:01 AM · Unknown Object (Project)
nilayvaish published D113910: Remove not needed call to __is_long() for review.
Nov 15 2021, 10:00 AM · Unknown Object (Project)

Nov 9 2021

nilayvaish added a comment to D93233: [libc++] Replaces std::sort by Bitset sorting algorithm..

Hi ldionne@, I have question for you. Do the tests we have for libc++ ensure that the new implementation works well across all versions of the C++ standard? I want to make sure that I am not going to unintentionally break someone's standard-compliant code out there.

They should, however you're welcome to look at them - our tests are sometimes not up to our quality standards, so you should make sure they will catch all issues you can think about.

We do run those tests in C++03, C++11, C++14, C++17, C++20 and C++23 modes, if that was the sole intent of your question.

Nov 9 2021, 8:34 AM · Restricted Project, Unknown Object (Project), Restricted Project
nilayvaish added inline comments to D113413: Add introsort to avoid O(n^2) behavior and a benchmark for adversarial quick sort input..
Nov 9 2021, 8:20 AM · Restricted Project, Unknown Object (Project)
nilayvaish updated the summary of D113413: Add introsort to avoid O(n^2) behavior and a benchmark for adversarial quick sort input..
Nov 9 2021, 8:17 AM · Restricted Project, Unknown Object (Project)
nilayvaish updated the diff for D113413: Add introsort to avoid O(n^2) behavior and a benchmark for adversarial quick sort input..

Move the depth check after the initial switch so that small sized sorts are not affected by the depth check.

Nov 9 2021, 8:15 AM · Restricted Project, Unknown Object (Project)
nilayvaish updated the diff for D113413: Add introsort to avoid O(n^2) behavior and a benchmark for adversarial quick sort input..

Another attempt at uploading changes without formatting diff.

Nov 9 2021, 7:50 AM · Restricted Project, Unknown Object (Project)
nilayvaish updated the diff for D113413: Add introsort to avoid O(n^2) behavior and a benchmark for adversarial quick sort input..

Remove formatting diffs from the diff. It seems Phabricator is unable to show the diffs between different commits.

Nov 9 2021, 7:49 AM · Restricted Project, Unknown Object (Project)
nilayvaish updated the diff for D113413: Add introsort to avoid O(n^2) behavior and a benchmark for adversarial quick sort input..

Moved the diffs due to formatting by arc to a separate commit.

Nov 9 2021, 7:44 AM · Restricted Project, Restricted Project

Nov 8 2021

nilayvaish added inline comments to D93233: [libc++] Replaces std::sort by Bitset sorting algorithm..
Nov 8 2021, 4:04 PM · Restricted Project, Restricted Project, Restricted Project
nilayvaish added a comment to D93233: [libc++] Replaces std::sort by Bitset sorting algorithm..

ldionne@, I am going to break this change into few parts and provide the benchmark results for each of the part separately. To begin with, I have posted: https://reviews.llvm.org/D113413 that makes the introsort change to the std::sort implementation.

Nov 8 2021, 4:02 PM · Restricted Project, Restricted Project, Restricted Project
nilayvaish added a reviewer for D113413: Add introsort to avoid O(n^2) behavior and a benchmark for adversarial quick sort input.: ldionne.
Nov 8 2021, 3:42 PM · Restricted Project, Restricted Project