Page MenuHomePhabricator

nilayvaish (Nilay Vaish)
User

Projects

User does not belong to any projects.

User Details

User Since
Aug 15 2020, 3:07 PM (92 w, 2 d)

Recent Activity

Today

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

Pinging the reviewers again!

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

Sat, May 21

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

Can you take a look at the failed test?

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

Fri, May 13

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

Pinging the reviewers!

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

Thu, May 5

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

Pinging the reviewers!

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

Wed, Apr 27

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

Change block_size to enum.

Wed, Apr 27, 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

Wed, Apr 27, 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.

Wed, Apr 27, 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.

Wed, Apr 27, 2:12 PM · Unknown Object (Project), Restricted Project
nilayvaish added inline comments to D122780: Modify std::sort: add BlockQuickSort partitioning algorithm for arithmetic types.
Wed, Apr 27, 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.

Wed, Apr 27, 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 · 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, Unknown Object (Project)

Nov 8 2021

nilayvaish added inline comments to D93233: [libc++] Replaces std::sort by Bitset sorting algorithm..
Nov 8 2021, 4:04 PM · Unknown Object (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 · Unknown Object (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, Unknown Object (Project)
nilayvaish published D113413: Add introsort to avoid O(n^2) behavior and a benchmark for adversarial quick sort input. for review.
Nov 8 2021, 3:42 PM · Restricted Project, Unknown Object (Project)

Nov 3 2021

nilayvaish updated the diff for D93233: [libc++] Replaces std::sort by Bitset sorting algorithm..

Fixed some compilation issues and reduced the number of changes in ordering of equivalent elements

Nov 3 2021, 11:50 AM · Unknown Object (Project), Restricted Project

Nov 1 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.

Nov 1 2021, 4:59 PM · Unknown Object (Project), Restricted Project

Oct 13 2021

nilayvaish added inline comments to D93233: [libc++] Replaces std::sort by Bitset sorting algorithm..
Oct 13 2021, 11:34 AM · Unknown Object (Project), Restricted Project

Oct 12 2021

nilayvaish updated the diff for D93233: [libc++] Replaces std::sort by Bitset sorting algorithm..

It seems that we can use _LIBCPP_HIDE_FROM_ABI with __bitsetsort_loop. Causes the compiler to report errors like the following:

Oct 12 2021, 6:49 PM · Unknown Object (Project), Restricted Project
nilayvaish updated the diff for D93233: [libc++] Replaces std::sort by Bitset sorting algorithm..
Oct 12 2021, 5:29 PM · Unknown Object (Project), Restricted Project
nilayvaish commandeered D93233: [libc++] Replaces std::sort by Bitset sorting algorithm..
Oct 12 2021, 5:24 PM · Unknown Object (Project), Restricted Project

Oct 7 2021

nilayvaish added a comment to D93233: [libc++] Replaces std::sort by Bitset sorting algorithm..
  • Rebase onto main
  • Keep the old std::sort implementation around for ABI compatibility
  • Do not explicitly instantiate bitset sort in the library -- that ties our hands too much

Still left to do:

  • Some tests are failing, they need to be investigated
  • Do basic code size testing since we're not instantiating the sorts in the dylib anymore -- does it cause the size of user programs to blow up badly?
  • Make sure I applied the diff correctly - I had to do it manually but the diff was generated weirdly, so I'm not sure the diff I applied is correct.
  • We need to decide on the visibility of implementation detail functions. We probably want to sprinkle _LIBCPP_HIDE_FROM_ABI all around.

Ideally @minjaehwang if you could commandeer this again and make those fixes, that would be awesome. From here on, it should be fairly straightforward to make changes until we can ship this, since I should have handled most of the annoying libc++ specific things.

Oct 7 2021, 6:17 AM · Unknown Object (Project), Restricted Project

Sep 9 2021

nilayvaish added a comment to D109470: Add "profiling" to the list of absl libraries..

ymandel@, I do not have commit access to the repo. Can you commit this for me? Thanks!

Sep 9 2021, 11:18 AM · Restricted Project
nilayvaish added a comment to D109470: Add "profiling" to the list of absl libraries..

Any idea if there's a test for this matcher that should be updated?

Sep 9 2021, 10:24 AM · Restricted Project

Sep 8 2021

nilayvaish added a reviewer for D109470: Add "profiling" to the list of absl libraries.: ymandel.
Sep 8 2021, 3:37 PM · Restricted Project
nilayvaish requested review of D109470: Add "profiling" to the list of absl libraries..
Sep 8 2021, 3:32 PM · Restricted Project